Mihata
仕事効率化(DX)2026.09.08

エクセルの動作が遅い原因と対処法|重い3大要因の特定手順

管理表や請求台帳のExcelファイルを開くのに数十秒、セルを1つ打つたびに固まる——そんな状態になっていませんか。先に結論をお伝えすると、原因の切り分けは「ファイルサイズ」「使用範囲(Ctrl+End)」「再計算」の3点を先に見るのが最短です。Excelのワークシートは1枚あたり1,048,576行×16,384列あり(Microsoft「Excel の仕様と制限」)、「A:A」のような全列参照を1本書くだけで100万セル超を計算対象に含めてしまうため、データ量の割に極端に遅くなるのです。この記事では、自分のブックで今すぐ実行できる特定手順から、原因別の対処、そして軽量化では直らないケースの見極め方までを順に整理します。

なお本記事はローカルのExcelブック(.xlsx / .xlsm)が重いケースを扱います。ブラウザで開くクラウド側が遅い場合は原因が別物なので、Googleスプレッドシートが重い・開かない原因と軽くする対処法を先にご覧ください。

まずやること:原因を特定する3つの操作

対処法を片っ端から試すのは時間の無駄になりがちです。Excelの重さは「読み込みが重い」のか「計算が重い」のかで打ち手がまったく違うため、先に切り分けます。以下の3手順は、いずれも数分で終わり、ブックを壊しません。着手前にファイルのコピーを1つ取っておくと安心です。

手順1:ファイルサイズと拡張子を見る

エクスプローラーでファイルを右クリックし、プロパティからサイズを確認します。データが数千行しかないのに10MB、20MBある場合は、セル以外のもの(余分な書式・図形・画像・ピボットのキャッシュ)が容量を食っている可能性が高いです。拡張子が.xlsのままなら、これも要注意です。Microsoft「パフォーマンス障害を最適化するためのヒント」によれば、xls形式は256列×65,536行に制限されるうえ、マルチスレッド計算の最適化結果が保存されないため、開き直したあとの計算が遅くなります。まず「名前を付けて保存」で.xlsx(マクロがあれば.xlsm)に変換してください。

手順2:Ctrl+End で使用範囲を確認する

シートを開いてCtrl+Endを押すと、Excelが「使われている」と認識している最終セルへ飛びます。データが200行で終わっているのにXFD1048576付近まで飛ぶなら、使用範囲(UsedRange)が膨張している状態です。前掲のMicrosoftドキュメントでも、Ctrl+Endで使用範囲を確認し、実際の最終セルより下・右の行と列をまとめて削除してから保存するよう案内されています。過去に列全体へ色や罫線を付けた、Webやシステムからコピー貼り付けした、という履歴があるブックで頻発します。

手順3:計算方法を手動に切り替えて体感を比べる

数式タブ→計算方法の設定→「手動」に変更し、その状態でセルを編集してみてください。ここで急に軽くなるなら、犯人は再計算です。手動にしている間はF9キーで再計算されるので、検証が終わったら「自動」に戻すのを忘れないでください。開く・保存だけが遅く、入力は軽い場合は再計算ではなく、後述するファイルの置き場所や図形の量を疑います。

症状別・原因の早見表

3つの手順で当たりを付けたら、下の表で症状と突き合わせます。複数が同時に効いていることも多いので、上から順に1つずつ潰していくのが確実です。

症状

疑う原因

確認方法

対処

開くのに数十秒かかる

使用範囲の膨張・余分な書式

Ctrl+Endで最終セル/ファイルサイズ

不要な行列を削除して保存。書式は「クリア」で一括削除

入力するたびに固まる

揮発性関数と全列参照の再計算

計算方法を「手動」にして比較

NOW/TODAYを1セルに集約。OFFSET→INDEX、INDIRECT→CHOOSEへ置換

スクロールがカクつく

条件付き書式・入力規則の過剰

ホーム→条件付き書式→ルールの管理

重複ルールを統合し、適用範囲を実データ範囲に絞る

ファイルサイズだけ異常に大きい

図形・画像・コメントの蓄積

ホーム→検索と選択→オブジェクトの選択と表示

不要な図形を削除。画像は圧縮して差し替え

開くときに更新確認が出る/数秒待たされる

外部リンク・名前定義の残骸

数式→名前の管理/データ→リンクの編集

参照切れの名前とリンクを削除

特定の集計シートだけ遅い

ピボットテーブルのキャッシュ

ピボット数とデータソース範囲

