Excel(エクセル)で業務を行っていると、データ量はそれほど多くないはずなのに、なぜかファイルサイズが数十MB、あるいは100MB以上にまで肥大化してしまうことがあります。ファイルサイズが異常に大きくなると、「ファイルを開くのに数分かかる」「データを入力・保存するたびにフリーズする」「メールに添付して送信できない」「共有フォルダの動作全体を遅くしてしまう」といった深刻なトラブルを引き起こします。 このようにExcelファイルが重くなってしまう原因は、単なるテキストデータの量ではなく、目に見えない「書式設定のゴミ」や「不要なオブジェクト」、「無駄なキャッシュデータ」がファイル内に大量に蓄積されているケースがほとんどです。 この記事では、Excelのファイルサイズが異常に大きくなってしまう原因を明らかにし、重いファイルを一瞬で軽くするための実用的な軽量化テクニックを厳選して5つ紹介します。初心者でもすぐに行える設定から、マクロ(VBA)を使った一括処理、保存形式の変更まで、網羅的に解説します。
目次
- Excelのファイルが重くなる・肥大化する主な原因
- 軽量化テクニック1:無駄な「最後のセル」をリセットし不要な行列を削除する
- 軽量化テクニック2:見えないオブジェクト(透明な図形など)を一括削除する
- 軽量化テクニック3:不要な条件付き書式と増殖した「セルのスタイル」を削除する
- 軽量化テクニック4:計算済みの数式を「値」に変換し、画像を圧縮する
- 軽量化テクニック5:魔法の拡張子「.xlsb(Excelバイナリブック)」で保存する
- 番外編:ピボットテーブルのキャッシュデータを保存しない設定
- まとめ
Excelのファイルが重くなる・肥大化する主な原因
Excelのファイルサイズは、セルに入力されている「文字や数字」だけで大きくなることはほとんどありません。Excelは最大で約100万行のデータを扱うことができますが、純粋なテキストデータだけで数十MBに達するには、数百万のセルにびっしりと文字を埋め尽くす必要があります。 それにもかかわらずファイルが重くなるのは、以下のような「目に見えないデータ」が原因です。
- 使用範囲(UsedRange)の誤認識: 過去にデータを入力・削除した履歴や、広範囲への色付け・罫線などの書式設定により、Excelが「データの存在する範囲」を無駄に広く認識してしまっている。
- 見えない図形やオブジェクトの混入: Webサイトの表をコピー&ペーストした際などに、透明な画像や極小のテキストボックスが大量に貼り付けられている。
- 条件付き書式やスタイルの過剰な増殖: セルのコピーを繰り返すうちに、条件付き書式のルールやセルのカスタムスタイルが数千から数万単位で重複・増殖している。
- 揮発性関数や重い数式の多用: 列全体(A:Aなど)を参照する数式や、常に再計算を行う関数が大量に仕込まれている。
- 高解像度画像の未圧縮: スマートフォンやデジタルカメラで撮影した数MB〜数十MBの高画質な写真を、そのままシートに貼り付けている。
これらの原因を一つずつ取り除くことで、数十MBあったファイルがわずか数KBから数MB程度にまで劇的に軽量化されることがあります。次項から、その具体的な手順を5つのテクニックに分けて解説します。
軽量化テクニック1:無駄な「最後のセル」をリセットし不要な行列を削除する
Excelのファイルサイズを軽くするための最も基本であり、かつ最も効果が高いのが「不要な行と列の完全削除」です。 データがないように見える空白のセルであっても、背景色が設定されていたり、過去に文字を入力して「Delete」キーで消しただけであったりすると、Excelはそのセルを「使用されているセル」として記憶し、ファイルサイズに計上してしまいます。 この「Excelが認識しているデータ範囲の末尾」を「最後のセル」と呼びます。まずはこの位置を確認し、不要な範囲を削ぎ落とします。 手順:
- 対象のExcelファイルを開き、キーボードの「Ctrl」キーを押しながら「End」キーを押します。
- カーソルが移動した先が、Excelが認識している「最後のセル」です。もし実際のデータが100行目までしかないのに、1万行目などに飛んでしまった場合、そこまでの無駄な空白領域がファイルサイズを肥大化させています。
- 本来のデータがある最後の行の、一つ下の行番号(画面左端の数字)をクリックして行全体を選択します。
- 「Ctrl」キーと「Shift」キーを押しながら、下矢印キー「↓」を押し、シートの一番下までを選択します。
- 右クリックして「削除」を選択します。
- 同様に、本来のデータがある最後の列の、一つ右の列番号(画面上部のアルファベット)をクリックします。
- 「Ctrl」キーと「Shift」キーを押しながら、右矢印キー「→」を押して一番右の列まで選択し、右クリックから「削除」を選択します。
- 重要:削除しただけではExcelの認識はリセットされません。必ず「Ctrl + S」を押すか、「ファイル」タブから「上書き保存」を行ってください。保存後に再度「Ctrl + End」を押し、正しいデータ範囲の末尾に移動すれば成功です。
軽量化テクニック2:見えないオブジェクト(透明な図形など)を一括削除する
インターネット上の記事や、他のシステムから出力されたデータをExcelにコピー&ペーストすると、意図せず「目に見えない透明なオブジェクト(図形や画像)」が数万個単位で貼り付けられてしまうことがあります。これらは目で見て見つけることができないため、非常に厄介な容量肥大化の原因となります。 Excelの「ジャンプ」機能を使うことで、これらのオブジェクトを一括で選択して削除することが可能です。 手順:
- 対象のシートを開いた状態で、「ホーム」タブをクリックします。
- 右側のほうにある「検索と選択」をクリックし、「条件を選択してジャンプ」をクリックします。
- 「選択オプション」ウィンドウが表示されるので、「オブジェクト」にチェックを入れて「OK」をクリックします。
- シート内に存在するすべての図形や画像、グラフなどのオブジェクトが選択された状態になります。(※必要なオブジェクトがある場合は、この時点で「Ctrl」キーを押しながら該当の図形をクリックして選択から外してください)。
- キーボードの「Delete」キーを押します。
もしこの操作によって「リソース不足です」といったエラーが出て削除できない場合は、オブジェクトの数が多すぎることが原因です。その場合は、「ホーム」→「検索と選択」→「オブジェクトの選択と表示」を開き、右側のリストから少しずつ選択して削除していく必要があります。
軽量化テクニック3:不要な条件付き書式と増殖した「セルのスタイル」を削除する
Excelには「条件付き書式」と「セルのスタイル」という便利な機能がありますが、これらはセルをコピーするたびにルールも一緒に複製されるという性質を持っています。長年使い回しているファイルでは、これらが無数に重複・増殖し、ファイルを開く動作や保存を著しく遅くします。
条件付き書式をクリアする手順
シート全体の条件付き書式が不要である場合、以下の手順で一括削除します。
- 「ホーム」タブの「条件付き書式」をクリックします。
- 「ルールのクリア」にマウスカーソルを合わせます。
- 「シート全体からルールをクリア」を選択します。
- 必要なルールのみ、改めて設定し直してください。
VBAを使って増殖したカスタムスタイルを一掃する
「セルのスタイル」に無数の「カスタムスタイル」が登録されてしまっている場合、手作業で一つずつ削除するのは現実的ではありません。以下のVBA(マクロ)コードを実行することで、一瞬で不要なスタイルを削除し、ファイルサイズを劇的に軽くすることができます。 VBAの実行手順:
- キーボードの「Alt」キーを押しながら「F11」キーを押して、VBE(Visual Basic Editor)を開きます。
- 上部のメニューから「挿入」→「標準モジュール」をクリックします。
- 表示された白いウィンドウに、以下のコードをコピーして貼り付けます。
- キーボードの「F5」キーを押すか、上部の緑色の再生ボタンをクリックして処理を実行します。
Sub DeleteCustomStyles()
Dim st As Style
Dim deleteCount As Long
deleteCount = 0
' エラーが発生しても処理を止めずに続行する設定
On Error Resume Next
' ファイル内に存在するすべてのスタイルを巡回
For Each st In ActiveWorkbook.Styles
' 組み込みスタイル(標準、見出しなど)以外を対象とする
If Not st.BuiltIn Then
st.Delete
deleteCount = deleteCount + 1
End If
Next st
On Error GoTo 0
MsgBox deleteCount & " 個の不要なカスタムスタイルを削除しました。", vbInformation
End Sub
処理完了後、ファイルを保存してサイズがどれくらい減ったか確認してください。
軽量化テクニック4:計算済みの数式を「値」に変換し、画像を圧縮する
データの実体そのものが容量を圧迫している場合の対策です。
不要になった数式を「値として貼り付け」で固定する
VLOOKUP関数やIF関数などが数万行にわたって入力されていると、計算結果を保持するため、そして再計算に備えるためにファイルサイズが膨らみます。 過去の月のデータなど、今後計算結果が変わる予定のないデータについては、数式を「単なる文字列や数値」に変換してしまうのが効果的です。 手順:
- 数式が入力されている範囲を選択します。
- 右クリックして「コピー」を選択します(または「Ctrl + C」)。
- 選択状態のまま再度右クリックし、「貼り付けのオプション」の中にある「値」(「123」と書かれたクリップボードのアイコン)をクリックします。
これで裏側で動いていた数式がなくなり、純粋なテキストデータのみになるため、ファイルサイズが軽減され、動作も軽快になります。
挿入されている画像を一括で圧縮する
提案書やマニュアルなど、Excelに画像を多用している場合は、画像の解像度がファイルサイズに直結します。Excelには画像を適切なサイズに圧縮する機能が備わっています。 手順:
- ファイル内のいずれかの画像をクリックして選択します。
- 上部に表示される「図の形式」(または「書式」)タブをクリックします。
- 「図の圧縮」アイコン(四隅に矢印が向いている画像のアイコン)をクリックします。
- 「図の圧縮」ウィンドウが表示されたら、「この画像だけに適用する」のチェックを外します(これでファイル内の全ての画像が対象になります)。
- 「画像のトリミング部分を削除する」にチェックを入れます。
- 解像度の選択肢から「電子メール(96 ppi)」または「Web(150 ppi)」を選択し、「OK」をクリックします。
これを実行するだけで、数十MBあったファイルが数MBにまで一気に小さくなることがよくあります。
軽量化テクニック5:魔法の拡張子「.xlsb(Excelバイナリブック)」で保存する
これまで紹介したデータや書式の整理を行っても、扱うデータ自体が数万行から数十万行あり、どうしてもファイルサイズが大きくなってしまう場合があります。そのような時に絶大な効果を発揮するのが、保存するファイル形式(拡張子)の変更です。 一般的なExcelファイルの拡張子は「.xlsx」、マクロが有効なファイルは「.xlsm」ですが、これを「.xlsb(Excelバイナリブック)」という形式で保存し直すだけで、ファイルサイズが劇的に圧縮されます。 .xlsb(バイナリブック)とは: 標準の「.xlsx」形式は、内部的にはXMLという人間にも読みやすいテキスト形式の集合体で構成されています。一方「.xlsb」は、コンピュータ(機械)が読み取りやすい「バイナリ形式」でデータを保存します。そのため、ファイルサイズが約半分から3分の1程度にまで圧縮されるだけでなく、ファイルを開く・保存するスピードも圧倒的に速くなります。マクロ(VBA)を含めることも可能です。 保存手順:
- 「ファイル」タブをクリックし、「名前を付けて保存」を選択します。
- 保存場所を指定するウィンドウが開いたら、「ファイルの種類」のドロップダウンリストをクリックします。
- 一覧から「Excel バイナリ ブック (*.xlsb)」を選択します。
- 「保存」ボタンをクリックします。
注意点: 非常にメリットの大きい「.xlsb」形式ですが、人間が直接中身のXMLを解析できないため、Excel以外のサードパーティ製システム(一部の古いRPAやデータインポートツールなど)にこのファイルを読み込ませる場合、エラーになることがあります。他システムとの連携に使用しない、人間が操作・共有するためのファイルであれば、積極的にこの形式を使用することをおすすめします。
番外編:ピボットテーブルのキャッシュデータを保存しない設定
大容量のデータからピボットテーブルを作成している場合、Excelはバックグラウンドで「ピボットテーブル用のデータキャッシュ」を保存してしまいます。これが元データと二重に保存されるため、ファイルサイズが倍増する原因になります。 ファイルサイズを抑えるためには、このキャッシュを保存しないように設定を変更します。 手順:
- ピボットテーブル内の任意のセルをクリックします。
- 「ピボットテーブル分析」タブ(または「オプション」タブ)をクリックし、左側にある「ピボットテーブル」→「オプション」をクリックします。
- 「ピボットテーブル オプション」ウィンドウが開いたら、「データ」タブを選択します。
- 「ファイルに保存する元データのデータを保存する」のチェックを外します。
- その下にある「ファイルを開くときにデータを更新する」にチェックを入れます。
- 「OK」をクリックして設定を完了し、ファイルを保存します。
これにより、元データのみが保存されるようになり、ファイルサイズの大幅な削減が期待できます。
まとめ
Excelのファイルサイズが異常に大きく、動作が重くなってしまう原因は、多くの場合「人間には見えない不要なデータの蓄積」によるものです。 ファイルが重いと感じたら、まずは「最後のセル」の確認・削除(テクニック1)と、「透明なオブジェクト」の削除(テクニック2)を行ってみてください。これだけでも多くのファイルが正常なサイズに戻ります。 長年使い続けている複雑なファイルや、他の人から引き継いだファイルであれば、VBAを用いたカスタムスタイルの削除(テクニック3)や、数式の値化(テクニック4)が非常に有効です。そして、最終手段として「.xlsb(バイナリブック)」形式への変換(テクニック5)を活用すれば、どんなに重いExcelファイルでも見違えるほどサクサクと動くようになります。 巨大なExcelファイルは、作業効率を落とすだけでなく、ファイル破損(クラッシュ)のリスクも高まります。本記事で紹介した軽量化テクニックを定期的なメンテナンスとして取り入れ、快適で安全なExcel環境を維持しましょう。