Excelが遅い原因は2種類ある——設定の問題か、データ量の限界か

Excelが遅い。セルを1つ移動するだけで2秒待たされる。フィルタをかけると砂時計が回り続ける。「応答なし」が出て、保存前のデータが飛ぶ——。

この問題、実は原因が大きく2つに分かれます。Excelの設定やファイル構造に起因する「直せる遅さ」と、扱うデータ量がExcelの処理能力を超えている「構造的な遅さ」です。

多くの解説記事はこの2つをごちゃ混ぜにしています。だから「全部試したのに直らない」という事態が起きるわけです。まずは自分の「遅い」がどちらなのかを見極めることが、最短の解決ルートになります。

まず試す:設定レベルの高速化

個別の設定変更に入る前に、1つだけ診断ステップを挟みましょう。

セーフモードで原因を切り分ける

Excelが遅いと感じたら、最初にセーフモードで起動して原因の大枠を特定してください。

セーフモードではアドインやカスタム設定が一切読み込まれません。そのため、セーフモードでも遅ければ、ソフト側の問題ではなくファイルやデータ量が原因と判断できます。

起動方法は、Windowsの「ファイル名を指定して実行」(Win + R)で excel /safe と入力するか、Ctrl キーを押しながらExcelアイコンをクリックします。タイトルバーに「セーフモード」と表示されたら成功です。

セーフモードで快適に動くなら、次のアドイン無効化のステップに進んでください。セーフモードでも遅いなら、アドインは無関係なので「ファイル側の原因を潰す」セクションまで飛んで構いません。

ハードウェアグラフィックアクセラレータを切る

空白のブックでもセル移動やスクロールが遅い場合、GPUの描画設定を疑ってください。

Excelは描画処理をGPUに任せる設定がデフォルトで有効になっています。ところが、搭載GPUとの相性が悪いと、画面描画のたびに遅延が発生します。この問題はファイルの中身とは無関係なので、どのブックを開いても一律に遅くなるのが特徴です。

「ファイル → オプション → 詳細設定 → 表示」の中にある「ハードウェアグラフィックアクセラレータを無効にする」にチェックを入れ、Excelを再起動します。

この設定変更で改善するかどうかで、遅さがGPU由来かそれ以外かを判断できます。改善しなければチェックを戻して次のステップに進んでください。

不要なアドイン(特にCOM)を無効化する

Excelの起動が遅い場合、バックグラウンドで読み込まれるアドインを疑ってください。

アドインはExcel起動時に毎回読み込まれ、メモリを占有し続けます。特にCOMアドインはExcel本体と同じプロセスで動作するため、1つでも問題を抱えていると全体のパフォーマンスが低下します。

「ファイル → オプション → アドイン」を開き、下部の「管理」から「COMアドイン」を選択して「設定」をクリックします。一覧に表示されたアドインのうち、何のために入れたか説明できないものはチェックを外します。

どのアドインが犯人かわからない場合は、一度すべてのチェックを外して再起動し、1つずつ戻しながら遅くなるタイミングを特定するのが確実です。

自動計算を手動に切り替える

セルに値を入力するたびにフリーズする場合、自動計算をオフにすると即効性があります。

Excelは初期設定で「自動計算」になっており、セルを1つ編集するたびにブック内の全数式が再計算されます。数式が数千個あるブックでは、文字を1文字入力するだけで再計算が連鎖し、数秒のラグが発生します。

「数式 → 計算方法の設定 → 手動」に切り替えれば、再計算は F9 キーを押したときだけ実行されるようになります。

手動計算に切り替えた場合、最終的な数値を確認する前に必ず F9 で再計算を実行してください。関係者がいるなら、切り替えた旨を共有しておくと事故を防げます。

自動保存の間隔を見直す

数分おきに一瞬フリーズする場合、自動保存の間隔が原因の可能性があります。

Microsoft 365のExcelでは、自動保存が短い間隔で走る設定になっていることがあります。保存処理はファイルサイズに比例して時間がかかるため、大きなブックほど「定期的に止まる」症状が顕著になります。

