エクセル迷子案内所
← 学習記事一覧

Excelが重い・遅い・応答なしになる原因と対処【症状別に切り分け】

公開: 2026-07-09
執筆: FMaker(エクセル迷子案内所 運営者)対応を想定: Microsoft 365 / Excel 2021

「開くだけで数十秒待たされる…」 「1セル編集するたびに固まる…」 「保存が終わらない…ファイルサイズもやたら大きい…」

💡 関連記事:


症状

Excelを開くのに時間がかかる、1セル編集するたびに固まる、保存が終わらない、スクロールがカクつく、ファイルサイズだけがやたら大きい——そんな「重い」症状のどれかに心当たりはありませんか?

即答

Excelの重さはファイル肥大/計算過負荷/描画過負荷の3系統に大別できます。まず Ctrl+End を押してみて、選択されたセルがデータの最終行よりずっと遠くに飛ぶようなら、不要な行・列を削除して保存し直すのが最短の対処です。

なぜ起きるのか

Excelはブックを開くたびに、全セル・全書式・全数式・全画像・全外部参照を読み込み、編集のたびに再計算・再描画します。ファイル・計算・描画のどれか1つでも肥大すると、その分だけ全体の動作が重くなります。

確認手順

自分の症状に近いものを選んで、該当する章へ進んでください。上から順に読む必要はありません。

  1. 開くのが遅い/ファイルサイズが大きい → ①〜④を順に確認してください
  2. 1セル編集するたびにフリーズする/スクロールが重い → ⑤〜⑦、または⑧を確認してください
  3. 保存に時間がかかる → ①と⑤⑥を優先的に確認してください
  4. 入力しても数字が反映されない・更新されない → 手動計算モードの可能性があります。formula-shows-as-text の「手動計算モード」の節へ(本記事では直し方は扱いません)
  5. 他のPCでは軽いのに自分のPCだけ重い → ⑨を確認してください

原因は大きく3つの系統に分かれます。

系統何が肥大しているか該当する原因
系統A:ファイルが肥大ブック自体の容量・要素が多い①使用範囲 ②画像・図形 ③名前定義・スタイル ④.xls形式
系統B:計算が過負荷数式の再計算コストが高い⑤揮発性関数 ⑥全列参照・配列数式 ⑦外部リンク
系統C:描画が過負荷画面の再描画コストが高い⑧条件付き書式 ⑨ハードウェアグラフィックアクセラレータ
(緊急避難)応急処置であって根本解決ではない⑩手動計算モード

① 使用範囲の肥大(Ctrl+End が遠くに飛ぶ)

本記事でもっとも多い原因です。 まずここを疑ってください。

症状

Ctrl+End を押すと、データが入っていないはずの遠いセルまで選択が飛ぶ。ファイルサイズが数MB〜数十MBに肥大している。

なぜ

過去に書式設定・色付け・数式コピー・行や列の挿入をしたセルは、値をあとから消しても「使用範囲(UsedRange)」として記憶され続けます。Excelはブックを開くたびに使用範囲全体を読み込むため、実データが少なくても使用範囲が広ければ広いほど重くなります。

確認方法

適当なセルを選んでから Ctrl+End を押します。実際のデータ最終行・最終列よりも遥かに下・右のセルに飛ぶなら、使用範囲が肥大しています。

解決方法

  1. データの最終行の1行下のセルをクリックし、Ctrl+Shift+End で右下端まで選択します
  2. 選択範囲の行番号を右クリックして「削除」を選びます(「クリア」ではなく削除です)
  3. 列も同様に、データの最終列の1列右から右端までを選択して列削除します
  4. 上書き保存してから一度閉じ、開き直します(保存時に使用範囲が再計算されます)

📌 ポイント: Delete キーは値だけを消し、書式は残ります。使用範囲は書式が入っているだけでも記憶されるため、Delete キーでは肥大が解消しません。行削除・列削除で丸ごと消すのが重要です。

データの最終行は10行目(付箋の行)、最終列はB列なのに、Ctrl+Endを押すと名前ボックスがC50000になり、その間の空セル(黄色)まで使用範囲として記憶されている状態を示す模式図

