【徹底解説!】Excelが大きい、重い現象を解消するワザ!(3)

前々回前回に引き続き、「Excelが大きい、重い現象を解消するワザ!」をご紹介させていただきます。今回は以下の表の「12、不要な数式を削除してみる。数式を見直してみる。」について解説していきます。

カテゴリ 現象/原因 解決方法
画像 画像をコピー&ペーストで貼り付けた。 1、図・写真の挿入方法を変えてみる。
画像ファイルのサイズが大きい。 2、図・写真を圧縮する。
切り取りした箇所が大きい為、写真が小さくてもファイルサイズが大きい。 7、トリミングした画像のサイズを小さくしよう。
オブジェクト 知らないうちに不要なオートシェイプ(図形)が残っている。 8、不要なオブジェクトを削除してみる。
シート 隠しシートがある。シート数が多い。 9、シートの数を減らそう。
数式 数式が多い。数式が複雑。 12、不要な数式を削除してみる。数式を見直してみる。
グラフ グラフのもととなるデータの数式が多い。数式が複雑。 12、不要な数式を削除してみる。数式を見直してみる。
行・列の数 行数、列数が多い。 4、空白の行・列を削除してみる。
設定 定期的に自動保存が実行されるが時間がかかり操作できなくなる。 11、自動保存の設定を変更してみる。
オートフィルターやセルの値を編集する際に、動作が遅い。 10、自動計算の設定を変更してみる。
ブックの共有をしている為、変更履歴データが溜まっている。 5、ブックの共有を解除してみる。
ファイル形式 「Excel2002」より古いバージョンで作成したExcelファイルである。 3、最新の形式で保存しなおす。
その他 上記に当てはならない。原因がわからない。 6、最終手段!データを新しいExcelファイルに全部コピーする。

 

12、不要な数式を削除してみる。数式を見直してみる。

Excelが重い原因の一つとして、最後に解説するのは数式についてです。「10、自動計算の設定を変更してみる。」「11、自動保存の設定を変更してみる。」でも触れましたが、Excelに存在する数式が原因で重い場合に、解決策として各種設定を変更するのでは無く、原因である数式を改善しようと言う事です。

■不要な数式を削除してみる

「あるデータから数式を用いデータ集計を行い表を作成する。またその集計表からグラフを作成する。」というExcelを作成した場合、1回集計表を作ってしまえば集計に使用した数式自体不要になる事があると思います。その場合、数式を削除しておけば、様々なタイミングで行われる再計算処理が無くなる為、Excelの動作を改善できます。

やり方は簡単で、「数式で計算したセルを範囲選択してコピー」→「同じ場所を右クリックして貼り付けのオプションで”値”の所を選択して貼り付ける」だけです。

この手順を行うと選択した範囲の数式は全て削除され、計算結果の値だけになるので計算処理が無くなります。但し、当たり前ですが集計結果を随時更新したい箇所で実行してしまうと、数式を再入力しないと再計算はできなくなりますので気をつけて下さい。


■数式を見直してみる。

こちらが本題です。同じ結果が求められる数式でも、使い方や使う関数によって計算のスピードが変わる事があります。その一例を紹介をいたします。

①VLOOKUP

データ集計の際にお世話になるVLOOKUP。有名な話なのかもしれませんが、使い方によって実行速度に違いがでてきます。その使い方とは、VLOOKUPの4つ目に指定する[検索方法]の値に「TRUE(近似一致)」を指定するか、「FALSE(完全一致)」を指定するかの違いです。

結論から言いますと、「TRUE」を指定した方が、計算速度が早いです。その差は、「VLOOKUPで探す検索範囲のデータ数」と「VLOOKUPを使っている箇所の数」が増えるほど顕著になります。試しに10万件の検索範囲からデータを探すVLOOKUPを10万個Excelに入力してみた所、計算にかかった時間は

[検索方法]の値に「TRUE」を指定…6秒
[検索方法]の値に「FALSE」を指定…87秒

と、10倍以上の差がでました。この結果を見る限り、常に[検索方法]の値に「TRUE」を設定しておけばいいじゃないか!と思いますが「TRUE」で検索をする場合、注意事項が2つあります。


注意事項その1:VLOOKUPで検索する表のキーとなる1列目の値を昇順で並び替えておく事。

例えば右の画像の様に、「EX02」を検索キーにして「エクセル第2講」を検索しようとしても、検索する表を一列目の検索キーで昇順にしておかないと、[検索方法]の値に「TRUE」を設定した方は「EX02」に似ている「EX01」で検索を止めてしまい「エクセル第1講」が検索結果として表示されてしまいます。

「近似一致検索」の場合、表の上から検索キーを探していき、似ている検索キーが見つかるとそこで処理を止めてしまう仕組みになっています。その為、正しく検索あらかじめ検索キーを昇順で並び替えておき、似ている検索キーを集めておく必要があるのです。

ちなみに[検索方法]の値に「FALSE(完全一致)」を設定した方は正しく「エクセル第2講」が検索できています。「完全一致検索」は完全に一致するキーを表の全てから探し出しますので並び順も関係ありません。

「近似一致検索」は似ている値が見つかれば途中で検索をやめる、「完全一致検索」はぴったり一致するキーを必ず探し出す為に全てを検索する。この違いが計算速度の違いの理由となっています。

注意事項その2:探している検索キーが見つからない場合、似ている検索キーを元に検索されてしまう。

こちらも例で説明します。今度は右の図の様に検索キーに一致するものが無い場合の挙動についてです。

「EX02」を検索キーにして「エクセル第2講」を検索しようとしても検索範囲に「EX02」が無い場合、[検索方法]の値に「TRUE」を設定した場合、エラーにならず「EX02」に似ている「EX01」をキーとして「エクセル第1講」が検索結果として表示されてしまいます。

注意事項その1でお伝えした通り、「近似一致検索」は似ている値が見つかれば途中で検索をやめてしまいエラーにならない事があります。一方、「完全一致検索」は完全に一致するキーを表の全てから探し出す為、キーが見つからない場合は必ずエラーになります。

注意事項その1、その2に関して理解した上で、[検索方法]の値に「TRUE(近似一致)」を設定できる場合は積極的に活用てみてください!


今回ご紹介した内容はいかがでしたでしょうか。本来であれば最終回にしようとしたのですが、長くなってしまいますので一旦区切らせていただきます。12、不要な数式を削除してみる。数式を見直してみる。に関してまだ語り足りないので、次回は残りを書かせて頂きます。最終回も是非見てください!

« »

コメントは受け付けていません。