ファイルを開くたびに待たされる。保存を押すと、しばらく画面が固まる。 「シートが多すぎるのかな」と、古い月のシートを消そうか迷っていませんか?
私も、製造業の会社に入ったころ、在庫管理などの Excel の管理表が重くて困りました。 月が変わると新しい月を横に足し、過去の月は非表示にしていくだけの作りだったんです。 関数でつながったまま、使えば使うほど重くなっていきました。
シートを消したりファイルを分けたりする前に、今の Excel のまま確かめられる所があります。 最初の一歩は、キーの組み合わせを1つ試すだけです。
- 確かめる所は、使用範囲、書式と図形、ほかのシートやブックへの参照の3か所です。
- 使用範囲は Ctrl+End で確かめられます。表の終わりよりずっと先へ移るシートが、直す候補です。
- シートを減らす・ファイルを分けるのは、3か所を見たあとで考えても間に合います。
エクセルが重い原因は1つではないので、先に3か所を確かめます
重さのもとは、シートの枚数だけとは限りません。
Microsoft の資料には、ブック(Excel のファイル)を開く・閉じる・保存するのが遅い原因が、いくつも挙げられています。 ブックのサイズが大きいこと、使用範囲の問題、ほかのブックへの多数のリンク、計算の遅さなどです。
出典:Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」
では、シートは何枚までなら大丈夫なのでしょうか。 ブックに入れられるシートの数は、決まった枚数ではありません。使えるメモリ(パソコンが作業に使う記憶の場所)しだいです。
出典:Microsoft サポート「Excel の仕様と制限」
枚数を数えても、答えは出にくいわけです。 だから私は、枚数より先に、使用範囲、書式と図形、参照の順に見ることにしています。 たとえば、表は小さいのにファイルだけが大きいブック。こういうときは、表の外に何かが残っていないかを疑います。
使用範囲は、Ctrl+End で表の終わりより先に移らないかを見ます
最初に見るのは、使用範囲です。 使用範囲とは、ワークシートのうち、Excel が「使われた」とみなしている領域のこと。
Excel は、この使用範囲の情報だけを保存しようとします。 ところが、編集や書式設定の操作で、実際に使っている範囲を大きく超えて広がることがあります。 これが、動作やファイルサイズの問題の原因になることがある、というのが Microsoft Learn の資料の説明です。
出典:Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」
Ctrl+End の移り先は、データか書式がある最後のセルです
確かめ方は、ワークシートのどこかをクリックしてから、Ctrl キーを押したまま End キーを押すだけです。 データまたは書式を含む最後のセルが見つかります。 Excel は、データの範囲の外にある空のセルの書式も保存します。そのせいで、ファイルサイズが必要以上に大きくなることがあります。
出典:Microsoft サポート「ワークシートの最後のセルを特定してリセットする」
Windows の Excel では、移る先は、使われているいちばん右の列と、いちばん下の行が交わるセルです。 右はしの列と下はしの行は別々に決まるので、何も入っていないセルに移ることもあります。
出典:Microsoft サポート「Excel のキーボード ショートカット」
たとえば、表は画面に収まるくらいなのに、ずっと下の何も入っていない行まで移ったとき。 そこまでのどこかに、書式だけが残っているのかもしれません。