「ファイル → オプション → 保存」から自動回復用データの保存間隔を30分程度に延ばすか、一時的にオフにします。同じ画面の最下部にある「キャッシュファイルの削除」も、蓄積した一時データを消去するのに使えます。

自動保存をオフにする場合は、作業のキリが良いタイミングで手動保存(Ctrl + S)する習慣をつけてください。保存間隔を広げるだけでも体感速度は変わります。

デフォルトプリンターを確認する

Excelだけが突然遅くなり、他のOfficeアプリは正常な場合、プリンタードライバーを確認してください。

Excelはファイルを開くときにデフォルトプリンターの情報を読みに行く設計になっています。ネットワークプリンターが応答しない環境や、ドライバーが古い状態だと、起動やページ表示が極端に遅くなります。特に「改ページプレビュー」で保存されたファイルは影響を受けやすいです。

Windowsの「設定 → Bluetoothとデバイス → プリンターとスキャナー」から、デフォルトプリンターを「Microsoft Print to PDF」など軽量なローカルプリンターに切り替えてみます。

切り替えて改善した場合、元のネットワークプリンターのドライバーを最新版に更新してから戻すと根本解決できることがあります。

ファイル側の原因を潰す

設定を変えても改善しない場合、ファイル自体に原因が潜んでいる可能性が高いです。長期間使い続けたブックには、目に見えないゴミが蓄積されています。

見えないオブジェクト・ゴースト行を削除する

特定のブックだけが遅い場合、まず不可視のオブジェクトとゴースト行を疑ってください。

コピー&ペーストを繰り返すうちに、透明な図形やテキストボックスが大量に複製されることがあります。また、データがないはずのセル範囲をExcelが「使用中」と誤認する「ゴースト行」も、描画とファイルサイズの両面で負荷をかけます。

オブジェクトは「ホーム → 検索と選択 → オブジェクトの選択と表示」で一覧を表示し、不要なものを削除します。ゴースト行は Ctrl + End でデータ末尾を確認し、実データより遠くにカーソルが飛んだら、そこまでの空白行・列を選択して削除し、保存します。

この2つの掃除だけでファイルサイズが半分以下になることもあります。定期的に(たとえば月末の締め処理のタイミングで)チェックする習慣を入れると、ブックの肥大化を防げます。

条件付き書式が列全体に適用されていないか

条件付き書式の適用範囲を確認してください。列全体に適用されていると、それだけで重くなります。

A:A のように列全体に条件付き書式を設定すると、Excelはデータがない100万行以上のセルまで毎回評価します。条件付き書式は見た目のフィードバックに便利ですが、範囲が広いほど再描画コストが跳ね上がります。

「ホーム → 条件付き書式 → ルールの管理」から「このワークシート」を選びます。適用範囲が A:A1:1048576 のように異常に広いルールがあれば、そのルールが犯人です。

データがある範囲(たとえば A2:A5000)に絞るか、データをExcelテーブルに変換すれば、行が増減しても書式が自動追従します。テーブル化は条件付き書式以外にもメリットが多いので、まだ使っていなければこの機会に試してみてください。

揮発性関数(OFFSET, TODAY, NOW)を置き換える

OFFSETTODAYNOWINDIRECTRAND を多用しているブックは、これらの関数を減らすだけで速くなります。

これらは「揮発性関数」と呼ばれ、無関係なセルを編集しても毎回再計算されます。通常の関数は参照元が変わったときだけ再計算されますが、揮発性関数は常に全セル分の計算が走るため、数千行に展開されていると致命的な遅延を生みます。

OFFSETINDEX で、INDIRECT は直接参照で代替できるケースがほとんどです。TODAY は値を手入力するか、VBAで起動時に1回だけ取得する方法もあります。

まず Ctrl + FOFFSETINDIRECT をブック内検索し、該当箇所の数を把握するところから始めてください。数が少なければ手動で置き換え、数百箇所あるようなら自動計算を手動に切り替えたうえで段階的に対応するのが現実的です。

