エクセルが重い原因を実際に測ると、いちばん効いたのは、データのないセルに残った書式でした。12MB のファイルが 360KB に、開く時間が約 2.5 秒から 0.12 秒になりました。
原因は「校閲」タブの「パフォーマンスをチェック」と Ctrl+End で調べられます。この記事では、原因ごとの重さの実測結果と、効いた直し方・効かなかった直し方を、実際の Excel の画面で説明します。
エクセルが重い原因の調べ方
Ctrl+End で最後のセルを確かめる
Ctrl+End を押すと、Excel が「使っている」と考えている最後のセルに移動します。データの最後より大きく離れた場所に移動したら、余分な書式が残っています。

「パフォーマンスをチェック」で調べる
「校閲」タブの「パフォーマンスをチェック」を押すと、右に「ブックのパフォーマンス」が開き、最適化できるセルの数が出ます(①)。試したファイルでは 195,024 個のうち 175,000 個が対象でした。

お使いの Excel にこのボタンがないときは、Ctrl+End で調べて、次の「書式のクリア」で直します。
【実測】何がどれだけ重いのか
2 万行の表に原因を 1 つずつ足して、ファイルの大きさと開く時間を測りました(3 回の中央値)。数字はパソコンによって変わるので、比べる目安にしてください。
| 足したもの | 大きさ | 開く時間 |
|---|---|---|
| なし(2 万行の表だけ) | 360 KB | 0.12 秒 |
| 20 万行まで 26 列の余分な塗りつぶし | 12,131 KB | 約 2.5 秒 |
| シートの全行を塗りつぶし | 367 KB | 1.01 秒 |
| 写真 1 枚を元の大きさで | 4,975 KB | 0.21 秒 |
| 同じ写真を小さく表示 | 921 KB | 0.14 秒 |
| 小さな図形 3000 個 | 580 KB | 0.46 秒 |
| 条件付き書式 500 個 | 367 KB | 0.40 秒 |
| 名前の定義 2000 個 | 375 KB | 0.20 秒 |
| 空のシート 50 枚 | 389 KB | 0.23 秒 |
開く時間にいちばん効いたのは、広い範囲の余分な書式です。写真は大きさを増やしますが、開く時間はあまり変わりませんでした。写真を軽くする方法は画像を圧縮する方法で説明しています。
余分な書式を消して軽くする方法
- データのすぐ下のセルを選びます(練習ファイルなら A5001)。
- Ctrl+Shift+End を押して、最後のセルまで選びます。
- 「ホーム」タブの消しゴムのボタンを押します。
- 「書式のクリア」を押します。
- 上書き保存します。

Ctrl+End を押すと、データの最後で止まるようになりました。データの右の列に書式が残っているときは、列についても同じように消します。

効いた方法・効かなかった方法
12MB になったファイルで、直し方を比べました。
| やったこと | 保存後の大きさ | 開く時間 |
|---|---|---|
| 書式のクリア | 360 KB | 0.12 秒 |
| 行と列を削除 | 360 KB | 0.13 秒 |
| Delete キー(内容のクリア) | 12,131 KB(変わらない) | 約 2.5 秒 |
| 塗りつぶしを「なし」にして保存 | 12,131 KB(変わらない) | 約 2.1 秒 |
| ↑を開き直してもう一度保存 | 360 KB | 0.12 秒 |
| .xlsb 形式で保存 | 1,059 KB | 0.80 秒 |
Delete キーでは軽くなりません。Delete で消えるのは内容だけで、書式は残るからです。罫線・太字・表示形式でも、同じ範囲に付けると 12,131 KB になりました。
「すべてを最適化」で直す場合
「ブックのパフォーマンス」の「すべてを最適化」でも直せます(②)。同じ形で試したファイルは 597 KB から 95 KB になり、データはそのままでした。ただし、データのないセルに付けた塗りつぶしは消えました。念のためコピーを取ってから試してください。
【実測】入力のたびに待たされるときは、数式を疑う
セルを 1 つ入力したときに、計算にかかった時間を測りました。
| 数式 | 関係ないセルを直す | 元データを直す |
|---|---|---|
| 足し算 2 万個 | 0.003 秒 | 0.002 秒 |
| VLOOKUP 2 万個(列全体を指定) | 0.003 秒 | 0.002 秒 |
| OFFSET 2 万個 | 0.007 秒 | 0.009 秒 |
| INDIRECT 2 万個 | 0.042 秒 | 0.042 秒 |
| SUMPRODUCT 1000 個 | 0.002 秒 | 0.876 秒 |
| SUMPRODUCT 1000 個+OFFSET | 0.905 秒 | 0.881 秒 |
OFFSET と重い集計式を組み合わせると、関係ないセルを直すだけで毎回 0.9 秒かかりました。OFFSET、INDIRECT、NOW、TODAY などは、どのセルを直しても計算し直される関数です。重い式と組み合わせないようにします。
VLOOKUP の列全体の指定(C:D)は、範囲を指定した場合と計算時間が同じでした(全体の再計算でどちらも 0.15 秒)。この検証では遅くなりませんでした。
エクセルが重いときの確認表
| 症状 | 確かめること | 対処 |
|---|---|---|
| 開くのが遅い | Ctrl+End でデータの外へ移動するか | 余分な書式をクリアする |
| ファイルが大きい | 写真を元の大きさのまま入れていないか | 画像を圧縮する |
| 入力のたびに待たされる | OFFSET などと重い集計式の組み合わせ | 数式を見直す |
| ファイルが開かない | 表示されるメッセージ | 開かないときの直し方 |
よくある質問
Delete キーで消したのに軽くならないのはなぜ?
Delete キーは内容だけを消して、書式を残すからです。試したファイルでは大きさが変わりませんでした。「書式のクリア」か、行の削除を使います。
.xlsb にすると軽くなる?
試したファイルでは、12,131 KB が 1,059 KB になりました。ただし、余分な書式を消した 360 KB には及びませんでした。先に余分な書式を消すのがおすすめです。
VLOOKUP は列全体を指定すると重くなる?
2 万個の式で測った範囲では、範囲を指定した場合と差がありませんでした。

コメント