エクセルが重い原因と軽くする方法|原因の調べ方・Deleteでは軽くならない【実測】

エクセルが重い原因と軽くする方法|原因の調べ方・Deleteでは軽くならない【実測】

エクセルが重い原因を実際に測ると、いちばん効いたのは、データのないセルに残った書式でした。12MB のファイルが 360KB に、開く時間が約 2.5 秒から 0.12 秒になりました。

原因は「校閲」タブの「パフォーマンスをチェック」と Ctrl+End で調べられます。この記事では、原因ごとの重さの実測結果と、効いた直し方・効かなかった直し方を、実際の Excel の画面で説明します。

練習用Excelファイル(無料ダウンロード)
データは 5000 行ですが、30000 行まで余分な書式が残っているファイルです。自分で軽くして試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

エクセルが重い原因の調べ方

Ctrl+End で最後のセルを確かめる

Ctrl+End を押すと、Excel が「使っている」と考えている最後のセルに移動します。データの最後より大きく離れた場所に移動したら、余分な書式が残っています。

エクセルでCtrl+Endを押すとデータのない30000行目に移動した画面
エクセルでCtrl+Endを押すとデータのない30000行目に移動した画面

「パフォーマンスをチェック」で調べる

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

エクセルのブックのパフォーマンスで最適化できるセルの数とすべてを最適化ボタンの画面
エクセルのブックのパフォーマンスで最適化できるセルの数とすべてを最適化ボタンの画面

お使いの Excel にこのボタンがないときは、Ctrl+End で調べて、次の「書式のクリア」で直します。

【実測】何がどれだけ重いのか

2 万行の表に原因を 1 つずつ足して、ファイルの大きさと開く時間を測りました(3 回の中央値)。数字はパソコンによって変わるので、比べる目安にしてください。

足したもの大きさ開く時間
なし(2 万行の表だけ)360 KB0.12 秒
20 万行まで 26 列の余分な塗りつぶし12,131 KB約 2.5 秒
シートの全行を塗りつぶし367 KB1.01 秒
写真 1 枚を元の大きさで4,975 KB0.21 秒
同じ写真を小さく表示921 KB0.14 秒
小さな図形 3000 個580 KB0.46 秒
条件付き書式 500 個367 KB0.40 秒
名前の定義 2000 個375 KB0.20 秒
空のシート 50 枚389 KB0.23 秒

開く時間にいちばん効いたのは、広い範囲の余分な書式です。写真は大きさを増やしますが、開く時間はあまり変わりませんでした。写真を軽くする方法は画像を圧縮する方法で説明しています。

余分な書式を消して軽くする方法

  1. データのすぐ下のセルを選びます(練習ファイルなら A5001)。
  2. Ctrl+Shift+End を押して、最後のセルまで選びます。
  3. 「ホーム」タブの消しゴムのボタンを押します。
  4. 「書式のクリア」を押します。
  5. 上書き保存します。
エクセルで余分なセルを選んで書式のクリアを押す画面
エクセルで余分なセルを選んで書式のクリアを押す画面

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

エクセルで書式のクリアのあとCtrl+Endがデータの最後で止まる画面
エクセルで書式のクリアのあとCtrl+Endがデータの最後で止まる画面

効いた方法・効かなかった方法

12MB になったファイルで、直し方を比べました。

やったこと保存後の大きさ開く時間
書式のクリア360 KB0.12 秒
行と列を削除360 KB0.13 秒
Delete キー(内容のクリア)12,131 KB(変わらない)約 2.5 秒
塗りつぶしを「なし」にして保存12,131 KB(変わらない)約 2.1 秒
↑を開き直してもう一度保存360 KB0.12 秒
.xlsb 形式で保存1,059 KB0.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 個+OFFSET0.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 万個の式で測った範囲では、範囲を指定した場合と差がありませんでした。

練習用Excelファイル(無料ダウンロード)
Ctrl+End と書式のクリアを試せるファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:ファイルの関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次