(Macでも Ctrl+End はそのまま使えます。環境やキーボードによっては fn キーの併用が必要になる場合があります。)


② 画像・図形・オブジェクトの埋め込み過多

症状

ファイルサイズが数十MB以上あり、開くだけで数十秒かかる。

なぜ

スクリーンショットや図形を貼り付けると、画像1枚が数MBになることもあります。特に貼り付け時に圧縮していない画像は、原寸のまま保存されるため積み上がりやすくなります。

確認方法

F5 キー(または Ctrl+G)で「ジャンプ」ダイアログを開き、「セル選択」から「オブジェクト」を選ぶと、図形・画像だけを一括選択できます。

解決方法

  1. 画像を選択し、「図の形式」タブ →「図の圧縮」を選びます。「電子メール(96 ppi)」など、用途に合った圧縮設定を選びます(選択肢の名称はExcelのバージョンによって多少異なります)
  2. 不要な図形・テキストボックス・埋め込みオブジェクト(Word/PowerPointからの貼り付けなど)を削除します
  3. スクリーンショットは共有ドライブなどExcel外に置き、リンクで参照する方法も検討します

📌 ポイント: 画像1枚あたり1MB前後は普通に発生します。共有・メール添付するブックには、そもそも画像を貼らないのが原則です。


③ 名前定義・不要な書式スタイルの残骸

症状

見た目には何もないのに、ファイルサイズだけが大きい。他のファイルからのコピペを繰り返してきた履歴のあるブックで起きやすい原因です。

なぜ

「数式」タブ → 名前の管理Ctrl+F3)には、削除・移動したはずの範囲名が残っていることがあります。また「ホーム」タブのスタイルギャラリーにあるセルスタイルにも、他ファイルからコピペしてきた古いスタイルが数百〜数千件たまることがあります。

確認方法

Ctrl+F3 で名前の管理を開き、#REF! を含む壊れた名前や覚えのない名前がないかを確認します。セルスタイルの数は「ホーム」タブのスタイルギャラリーを開いて目視します。

解決方法

  1. Ctrl+F3 を開き、不要な名前を選んで削除します
  2. セルスタイルは1つずつ右クリック → 削除します。大量にある場合はVBAでの一括削除も検討します

📌 ポイント: 名前定義とセルスタイルは見た目に出ないため気づきにくい原因です。ファイルサイズが内容から想像できないほど大きいときに疑ってください。テーブルの名前も「名前の管理」に表示されますが、テーブル名を削除したい場合はテーブル自体を削除する必要があります。


④ 旧形式(.xls)で保存されている

症状

拡張子が .xlsx ではなく .xls のまま。開くのが遅く、大きなデータを貼り付けようとすると行数制限で失敗する。

なぜ

.xls はExcel 97-2003時代の旧形式で、最大65,536行×256列までしか扱えません。ファイル構造も圧縮されていません。現行の .xlsx(Excel 2007以降)はZIP形式で圧縮されており、最大1,048,576行×16,384列まで扱えます。

確認方法

エクスプローラーで拡張子を確認するか、Excelのタイトルバーに「[互換モード]」と表示されていないかを確認します。

解決方法

  1. 「ファイル」→「名前を付けて保存」→ ファイルの種類を「Excel ブック(*.xlsx)」に変更します
  2. 保存後、古い .xls ファイルは削除します

📌 ポイント: .xls のまま運用し続ける理由はほとんどありません。ただしマクロ入りのブックを .xlsx で保存するとマクロが失われます。マクロを使っている場合は .xlsm(マクロ有効ブック)を選んでください。

現場のケース

【実務でこれが起きた場面】

前任者から引き継いだ月次実績シートを開くのに、毎回数十秒待たされていた。Ctrl+End を押すと IV65536.xls 形式の最終セル)まで一気に飛んだので、拡張子を確認すると .xls のままだった。「名前を付けて保存」で .xlsx に保存し直したところ、開く時間が数秒に短縮。さらに不要な行・列を削除して使用範囲を整理すると、体感でもう一段軽くなった。旧形式のまま何年も引き継がれているブックは、意外と現場に残っている。


