エクセルが重くなった原因に絡んでいた意外な要因。


いつも業務で使用しているエクセルファイル(Excel2013)の挙動が急に重くなった

このままでも特に支障はないが、なんだか気持ち悪いので業務の合間を縫い、数日かけて原因を探っていたのだ。

そしてついに原因を突き止めてやったぜ!それに絡んでいた意外な要因も。

あ、ちなみに最初にウイルスチェック(完全スキャン)をかけてパソコンに問題がないことを確認済みである。

スポンサードリンク

エクセル、応答なし!

ファイルを起動するときの読み込みに時間がかかるようになったし、コピーペーストしようとすると、応答なしになってしまうのだ。

そして応答なしからの、エクセルの再起動となる現象

重くなったのはそのファイルだけで、他のファイルはそうでもない。

ということは応答なしになってしまう該当のエクセルファイルだけの問題の可能性が高い。

原因を探ってみる

コピーペーストは行ごと選択で50行から100行くらいの範囲。

何年もこのファイルを使っているが、こんなことは初めてだ。

原因を突き止めるため、ひとつずつ怪しいところをチェックしてみよう。

タスクマネージャーでメモリ使用量をチェック

タスクバーを右クリック→タスクマネージャーをクリック。

”パフォーマンス”タブで、該当エクセルファイルを開いているときのメモリ使用量を確認。

メモリ使用量はまだ余裕あるので、パソコン自体の問題ではなさそう。

他のエクセルファイルの挙動を確認

一応、他のエクセルファイルで再現性があるか試す。

エクセル自体の不具合ならば、エクセル自体の修復が必要だから。

2、3個の別ファイルを試したが、コピーペーストで応答なしにはならなかった。

やはり該当ファイル単体に原因があるようだ。

隠れたオブジェクトがないかを見てみる

  1. Ctrl+Gを押し、ジャンプ選択を呼び出す。
  2. ジャンプと書かれている窓の下部にあるセル選択をクリック
  3. 選択オプションの中のオブジェクトにチェックを入れOKをクリック

はい、何にも選択されませんでした

自分しか使っていないファイルだし、該当ファイルはグラフやオブジェクトを使用していないものだから当然の結果といえば当然なのだが。

もし、意図せずコピーペーストしたオートシェイプの残骸が残っていたりすると、この操作をすることによってオブジェクトが全選択される。

選択されたオブジェクトをDeleteキーを一発押すだけで簡単に一掃できる。

関数やマクロをほとんど使用していないのにエクセルファイルが異常に重い(10MB近くある)場合はオブジェクトを疑ってみるといいだろう。

数年前「エクセルがおかしいから見てくれ」と言われ、上司のパソコンでこれを実行したことがある。

遥か印刷範囲外に1万個以上のオブジェクト(直線のオートシェイプ)を発見し、吹き出しそうになったことがある。ちなみにその時は20MBもあるファイルだった。

関数や数式を使いすぎていないか

関数や数式を多く使用していると、当然処理する箇所が増えるわけだから重くなる。

良い機会なので、バックアップを取った後、惰性で残しておいたが今後使用しないと思われる数式が入った列を数行削ってみた

上書き保存後、改めてコピーペースト。

やっぱり応答なしになる……なぜだ!?

遂に真犯人を発見!

エクセルファイルが重いときに、会社で良くやる対処法を試したのだが症状が改善しない。

試しに問題なく動く過去のバックアップと現在の状態のものを参照して比較してみたら、すぐに以下の仮定が頭に浮かんだ。

条件付き書式が怪しすぎる。

現時点のファイルをバックアップしてから、条件付き書式をすべて解除してみる。

上書き保存して閉じた後、該当のエクセルファイルを開いてみる。

……あ、軽くなった!

これは期待できると、すかさずコピーペースト。

……成功。

今回の真犯人は条件付き書式だったか。

実は比較した瞬間に、条件付き書式が原因ではないかと感じたのには理由がある。

この該当エクセルファイル、従業員データを取り扱っているもの。

そして条件付き書式が設定されていた列が取り扱っていたデータは年齢だ。

59歳までは通常書式なのだが、60歳以上になると段階的に書式が設定されているのだ。

つまり、数年前のバックアップと比較して圧倒的にシニアが増えていたのである。

色とりどりの年齢データの列、わかりやすすぎた。

元気なシニア従業員がこんなにも増えていたとは意外だった。

まとめ

エクセルが重いときにまず確認すること。

パソコン自体に問題があるか(ウイルスやメモリ使用量)

エクセル自体に問題があるか

上記の結果ファイルの問題の可能性が高ければ、次のことを確認。

・隠れたオブジェクトがないか。

関数や数式を使いすぎていないか。

条件付き書式を使いすぎていないか。

今回はマクロ付きのファイルではなかったので試さなかったが、マクロのチェック

また、セルの背景を塗りつぶしている箇所を減らしてみるなども試す価値はある。

しかし、今回のエクセルが重くなった原因に従業員の高齢化も絡んでいたとは興味深い。

徐々に60歳以上の従業員が増えていくにつれ、条件付き書式によってデータが肥大化し、ファイルの応答なしを引き起こしていたとは。

他にも同様のエクセルファイルがあるから、元ファイルの条件付き書式は設定せず、加工したファイルだけにしておこうっと。

ひとつ勉強になった。

今回はここまで。

最後までお読みいただきありがとうございました。

スポンサードリンク
エクセルが重くなった原因に絡んでいた意外な要因。
Single Papa Styleの最新ニュース情報を、
いいねしてチェックしよう!

シェア頂けたら嬉しいです。

リンのSNSのフォローはこちら。