どのくらい離れていたら直すべきか、という目安の数字は、「ワークシートの最後のセルを特定してリセットする」のページの確かめた範囲では、見当たりませんでした。 私なら、自分が使っているつもりの範囲と見比べて、明らかに遠くまで移るシートから手を付けます。
広がっていたときの直し方は、資料によって書き方が違います
直し方は、2つの資料で少し違います。
| 資料 | 直し方 | 添えられていること |
|---|---|---|
| Microsoft Learn の資料 | 実際に使っている最後のセルより下の行と、右の列を全部削除する。そのあとブックを保存することを検討する | 先にバックアップ(控えのコピー)を作る。削除する所にかかる範囲を持つ数式は、範囲が小さくなるか、#N/A のエラーに変わる |
| Microsoft サポートのページ | データのある最後の列より右の列、または最後の行より下の行を見出しで選び、ホームのタブのクリアのメニューから、すべて消す操作を選ぶ。保存して、閉じる | 開き直すと、データのある最後のセルが、ワークシートの最後のセルになる |
出典:Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」、Microsoft サポート「ワークシートの最後のセルを特定してリセットする」
行や列を削除する前に、その場所を使っている数式が無いかを見てください。上の表のとおり、数式の範囲が小さくなったり、エラーに変わったりします。
どちらの直し方を選ぶにしても、私は先にファイルの控えを取ります。 面倒くさがりですが、消したあとで「あの列、要るんだった」となるほうが、もっと面倒なんですよね。
直すのは、いちばん重いと感じるシートを1枚だけ。 開くときと保存するときの待ちが変わるかを見て、変わらなければ、原因は別の所にあると見当がつきます。
書式と図形は、列や行の全体に付けたものと、気づいていないものを見ます
次は、書式と図形です。
Microsoft のメモリについての資料によると、書式設定が多すぎるとファイルが大きくなり、動作が遅くなることがあります。 列全体や行全体に色や罫線を付けた場合は、書式が多すぎるとみなされます。
出典:Microsoft Learn「使用するメモリを減らすことができるように Excel ブックをクリーンアップする」
行が増えても困らないように、列ごと色を塗っておく。 心当たり、ありませんか? やりたくなる気持ちは、わかります。
見る所は、次の4つです。
- 列全体・行全体に、色や罫線を付けていないか
- Web ページやデータベースから、書式ごとコピーしたり取り込んだりした表がないか
- 別のブックからコピーしたセルが増えていないか(スタイルというセルの見た目の設定も一緒に写り、ファイルを大きくし続けます)
- 見えない図形や、重なった図形が残っていないか
出典:Microsoft Learn「使用するメモリを減らすことができるように Excel ブックをクリーンアップする」
4つ目の図形は、グラフ、描いた図形、コメント、写真など、シートの上に置かれたものです。多いと、メモリを多く使います。 Web ページやほかのワークシートからコピーされ、見えない状態や重なった状態で残っていて、使っている人が気づいていないことも多いもの。 確かめるときは、ホームのタブにある検索と選択のメニューから、図形を一覧で見るウィンドウを開く流れです。
出典:Microsoft Learn「使用するメモリを減らすことができるように Excel ブックをクリーンアップする」
条件付き書式(条件に合うセルに、自動で色などを付ける機能)と、データの入力規則(セルに入れてよい値を決める機能)も見ておきます。 どちらも便利ですが、多く使うと計算がかなり遅くなることがあります。
出典:Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」
やめる必要はありません。 見るのは、もう使っていない表や列に、設定だけが残っていないかどうかです。
参照は、ほかのシートやブックを見にいく数式を見ます
3つ目は、数式がどこを見にいっているかです。
たくさんのワークシートを使うと、ブックは使いやすくなります。 ただ、ほかのワークシートへの参照を計算するのは、同じワークシートの中の参照を計算するより、一般に遅くなります。
出典:Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」
たとえば、月ごとのシートから年間の合計を集めている管理表です。 月が増えるたびに、シートをまたぐ数式も増えていきます。 月別シートの手間そのものは、エクセルの月別シート管理が大変な理由に書きました。
ブックをまたぐリンクは、できるだけ減らします
ほかのブックを見にいくリンクは、できるだけ避ける、というのが Microsoft Learn の資料の案内です。 遅く、壊れやすく、見つけて直すのがいつもやさしいとは限らないためです。 どうしても使うなら、リンク先のブックを閉じたままにせず全部開いておき、リンク先のブックを先に開きます。
出典:Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」
重いからとファイルを分けると、今度は、分けたファイルどうしをつなぐリンクが要るようになります。分ける前に確かめておきたい理由の1つです。
3か所を見ても重いときに、シートを減らす・ファイルを分けるを考えます
3か所を見たあとなら、減らす・分けるも、理由を持って選べます。
シートを減らすなら、使っていないデータだけのシートからです
Microsoft サポートのページは、ファイルサイズを小さくする方法の1つに、ワークシートの数を減らすことを挙げています。 対象は、使っていないデータだけが入っていて、使っている数式を含まないシートです。 ブックの中のデータが多いほど、ファイルは大きくなります。
出典:Microsoft サポート「Excel スプレッドシートのファイル サイズを小さくする」
理由として挙がっているのは、データの量です。 私なら、消す前に、そのシートを見にいっている数式が無いかを確かめます。 古い月でも、年間の合計が見にいっているシートは、そのままでは消せないので。
ファイルを分けるか、まとめるかは、場面で変わります
ブックは、数の少ない大きなものを使うほうが、たくさんの小さなものを使うより、ふつうは良い結果になります。 ただし「いつも」ではありません。めったに再計算しない計算を別のブックに置く場合と、メモリが足りない場合は、例外です。
出典:Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」
一方で、書式や数式などを見直しても直らない場合の手は、次の3つです。 64ビットの Excel(Excel の種類の1つ)に移る。問題のブックを別々のブックに分ける。サポートに問い合わせる。
出典:Microsoft Learn「使用するメモリを減らすことができるように Excel ブックをクリーンアップする」
どちらが合うかは、ブックによって違います。 私は、分けるのは、ほかの所を確かめたあとの手だと考えています。
というのも、私自身が先に分けた側だからです。 重くなった管理表を月でファイルに区切り、テンプレート(ひな形)を切り替える形にしました。 月をまたいで引き継ぐ数字があったので、VBA(Excel を自動で動かすための言語)で必要な部分だけを切り出し、テンプレートに入れていました。
今だったら、このやり方はやらないと思います。 今思えば、作り方そのものにも問題があったんです。 非表示にした月の数式がどう計算されていたのかは、今回の資料では、私も確かめきれていません。
まとめ:重いときは、減らす・分ける前に3か所を確かめる
- 使用範囲:Ctrl+End で、表の終わりよりずっと先へ移らないかを見る
- 書式と図形:列や行の全体に付けた書式と、気づいていない図形を見る
- 参照:ほかのシートやブックを見にいく数式を見る
まずは、いちばん重いと感じるブックのコピーで、Ctrl+End を押してみてください。 移った先をメモしておくと、直す前と後を比べられます。
Excel で回るうちは、Excel で構いません。 ただ、私もデータが重くなりやすいことには手を焼きました。3か所を直しても、データが増えるたびに重さが戻るなら、表の作りや仕事の流れから見直す時期かもしれません。 同時に更新できないといった、重さとは別の困りごとは、共有Excelを同時編集できない理由と解決策に書いています。
Next Creations では、現場の作業を観察し、その流れに合わせた業務システムの個別開発をお受けしています。 Ctrl+End で移った先のメモだけでも構いません。info@next-creations.jp までお気軽にご相談ください。
この記事で確かめた資料
この記事の Excel の機能の説明は、次の Microsoft の公式ページで確かめました。
- Microsoft Learn「Excel のパフォーマンス – パフォーマンスの障害を最適化するためのヒント」(開発者向けの、古めの資料です。日本語のページは機械翻訳です)
- Microsoft Learn「使用するメモリを減らすことができるように Excel ブックをクリーンアップする」(IT 管理者向けの資料で、機械翻訳です。メニューの名前は、実際の画面と違うことがあります)
- Microsoft サポート「Excel の仕様と制限」
- Microsoft サポート「ワークシートの最後のセルを特定してリセットする」(適用対象の表示は Excel for Microsoft 365、Excel 2024、Excel 2021 です)
- Microsoft サポート「Excel のキーボード ショートカット」
- Microsoft サポート「Excel スプレッドシートのファイル サイズを小さくする」
画面の文言や手順は、Excel が新しくなると変わることがあります。お使いの Excel で一度確かめてみてください。





コメント