⑤ 揮発性関数の多用

症状

1セルを編集しただけで、ブック全体がフリーズしたように固まる。

なぜ

NOW() TODAY() RAND() RANDBETWEEN() OFFSET() INDIRECT()揮発性関数と呼ばれ、ブック内のどこか1セルでも変更があるたびに必ず再計算されます。これらのセルを参照している他の数式も連鎖して再計算されるため、ブックが大きいほど負荷が積み重なります(CELL()INFO() は指定する引数の種類によって揮発性が変わるため、ここでは深入りしません)。

確認方法

Ctrl+F(検索)で INDIRECT OFFSET NOW などを数式検索し、件数を数えます。

解決方法

  • OFFSET は多くの場合 INDEX に置き換えられます。INDEX は非揮発性関数です。単純な形なら OFFSET(A1,行,0)INDEX(A:A,行+1) に、列方向も動かしたい場合は INDEX(範囲,行,列) の形で書けます
  • INDIRECT は名前定義・テーブルの構造化参照・XLOOKUP で代替できることが多いです
  • TODAY NOW は本当にリアルタイム性が必要か見直します。日付を固定してよいなら値として貼り付けます
  • どうしても外せない場合は、後述の⑩「手動計算モードで一時的にしのぐ」が緊急避難策になります

📌 ポイント: INDEX は非揮発性関数、OFFSET は揮発性関数です。どちらも「動的に参照先を変える」関数ですが、重さはまったく違います。配列を扱う SUMPRODUCT も揮発性関数ではありません。


⑥ 配列数式・全列参照(A:A)の多用

症状

特定のシートを開いたり、数式の入ったセルを編集するとフリーズする。

なぜ

全列参照と重さの関係は数式の種類によって異なります

SUMIFS(A:A, B:B, "条件") などの通常の集計関数(SUM・SUMIF・SUMIFS・COUNTIF 等)は、Excel 2007以降の「used-range最適化」により、実際には使用範囲までしか評価しません。使用範囲が小さければ全列参照でも比較的軽く動きます。ただし使用範囲が肥大している(原因①の状態)と、その広い使用範囲を毎回全列参照で評価することになり、やはり重くなります

一方、配列数式({=SUM(...)})や SUMPRODUCT はused-range最適化が効かず、全列参照すると文字通り全行.xlsx なら1,048,576行)を評価対象にします。同じ数式を何百セルにもコピーすると、計算コストがセル数分だけ掛け算で積み上がります。

確認方法

重い数式を探す実用的な方法は、疑わしい数式が入ったセルを一時的に削除・値貼り付けしてみて、体感が変わるかで判定することです。

解決方法

  1. 全列参照を必要な範囲だけに絞ります(A:A$A$2:$A$10000 など)
  2. テーブル化Ctrl+T)すると参照が構造化参照になり、データ追加時に自動で範囲が拡張されます
  3. 大量データの集計は数式ではなくピボットテーブルに置き換えることも検討します。詳しくは ピボットテーブルが思いどおりに集計できない を参照してください

📌 ポイント: 全列参照は「範囲がズレる心配がない」便利さと引き換えに重くなります。数万行を超えるような大量データでなければ、固定範囲+テーブル化で十分なことが多いです。全列参照が原因で COUNTIF の結果がおかしくなるケースは COUNTIF / COUNTIFS が動かない6つの原因と解決法 でも扱っています。


⑦ 外部リンク・他ブック参照の過多

症状

開くたびに「このブックには他のデータソースへのリンクが含まれています」というダイアログが出る。開く・保存が遅い。

なぜ

他ブックへの参照(='C:\...\[別ブック.xlsx]Sheet1'!A1 のような数式)は、ブックを開くたびに外部ファイルの読み込みが発生します。参照先が数百箇所にのぼると、その分だけ累積で重くなります。

確認方法

「データ」タブ →「リンクの編集」を開くと、外部リンクの一覧を確認できます。