ソースをテーブル化し、同じソースのピボットはキャッシュを共有

共有フォルダ経由だけ遅い

ネットワーク越しの読み込み

ローカルにコピーして開き直す

ローカルで作業して置き戻す/同期設定を見直す

Excel固有の重い原因と、その直し方

揮発性関数と全列参照を減らす

NOW・TODAY・RAND・INDIRECT・OFFSETは揮発性関数と呼ばれ、無関係なセルを触っただけでも毎回再計算され、それを参照するセルまで連鎖します。Microsoftも、INDIRECTの代わりにCHOOSE、OFFSETの代わりにINDEXを使って揮発性関数の数を減らすよう推奨しています。TODAYは1セルだけに置き、他のセルはそのセルを参照する形にすれば、それだけで再計算の量が大きく減ります。

もう1つの定番が全列参照です。Microsoft「メモリ使用量を減らすためのブックのクリーンアップ」では、=VLOOKUP(A1,$D:$M,2,FALSE)が10列×1,048,576行=10,485,760セルを参照することになると具体的に説明されています(Excel 2003当時は655,560セルでした)。Microsoft 365ではバージョン1708以降で改善されていますが、古い環境や名前定義の中に全列参照が残っていると今も効きます。参照範囲は実データの行数に絞るか、テーブル(Ctrl+T)にして構造化参照へ置き換えるのが安全です。

条件付き書式は「ルールの管理」で棚卸しする

ホームタブ→条件付き書式→ルールの管理を開き、「このワークシート」を選ぶとルールの一覧が出ます。行をコピーするたびにルールが分裂し、同じ条件が何十件も並んでいるブックは珍しくありません。条件付き書式と入力規則は、セルが表示されるたびに数式が評価されるため、数が多いと計算が目に見えて遅くなります。同じ条件はルールを1本にまとめ、適用先を「$A$2:$H$500」のように実データ範囲へ絞ってください。

余分なセル書式を落とす

列全体・行全体に色や罫線を付けると、Excelはその範囲を「使用中」として抱え込みます。ブックの一意のセル書式は65,490が上限で、コピー貼り付けを繰り返すと不要なスタイルが増え続けます。手作業なら、データ最終行の1つ下から末尾までを行ごと選択し、ホーム→クリア→「すべてクリア」を実行してから保存します。Microsoft 365の対象プランなら、Inquireアドインの「余分なセル書式のクリア」で一括処理できます(元に戻せないため、必ずバックアップを取ってから実行してください)。

図形・画像・コントロールを数える

ホーム→検索と選択→「オブジェクトの選択と表示」で、そのシート上の図形が一覧表示されます。Microsoftはグラフ・図形・コメント・画像・SmartArtをすべて「図形」として扱い、大量にあるとメモリを消費すると説明しています。Webからの貼り付けで透明な画像が重なっていた、というケースもあるため、身に覚えがなくても一度確認する価値があります。チェックボックスなどのコントロールが多いブックは、開くときに一時ファイルを大量に作るため、共有フォルダ経由だと特に遅くなります。

ピボットキャッシュ・外部リンク・名前定義

ピボットテーブルは集計自体は効率的ですが、ソース範囲を列全体で取っていると、その分のキャッシュがファイルに保存されます。ソースをテーブルにして必要な範囲だけを指すようにし、同じソースから複数のピボットを作る場合はキャッシュを共有させると軽くなります。あわせて数式タブ→名前の管理を開き、参照先が「#REF!」になっている名前や、もう存在しない別ブックを指す名前を削除してください。他ブックへのリンクは、開くたびに閉じたファイルを読みに行くため、開く時間を確実に押し上げます。

.xlsm のマクロが原因のとき

マクロ付きブックが遅い場合、多くはVBAが1セルずつ読み書きしていることが原因です。処理中の画面更新と自動計算を止めるだけでも体感は変わりますが、根本的にはマクロの中身を見直す必要があります。ただ現場でより深刻なのは速度より属人化で、作った人が退職して誰も直せない、という状態です。この論点はExcelマクロの属人化リスクとアプリ移行の考え方で詳しく整理しています。

開く・保存だけが遅いなら環境を疑う

入力は軽いのに開閉だけ遅い場合、ブックの中身ではなく置き場所が原因のことがあります。OneDriveや共有ドライブ、社内ファイルサーバー越しに開いていると、ファイル全体を転送してから開くため、サイズがそのまま待ち時間になります。切り分けは簡単で、いったんデスクトップにコピーして開いてみて速くなれば、原因はネットワーク側です。ウイルス対策ソフトのリアルタイムスキャンが効いている可能性もMicrosoftが挙げています。

