ファイルが重い・重くなったときの軽量化方法

データはそれほど多くないのに、ファイルを開くのも保存するのも遅い。メールに添付しようとしたら容量オーバーになった。結論から言うと、Excelファイルが重くなる原因の多くは「見えないところに残っているもの」です。空に見える行や列に残った書式、見えない図形、使い終わった画像、計算範囲の広すぎる数式などを整理すると、ファイルサイズも動作も軽くなります。この記事では原因を切り分ける順番と、それぞれの軽量化の方法を解説します。

目次

Excelファイルが重い原因を症状から切り分ける

まず「ファイル」タブ>「情報」の右側にあるプロパティで、現在のファイルサイズを確認しておきます。軽量化の前後で比べると、どの対処が効いたかが分かります。次の一覧で、症状から原因の見当をつけます。

症状・確認方法 主な原因 軽量化の方法
Ctrl+Endで、データより大幅に右下のセルに飛ぶ 空に見える行・列に書式やデータの残骸がある(使用範囲が広がっている) 不要な行・列を「削除」して保存し直す
列全体・行全体に色や罫線を付けた覚えがある 過剰な書式設定 必要な範囲だけに付け直す
画像や貼り付けた図が多い 画像の解像度が高い・トリミング部分が残っている 「図の圧縮」で解像度を下げる
コピー&ペーストを繰り返したシートが重い 見えない図形・オブジェクトが大量に残っている 選択ウィンドウで不要な図形を削除
入力するたびに計算で待たされる 列全体を参照する数式、TODAY・INDIRECT等の多用 参照範囲を必要な行だけに絞る
ピボットテーブルがあるとサイズが大きい 元データのコピー(ピボットキャッシュ)を一緒に保存している 「ソース データをファイルと共に保存する」をオフ

Ctrl+Endで使用範囲の広がりを確認して削除する

Excelは「どこまでデータがあるか(使用範囲)」を覚えていて、その範囲をまとめて保存します。一度データや書式を入れたセルは、中身を消しても使用範囲に含まれたままになることがあります。

  1. シートを開いてCtrl+Endを押します。最後に使用したセルにジャンプします。
  2. 本当のデータの最終行・最終列より大幅に右下(例: 10,000行目やXFD列など)に飛ぶ場合は、使用範囲が広がっています。
  3. データの最終行の1つ下の行番号をクリックし、Ctrl+Shift+↓で最下行まで選択して、右クリック>「削除」を選びます。列も同じように、最終列の右隣からCtrl+Shift+→で選択して「削除」します。
  4. ファイルを保存してから、もう一度Ctrl+Endで確認します。保存するまで使用範囲はリセットされません。

Deleteキーで「中身を消す」だけでは書式が残るため、行・列そのものを「削除」するのがポイントです。シートが複数あれば、シートごとに確認します。

画像を圧縮してファイルサイズを小さくする

スクリーンショットや写真を貼ったファイルは、画像が容量の大半を占めていることがよくあります。

  1. 画像を1つ選択し、「図の形式」(バージョンによっては「図の書式設定」)タブ>「調整」グループの「図の圧縮」をクリックします。
  2. 「この画像だけに適用する」のチェックを外すと、ファイル内のすべての画像が対象になります。
  3. 「図のトリミング部分を削除する」にチェックを入れ、解像度は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)を計算する方法も参考になります。

目次