データはそれほど多くないのに、ファイルを開くのも保存するのも遅い。メールに添付しようとしたら容量オーバーになった。結論から言うと、Excelファイルが重くなる原因の多くは「見えないところに残っているもの」です。空に見える行や列に残った書式、見えない図形、使い終わった画像、計算範囲の広すぎる数式などを整理すると、ファイルサイズも動作も軽くなります。この記事では原因を切り分ける順番と、それぞれの軽量化の方法を解説します。
Excelファイルが重い原因を症状から切り分ける
まず「ファイル」タブ>「情報」の右側にあるプロパティで、現在のファイルサイズを確認しておきます。軽量化の前後で比べると、どの対処が効いたかが分かります。次の一覧で、症状から原因の見当をつけます。
| 症状・確認方法 | 主な原因 | 軽量化の方法 |
|---|---|---|
| Ctrl+Endで、データより大幅に右下のセルに飛ぶ | 空に見える行・列に書式やデータの残骸がある(使用範囲が広がっている) | 不要な行・列を「削除」して保存し直す |
| 列全体・行全体に色や罫線を付けた覚えがある | 過剰な書式設定 | 必要な範囲だけに付け直す |
| 画像や貼り付けた図が多い | 画像の解像度が高い・トリミング部分が残っている | 「図の圧縮」で解像度を下げる |
| コピー&ペーストを繰り返したシートが重い | 見えない図形・オブジェクトが大量に残っている | 選択ウィンドウで不要な図形を削除 |
| 入力するたびに計算で待たされる | 列全体を参照する数式、TODAY・INDIRECT等の多用 | 参照範囲を必要な行だけに絞る |
| ピボットテーブルがあるとサイズが大きい | 元データのコピー(ピボットキャッシュ)を一緒に保存している | 「ソース データをファイルと共に保存する」をオフ |
Ctrl+Endで使用範囲の広がりを確認して削除する
Excelは「どこまでデータがあるか(使用範囲)」を覚えていて、その範囲をまとめて保存します。一度データや書式を入れたセルは、中身を消しても使用範囲に含まれたままになることがあります。
- シートを開いてCtrl+Endを押します。最後に使用したセルにジャンプします。
- 本当のデータの最終行・最終列より大幅に右下(例: 10,000行目やXFD列など)に飛ぶ場合は、使用範囲が広がっています。
- データの最終行の1つ下の行番号をクリックし、Ctrl+Shift+↓で最下行まで選択して、右クリック>「削除」を選びます。列も同じように、最終列の右隣からCtrl+Shift+→で選択して「削除」します。
- ファイルを保存してから、もう一度Ctrl+Endで確認します。保存するまで使用範囲はリセットされません。
Deleteキーで「中身を消す」だけでは書式が残るため、行・列そのものを「削除」するのがポイントです。シートが複数あれば、シートごとに確認します。
画像を圧縮してファイルサイズを小さくする
スクリーンショットや写真を貼ったファイルは、画像が容量の大半を占めていることがよくあります。
- 画像を1つ選択し、「図の形式」(バージョンによっては「図の書式設定」)タブ>「調整」グループの「図の圧縮」をクリックします。
- 「この画像だけに適用する」のチェックを外すと、ファイル内のすべての画像が対象になります。
- 「図のトリミング部分を削除する」にチェックを入れ、解像度は150ppi以下などを選んで「OK」を押します。
今後貼る画像にも効かせたい場合は、「ファイル」>「オプション」>「詳細設定」の「イメージのサイズと画質」で、「編集データを破棄する」にチェックを入れ、既定の解像度を150ppi以下にします。
見えない図形・余分な書式を整理してExcelを軽くする
- 見えない図形: 「ホーム」タブ>「検索と選択」>「選択ウィンドウ」を開くと、シート上の図形・グラフ・テキストボックスなどが一覧表示されます。Webページや他のファイルからのコピーで、非表示の図形や重なった図形が大量に残っていることがあります。不要なものを選んで削除します。
- 条件付き書式: コピーを繰り返すと、同じようなルールが細切れに増えていきます。「ホーム」>「条件付き書式」>「ルールの管理」で、表示を「このワークシート」にして重複したルールを整理します。
- 列全体・行全体の書式: 列全体に塗りつぶしや罫線を付けると、100万行分の書式を抱えることになります。表の範囲だけに付け直しましょう。
数式・ピボットテーブル・保存形式を見直してファイルを軽量化する
- 列全体を参照する数式:
=VLOOKUP(A2,$D:$M,2,FALSE)のような列全体の参照は、行数の多い今のExcelでは計算対象が大きくなります。$D$2:$M$500のように必要な範囲に絞ると計算が軽くなります。範囲を固定する「$」の付け方はコピペで参照がずれてしまう問題の直し方(絶対参照$の使い方)を参照してください。 - 揮発性関数の多用: TODAYやNOW、INDIRECT関数でシート名を可変にして参照する方法で紹介しているINDIRECTなどは、どこかのセルを変更するたびに再計算されます。今日の日付が必要なら、1つのセルにだけTODAYを入れて、ほかはそのセルを参照します。
- ピボットテーブルのキャッシュ: ピボットテーブルを選択し、「ピボットテーブル分析」タブ>「オプション」>「データ」タブで「ソース データをファイルと共に保存する」をオフ、「ファイルを開くときにデータを更新する」をオンにします。更新まわりのトラブルはピボットテーブルが更新されないときの対処法も参考にしてください。
- バイナリ形式(.xlsb)で保存: 「名前を付けて保存」でファイルの種類を「Excel バイナリ ブック(*.xlsb)」にすると、ファイルサイズが小さくなります。ただし、他のツールやシステムで読み込むファイルは.xlsxのままにしておくほうが無難です。
Excelの軽量化でよくある失敗・注意点
- 作業前に必ずコピーを取る: 行・列の削除や条件付き書式の整理は、必要なものまで消してしまう可能性があります。元のファイルを複製してから作業しましょう。
- 行を削除すると数式が#REF!になることがある: 削除した範囲を参照している数式があると#REF!エラーになります。直し方は#REF!エラーの原因と直し方で解説しています。
- 削除後に保存しないと効果が見えない: 使用範囲のリセットもファイルサイズの変化も、保存したあとで確認します。
- それでも重いときはブックを分ける: 何年分ものデータを1ファイルに溜め込んでいる場合は、年度ごとにファイルを分けるのが根本的な解決になります。
Excelファイルが重いときの軽量化まとめ
Excelファイルが重い原因は、広がった使用範囲、過剰な書式、画像、見えない図形、計算範囲の広い数式、ピボットキャッシュのどれかであることがほとんどです。まずCtrl+Endで使用範囲を確認し、次に画像の圧縮、選択ウィンドウでの図形の整理、数式の参照範囲の見直しの順に試してみましょう。集計の数式を軽く保つ書き方は、サイトの人気記事エクセルのsumifs関数でOR条件の集計をする方法やエクセル関数で条件付きで中央値(MEDIAN)を計算する方法も参考になります。