計算済みの数式を値に変換する

再計算の必要がないセルに数式が残っているなら、値に変換してください。計算負荷がそのぶん減ります。

Excelは自動計算のたびに、結果が変わらない数式も含めてすべてを再評価します。過去月のレポートや確定済みの集計結果は、もう計算し直す理由がありません。それでも数式のまま残っていると、毎回の再計算コストに上乗せされ続けます。

該当するセルを選択し、コピー → 「値として貼り付け」(Ctrl + Shift + V → 値)で数式を消去します。見た目は変わりませんが、数式バーに表示されるのが計算式から静的な値に変わります。

「過去のデータは値、最新のデータだけ数式」というルールを運用に組み込んでみてください。月次で過去シートを値変換するだけでも、ブック全体の再計算量が月を追うごとに軽くなっていきます。

不要なマクロ・VBAコードを削除する

使っていないマクロやVBAモジュールがブックに残っている場合、削除するとファイルが軽くなります。

マクロやVBAコードは、実行しなくてもファイルを開くたびに読み込まれ、パースされます。空のモジュールや使われていないUserFormであっても、ファイルサイズの肥大化と起動時の読み込み時間に影響します。

「表示 → マクロ → マクロの表示」で一覧を確認し、不要なものを削除します。VBAエディタ(Alt + F11)を開くと、空のモジュールや使われていないUserFormも確認できます。

マクロが必要かどうか判断がつかない場合は、ブックのコピーを作成してからマクロを削除し、業務に支障がないか1週間ほど様子を見るのが安全です。

ファイル内の画像を圧縮する

画像を多く含むブックは、画像圧縮だけでファイルサイズが劇的に減り、動作が改善します。

商品写真やスクリーンショットを貼り付けると、元の解像度のままExcel内に保存されます。印刷用の高解像度画像が何枚もあると、画像だけでファイルサイズが数十MBに達することがあります。Excel上で縮小表示していても、内部データは元サイズのままです。

任意の画像を選択 →「図の形式」タブ →「図の圧縮」で、解像度を「電子メール用(96 ppi)」や「Web(150 ppi)」に設定します。「この画像だけに適用する」のチェックを外せば、ブック内の全画像が一括圧縮されます。

今後画像を貼り付ける際は、事前にペイントやスクリーンショットツールで解像度を落としてから挿入すると、ファイルの肥大化を予防できます。

外部リンク・外部参照を整理する

ファイルを開くだけで数分かかる場合、外部リンクの整理が最も効果的なケースがあります。

他のブックやネットワーク上のファイルを参照する数式があると、Excelは起動時に参照先の状態を確認しに行きます。参照先が移動・削除されていたり、VPN経由でアクセスが遅い環境だったりすると、応答待ちだけで数分消費されます。

「データ → リンクの編集」から現在のリンク一覧を表示し、不要なリンクは「リンクの解除」で値に変換します。

リンクが必要なブックについては、参照先のファイルを先に開いてから本体ブックを開くようにすると、応答待ちを回避できます。また、参照先のファイルパスが変わっていないか定期的に確認してください。

xls形式ならxlsxに変換する

.xls 形式のファイルを使い続けている場合、.xlsx に変換するだけで速くなります。

.xls はExcel 2003以前の形式で、最新版Excelでは互換モードで動作します。互換モードでは最新の最適化が適用されないため、計算も表示も本来の性能が出ません。

「ファイル → 名前を付けて保存」でファイルの種類を .xlsx(マクロがあれば .xlsm)に変更して保存します。

組織内に .xls 形式のファイルが多数残っている場合は、部署単位でまとめて変換する機会を設けてください。変換作業自体は数秒で完了しますし、ファイルサイズも大幅に小さくなります。

xlsb(バイナリ形式)で保存する

大容量のブックを扱っているなら、保存形式を .xlsb に変えるだけで読み書きが高速化します。

