エクセル|Excel

VLOOKUP関数でExcelの動作が重くなった時の対処法 ヒントはTRUE

Excel vlookup関数をTrueで高速化 エクセル|Excel

最近Excelで、

VLOOKUPという検索関数を多用することが増えました。

 

しかし、この関数を使ったエクセルファイルで

検索する元データを日々追加していく度に、

  • Excelの動作が重くなる
  • 処理が遅い
  • フリーズする
  • カーソルが丸になって、グルグル回ったままになる
  • 他の作業をしようとすると画面が白くなって固まってしまう

 

そんな状況になってしまいました。

データが大きいから仕方がないと思っていましたが、

大きな表からVLOOKUPを多用する場合でも

処理を早くする方法がありましたので紹介します。

 

そもそもVLOOKUPをネットの書き込みで学んだ私は、

=VLOOKUP(検索値,検索範囲,検索行数,検索方法)

の最後の検索方法の引数の値は常に

FALSE(完全一致)」で使っていました。

間違いもないし、分かりやすかったので・・・

 

しかし、FALSEを使う場合、

元データのすべてデータを検索してから

完全に一致するものがあるかを返す計算式のため、

検索対象のデータが増る度にパソコンがフリーズする

といったことになってしまうようです。

 

要するにFALSEを使うと効率が悪いということですね。

では、どうすればいいのか?

検索方法の引数の値にはFALSEではなく、

TRUE(近似値)を使います。

 

ちなみにTRUEの場合は省略可能なので

FALSEを使用する場合、

=VLOOKUP(検索値,検索範囲,検索行数,FALSE)

だったものが、

=VLOOKUP(検索値,検索範囲,検索行数)

の3つの項目のみ指定するだけで計算が可能です。

 

さて、ここで注意です。

近似値検索を使う場合には

元データを必ず昇順にしておくこと

元データにない場合は検索値に近い値が入る

という点に気を付けてください。

 

例を挙げて説明します。

以下の表を見てください。

検索元の元データ(左)から

VLOOKUP関数でFALSE(完全一致)を使った場合(中央)と、

VLOOKUP関数でTRUE(近似値)を使った場合(右)です。

 

元データの5から下が昇順になっていません

そして「4.2・4.9・6」が抜けています

 

TRUEの近似値検索をする場合は

元データを昇順にすることで、

FALSE(完全一致)を使用した場合とほぼ同じ結果が得られますが

元データに無いものは以下のように近似値が表示されます。

例えば、元データに無い「6」の場合

右の近似値を使った式では

「6」近い「5」の値が出てしまうことになります。

(4.2や4.9の場合も同様です)

 

欠けている数値が無いことを前提に、

元データを昇順にしてあれば

検索方法の引数をFALSEからTRUEに変更することで

劇的に処理が速くなります。

 

一度おためしあれ!

Amazonのおすすめ
事務屋ドットコム

コメント