もう1つ見落としがちなのがExcel自体のビット数です。32bit版Excelが使えるメモリは最大2GB(Large Address Aware対応版で最大4GB)で、32bit環境ではRAMを3GB以上積むことが推奨されています。ファイル→アカウント→Excelのバージョン情報で確認でき、大きなブックを日常的に扱うなら64bit版への移行が現実的な打ち手になります。

ここまでの手当てで多くのブックは軽くなりますが、そもそも「Excelで管理し続けること」が負荷の源になっている場合もあります。Mihataでは、使い慣れたスプレッドシートの形を残したまま入力画面と集計を分ける進め方もご提案しています。

軽量化では限界が来るケースの判断軸

ファイルを軽くしても解決しない問題があります。次の3つに当てはまるなら、それは重さの問題ではなく構造の問題です。煽るつもりはありませんが、判断基準として持っておくと迷いが減ります。

  • 複数人が同時に触る必要がある:Excelブックは基本的に1人が編集し、他は読み取り専用になります。「◯◯さんが開いています」で待つ時間が毎日発生しているなら、軽量化では解決しません。
  • 誰がいつ何を変えたかの履歴が要る:請求や在庫のように監査や照合が必要な台帳で、ファイル名に日付を付けた複製が並んでいる状態は、履歴が取れていない証拠です。
  • 同じ数字を2か所以上に転記している:転記が発生している時点で不一致は起こります。転記の手間より、突き合わせの手間のほうが大きくなっていないか見てください。

逆に、担当が1人で、履歴も不要で、転記もない管理表なら、無理に作り替える必要はありません。この記事の軽量化で十分間に合います。移行を検討する場合の規模感や費用の目安は、脱エクセルの費用相場と失敗しない進め方にまとめています。

まとめ

Excelが重いときは、ファイルサイズ・Ctrl+Endの使用範囲・計算方法の3点を先に見て、読み込みが重いのか計算が重いのかを分けてください。読み込みが重いなら余分な行列・書式・図形を落とし、計算が重いなら揮発性関数と全列参照を減らす、という順番です。それでも待ち時間が減らない、あるいは同時編集や履歴が必要になっているなら、ファイルを軽くするより仕組みを変えたほうが早い段階に来ています。

どの原因に当たっているか判断がつかない場合や、業務システム化まで含めて相談したい場合は、実際のファイルを拝見しながら一緒に切り分けます。無理にお勧めはしませんので、お気軽にご連絡ください。

よくある質問

エクセルが重い原因の調べ方を、まず1つだけ教えてください。

シートを開いてCtrl+Endを押してください。データの最終行より遥か下や右へ飛ぶなら、使用範囲が膨張しています。その場合は実データの下と右を行ごと・列ごと削除して保存すると、ファイルサイズと開く速度が改善します。

ファイルサイズを減らすには何から手を付ければよいですか。

余分な書式、図形・画像、条件付き書式の順です。列全体に付けた色や罫線をクリアし、ホームタブの「オブジェクトの選択と表示」で不要な図形を削除し、条件付き書式のルールを統合します。拡張子が.xlsのままなら.xlsxへの変換も効果があります。

再計算が遅いときに真っ先に直すべき数式は何ですか。

NOW・TODAY・RAND・INDIRECT・OFFSETといった揮発性関数と、A:Aのような全列参照です。TODAYは1セルに集約して他はそれを参照させ、INDIRECTはCHOOSE、OFFSETはINDEXへ置き換え、参照範囲は実データの行数に絞ってください。

計算方法を「手動」にしたままでも問題ありませんか。

原因の切り分け中は有効ですが、常用はおすすめしません。手動のままだと数式の結果が古いまま表示され、集計を誤って読む危険があります。検証が終わったら数式タブから「自動」に戻してください。

軽量化しても遅い場合、次に何を検討すべきですか。

複数人での同時編集が必要、変更履歴が必要、同じ数字を複数箇所へ転記している、のいずれかに当てはまるならファイルの構造そのものが限界です。この場合は軽量化ではなく、業務システム化やアプリ化を検討する段階にあります。

まずはお気軽にご相談ください

AI・IT・デザインに関するお悩みやご相談、お見積りのご依頼など、
どんなことでもお気軽にお問い合わせください。

お問い合わせ