.xlsb(バイナリブック)は、通常の .xlsx(XML形式)よりも内部構造がコンパクトで、ファイルサイズが小さくなります。読み込み・書き出しともに速くなるため、数万行以上のデータを含むブックでは効果が顕著です。マクロも保持できます。

「ファイル → 名前を付けて保存」でファイルの種類を「Excelバイナリブック (*.xlsb)」に変更します。

社外に共有するファイルは互換性の観点から .xlsx のままにし、社内で繰り返し開く大容量ブックだけ .xlsb にするという使い分けが現実的です。

それでも遅いなら——Excelの構造的限界

ここまでの対策をすべて試して改善しない場合、ファイルの設定ではなくデータ量そのものが原因です。これはExcelの「仕様」であり、設定変更では解決しません。

100万行の壁と再計算の仕組み

Excelのワークシートには1,048,576行の上限があり、実用的な快適ラインはそれよりもずっと低いところにあります。

「100万行まで使える」と「100万行を快適に操作できる」はまったく別の話です。Excelはセルを1つ変更するたびにすべての数式を再評価する設計になっています。この仕組みは小〜中規模のデータには最適ですが、大量データの集計処理には向いていません。

実務上、数万行を超えたあたりからフィルタ・ソート・ピボットテーブルの応答速度は目に見えて落ちます。VLOOKUPで数十万行のテーブルを参照する数式が数千個あれば、再計算だけで数分止まるのは珍しくありません。

日常的に5万行以上のデータを扱っているなら、このあと紹介するPower Queryや外部ツールへの移行を具体的に検討してください。

32-bit版Excelのメモリ制約

大容量ファイルを複数開くと頻繁にフリーズする場合、使用しているExcelが32-bit版でないか確認してください。

32-bit版Excelは使用できるメモリが最大4GBに制限されており、このメモリはExcel本体・アドイン・開いているブックで共有されます。大容量ファイルを複数開くだけでこの上限に達し、処理速度が急激に低下します。

確認方法は「ファイル → アカウント → Excelのバージョン情報」です。表示されたダイアログに「32ビット」「64ビット」のいずれかが記載されています。

32-bit版を使っていて大容量データに苦しんでいるなら、64-bit版への切り替えを検討してください。Microsoft 365であれば、Officeを一度アンインストールして64-bit版で再インストールするだけで切り替え可能です。

「データが大きすぎる」問題にExcelの設定変更は効かない

ここまでのすべての対策を実施しても遅い場合、それはExcelの限界です。設定変更ではなく、ツールの変更が必要です。

設定変更で消せるのは「無駄な負荷」であり、データ量に由来する「必要な計算コスト」は残ります。10万行のCSVをVLOOKUPで突き合わせる処理は、アドインを全部外しても、条件付き書式を消しても、参照先テーブルのサイズ自体は変わりません。

手動計算にして揮発性関数を消して画像を圧縮して——それでも30秒以上待たされるなら、それが「このデータ量でExcelに求められる最善のパフォーマンス」です。

次のセクションで紹介するPower Queryやブラウザベースツールへの移行を検討してください。「Excelを使い続けること」自体がボトルネックになっている可能性があります。

Officeの修復インストール

設定変更でもファイル修正でも直らず、セーフモードでも改善しない場合、Excel自体の修復インストールを試してください。

Officeのプログラムファイルが破損していると、設定やファイルに問題がなくても全体的な動作が低下します。Windows Updateやクラッシュの影響で、ユーザーが気づかないうちにファイルが壊れていることがあります。

「コントロールパネル → プログラムと機能」からMicrosoft Officeを選び、「変更」→「オンライン修復」を実行します。これはプログラムファイルを再ダウンロードして再構成する操作で、ユーザーの設定やファイルには影響しません。修復には30分〜1時間ほどかかります。

修復インストールは「最後の手段」として覚えておいてください。ここまでのすべてのステップで改善しなかった原因不明の遅延が、これで解消されるケースがあります。

大容量データを快適に扱う選択肢

Excelが構造的に苦手な大容量データを処理する方法はいくつかあります。プログラミング不要のものから順に紹介します。