解決方法

  1. 不要なリンクは「リンクの解除」を選びます(数式が値のみに変換されます)
  2. 生きているリンクは、参照先のデータを同じブック内のシートにコピーするか、Power Queryで取り込み直すことも検討します

📌 ポイント: 外部リンクは参照先のファイルが移動・削除されると #REF! になる脆さも持っています。集計用途であれば、数式で参照し続けるより、コピーやPower Queryで取り込む方が軽く・安全になることが多いです。


⑧ 条件付き書式の過多・重複

症状

特定のシートをスクロールするとカクつく。行数の割にファイルサイズも大きい。

なぜ

条件付き書式は範囲内の各セルごとに条件を評価するため、表示・計算の両方でコストがかかります。行コピーを繰り返していると、同じルールが数百〜数千件に分裂して累積していることがあります(例: A2:A100 に設定したはずのルールが、行コピーのたびに A2:A5 A6:A10 のように細切れになっていく)。

確認方法

「ホーム」タブ → 条件付き書式 →「ルールの管理」を開き、シート全体を対象にして件数を確認します。数十件以上あれば整理対象です。

解決方法

  1. 「ルールの管理」で重複しているルールを削除し、範囲を1つに統合します(例: A2:A100 にまとめ直す)
  2. 動的な色分けが不要になっているなら、通常の書式に置き換えます
  3. 数式条件(=A2>100 のような式)を使ったルールは、揮発性関数と同じように再計算のコストがかかるため、不要なものは削ります

📌 ポイント: 条件付き書式は見た目の便利さの割に、表示・計算の両方で重くなりがちです。使うなら範囲は最小限に、重複したルールは必ず統合してください。

現場のケース

【実務でこれが起きた場面】

毎日更新する予実管理シートで、1セルの値を書き換えるたびに数秒フリーズするようになっていた。「ルールの管理」で確認すると、担当者ごとに行コピーを重ねてきた結果、同じ条件付き書式のルールが数百件に分裂していた。範囲を1つに統合したところ、操作感が明らかに戻った。行コピーを繰り返すと条件付き書式が細切れになりやすいので、月次で「ルールの管理」を開いて整理する習慣が実務では有効だった。


⑨ ハードウェアグラフィックアクセラレータの相性問題

症状

同じファイルを他のPCで開くと軽いのに、自分のPCだけスクロールや描画がカクつく。

なぜ

Excelは既定で**GPUによる描画支援(ハードウェアグラフィックアクセラレータ)**を利用します。GPUやドライバとの相性が悪いと、支援するはずの機能が逆に描画を遅くすることがあります。特にリモートデスクトップや仮想デスクトップ環境で起きやすい傾向があります。

確認方法

「ファイル」→「オプション」→「詳細設定」→「表示」セクションにある「ハードウェア グラフィック アクセラレータを無効にする」のチェック状態を確認します。

※この設定は Excel 2021 以前/一部バージョンにあります。現行の Microsoft 365(2023年3月以降の更新)では項目自体が削除されており、メニューに表示されなくても正常です(新しい365では不要)。旧バージョンや表示されている場合のみ有効です。

解決方法

このチェックをオン(=無効化)にしてExcelを再起動します。改善しなければ元に戻します。

📌 ポイント: 「ファイル自体は軽いはずなのに描画だけ重い」ときに最後に試したい環境要因です。GPUを無効化しても他のPCには影響しないため、自分のPCだけの設定として気軽に試せます。


⑩ 手動計算モードで一時的にしのぐ(緊急避難策)

症状

大量データや揮発性関数を含むブックで、1セル編集するたびに数秒〜数十秒フリーズして作業にならない。

なぜ

Excelの既定は自動計算モードで、セルを変更するたびに全数式を再計算します。手動計算モードにすれば、F9 キーを押した時だけ再計算されるようになります。

解決方法

  1. 「数式」タブ →「計算方法の設定」→「手動」を選びます
  2. 大量入力・数式書き換えをまとめて済ませます
  3. 再計算したいタイミングで F9 キーを押します
  4. 作業が終わったら、必ず「自動」に戻します

