ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

Excelの動作が重たいのは「折り返して全体を表示する」設定が原因かも

概要

Excelが重たい理由は様々指摘されていますが、何をしても改善しないときは「折り返して全体を表示する」設定がONになっているからかもしれません。本エントリではこの事象についての検証結果をまとめます。

テスト環境

  • Excel 2013 (15.0.5189.1000)

他のバージョンでも同様の事象が再現することを確認しています。

  • CPU AMD A10-5800K 3.8GHz
  • メモリ 24.0GB

CPUこそ古いですが、メモリはそれなりに積んでいます。

テストファイル

「折り返しOFF」と「折り返しON」の2バージョンを作成します。

  1. Excelファイルを「空白のブック」で新規作成する。
  2. (「折り返しON」のみ)A-K列の「折り返して全体を表示する」設定をONにする。
  3. A-K列、1-1048576行の全セルを 'a' (1文字)で埋める。
  4. Excelブック (*.xlsx) 形式で保存する。

テスト項目・結果

(1) ファイルサイズ
ファイルのプロパティから「サイズ」の値を確認する。

(2) オープン
ファイルをダブルクリックしてから表が表示されるまでの時間を計測する。
3~5回目の計測値を平均して結果とする。

(3) セル移動
ファイルを開いた直後にctrl+↓キーで最下行に移動する時間を計測する。
3回の計測値を平均して結果とする。

(4) 並べ替え
ファイルを開いた直後に並べ替え(昇順)を実行し、完了する時間を計測する。
3回の計測値を平均して結果とする。

折り返し設定 ファイルサイズ オープン セル移動 並べ替え
折り返しOFF 33.4MB 20秒 0秒 3秒
折り返しON 34.0MB 22秒 39秒 40秒

まとめ

折り返しOFFの場合に比べ、折り返しONの場合には処理時間が大幅に延びています。単純に同じ動作を繰り返す場合は処理速度の改善するケースがありましたが、実際の利用シーンでは様々な操作を行う中でたびたび待たされる状況が発生しました。

Excelのバージョンによってはファイルを開いて操作可能となるまでに長い時間を待たされるケースもあるようです。
別の環境でファイルの種類を「Excel 97-2003 ブック (*.xls)」にしても同様の事象が再現することを確認しました。
セルに設定する文字列が1文字でも事象を確認できており、実際の表示の折り返し有無とは無関係でした。

現在のところ、解決策は見つかっていません。回避策として、不要な「折り返して全体を表示する」設定はOFFにすることをお勧めします。