Power Queryで読み込みを制御する

Excel内で大量データを扱うなら、まずPower Queryへの移行を検討してください。

Power QueryはExcel自体に搭載されている機能で、CSVの全行をワークシートに読み込まずにフィルタや集計ができます。必要な列・行だけに絞り込んでからワークシートに出力するため、Excelに渡るデータ量自体を大幅に減らせます。

「データ → データの取得 → テキストまたはCSVから」でファイルを指定し、「データの変換」を選ぶとPower Queryエディタが開きます。ここで列の削除、行のフィルタ、型変換、集計などを行い、結果だけをワークシートに「読み込み」します。

Power Queryの操作はExcelの通常操作とはインターフェースが異なるため、慣れるまで時間がかかります。まずは「CSVを開いて不要な列を削除する」だけの簡単な操作から試してみてください。

ブラウザ完結型ツールという選択肢

Power Queryが複雑に感じる場合、ブラウザ上でCSVを直接操作できるツールも選択肢に入ります。

Gigasheet、Datablist、Row Zeroなど、Excelの行数制限を超えるデータを扱えるブラウザベースのサービスが増えています。スプレッドシートに近い操作感で、フィルタや集計がそのまま使えるものが多いです。

たとえばGigasheetでは、数百万行のCSVをアップロードしてフィルタ・グループ化・ピボット集計が可能です。ExcelやGoogle Sheetsの行数制限を気にする必要がありません。

ただし、多くのサービスはデータをサーバーにアップロードする仕組みです。社内の売上データや顧客情報など機密性の高いファイルを扱う場合は、次に紹介するローカル処理型のツールを検討してみてください。

LeapRows(※筆者開発ツール)でCSVをローカル処理する

機密データを扱う環境で大容量CSVを快適に処理したいなら、データがブラウザの外に出ないローカル処理型のツールが適しています。

LeapRows(※筆者開発ツール)は、ブラウザ上でCSVファイルを開き、フィルタ・ソート・ピボット・変換といった操作ができます。DuckDB-WASMという技術を使い、すべての処理がユーザーのPC上で実行されるため、データがサーバーに送信されません。

Excelでは数分かかるピボット集計が数秒で完了するケースもあります。プログラミングは不要で、Excelのフィルタ操作に近い感覚で使えます。

Excelの速度に限界を感じているが、社外サーバーへのデータアップロードが許可されていない——そんな環境にいる方は、一度試してみてください。

状況別チェックリスト:あなたの「遅い」はどっち?

最後に、自分の状況がどちらに該当するかを判別するためのチェックリストを載せておきます。

あなたの「遅い」の原因を特定するチェック表

症状原因対処
セーフモードなら快適に動くアドイン、設定ファイルこのページ前半の対処法で改善可能
空白のブックでもセル移動が遅いハードウェアグラフィックアクセラレータGPUアクセラレーション無効化
Excel起動自体が遅いアドイン、自動回復ファイルアドイン無効化、キャッシュ削除
特定のブックだけ遅い不可視オブジェクト、ゴースト行ファイル内の不要物削除
値を入力するたびにフリーズ揮発性関数、自動計算関数置き換え、手動計算に切り替え
ファイルを開くのに数分外部リンク、xls形式リンク削除、xlsx形式に変換
データが5万行を超えているデータ量が限界超過Power QueryまたはExcel以外のツール
VLOOKUPやSUMIFSが数万行参照演算コストが過大クエリ最適化またはツール変更
ピボット更新に30秒以上メモリ・計算量不足Excel以外の手段を検討
複数の大容量ブックを同時開放メモリ枯渇(32-bit版特に)64-bit版への切り替え推奨
CSVインポート自体が失敗Excelの処理能力超過ブラウザツールまたはSQL

設定やファイル修正で改善しない場合は、データ量がExcelの構造的限界に達しているサインです。 前者なら設定変更で劇的に改善します。後者なら、Power Queryかブラウザベースのツールに処理を移すことで、作業時間を大幅に短縮できます。