📌 ポイント: これはあくまで一時的な避難策であり、根本解決は数式やデータ構造の見直しです。「自動」に戻し忘れると、今度は「数式は正しいのに結果だけが古い」という別の問題が起きます。詳しくは 数式が計算されない・=SUMがそのまま表示される の「手動計算モード」の節を参照してください。


まとめ:判断フロー

症状から、まず疑うべき系統と原因が決まります。

症状主な原因対処の要点
開く・保存が遅い、ファイルサイズが大きい①使用範囲肥大/②画像過多/③名前定義・スタイルの残骸/④.xls形式使用範囲を行・列削除でリセット、画像を圧縮、.xlsx
編集のたびにフリーズする⑤揮発性関数/⑥全列参照・配列数式/⑦外部リンク過多OFFSETINDEXに、範囲を絞る、リンクを解除
スクロールだけカクつく⑧条件付き書式の過多・重複ルールを統合する
他のPCでは軽いのに自分だけ重い⑨ハードウェアグラフィックアクセラレータ詳細設定で無効化して試す
入力しても数字が更新されない手動計算モード(本記事では対象外)formula-shows-as-text
今すぐ作業を進めたい(応急処置)⑩手動計算モード「計算方法の設定」→「手動」、作業後は必ず「自動」に戻す

よくある質問

Q. ファイルを軽くする一番効果的な1手は?

Ctrl+End で使用範囲を確認し、空行・空列があれば行削除・列削除して保存し直すことです。

A. Ctrl+End で使用範囲を確認 → 不要な行・列を削除 → 保存し直すです。多くのケースはこれだけで大きく改善します。

Q. .xls.xlsx の違いは?変換して大丈夫?

.xlsx は圧縮形式で行数・列数も多く、より軽量です。マクロ入りなら .xlsm に変換してください。

A. .xlsx(Excel 2007以降)はZIPで圧縮された形式で、.xls(65,536行×256列)より扱える行数・列数が多く(1,048,576行×16,384列)、同じ内容でも軽くなります。マクロを使っているブックを .xlsx に変換するとマクロが失われるため、その場合は .xlsm(マクロ有効ブック)を選んでください。

Q. INDIRECT を使わずに動的参照するには?

名前定義やテーブルの構造化参照、XLOOKUP の組み合わせで代替できることが多いです。

A. 名前定義テーブルの構造化参照XLOOKUP との組み合わせで代替できることが多いです。「シート名を可変にしたい」といった限られた用途だけ INDIRECT を最小限で使うのが無難です。

Q. 手動計算モードのまま渡してしまい、相手のブックで結果が古いままになりました

「数式」タブ →「計算方法の設定」→「自動」に戻して保存し直せば直ります。

A. 「数式」タブ →「計算方法の設定」→「自動」に戻して保存し直せば直ります。詳しくは 数式が計算されない・=SUMがそのまま表示される を参照してください。

Q. VBAマクロで一括処理すると重さは減りますか?

マクロ内で画面更新と自動計算を一時停止すれば、処理中の負荷は下げられます。

A. マクロ内で Application.ScreenUpdating = FalseApplication.Calculation = xlCalculationManual を使えば、処理中の描画・計算コストを一時的に止められます。ただし本記事の主眼はマクロを使わない軽量化です。マクロ側の基礎は Excelマクロのはじめかた を参照してください。

Q. それでも直らない…

この手順で直らない場合はレアケースの可能性があり、AIサポートでの切り分けが近道です。

A. 記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。AIサポートで対話的に原因を切り分けてみてください。

無料ダウンロード・登録不要のメールだけ

Excelの「詰まりどころ」早見表を1枚に。

COUNTIF・SUMIF・#N/A・エラー6種の《症状→原因→即対応》をA4一枚に凝縮。印刷して手元に。

次に読む

よく読まれている

それでも解決しないときは

記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。対話で原因を1つずつ切り分けるのが最短です。

AI案内人に相談する(無料・登録不要)→