vlookup関数が遅い理由は、あなたの使い方が悪いから

vlookup関数を使うと、
エクセルの動きが遅くなるからイヤ。
という人が多いです。

でも、多くの場合、
「vlookup関数の使い方が悪い」から
動きが遅くなるだけなのです。

vlookup関数が遅いのはなぜ?

vlookup関数のイメージは、
単語帳をぱらぱらとめくって、
該当する単語が書かれているページを探す、
というものです。

ここで、
ちょっとイメージして欲しいのですが、

  • 単語帳は、100,000ページある
  • 単語帳のページの並びには、規則性がない

という状況で、
「excel」という単語を探して、と言われたら、どうでしょう?

どのページに「excel」という単語が書かれているか
全くわかりませんから、

単語帳を
最初から最後のページまで、
1ページ、1ページめくって、
どの単語が書かれているページかを
調べていかないといけないわけです。

とても大変な、時間がかかる作業だ、
ということがわかると思います。

何も考えずにvlookup関数を使う、というのは、
こういうことをやっているのと全く一緒です。

そりゃ、遅くなるのも当たり前です。

速く単語を探すためには、どんな工夫をしますか?

さて、先ほどの単語帳の話。
探すスピードを上げるには、どういう工夫をしますか?

…(ちょっと考えてみてください)

考えてみましたか?

いろいろな方法がありますが、

よくある方法として、
「単語帳を単語の順番で並び替える」
というものがあります。

単語の順番で並び替えてあれば、
全てのページを「まじめ」に見ないでも、
目的の単語が、どのあたりにありそうか
「あたりをつける」
ことができます。

明らかに、探すスピードは速くなります。

vlookupの4つめの引数は「探し方」を指定している!

さて、vlookup関数の話に戻ります。

vlookup関数には「4つ」の引数があるのですが、

4つめの引数には、
「true」か「false」を入れることになっています。

多くの解説書では、

  • true :近似値検索
  • false:完全一致検索

という解説がされていますが、

残念ながら、
この「近似値検索」か「完全一致検索」かという性質は、
この引数の「本質」ではありません。

本当に重要なのは、
「true」を指定すると、
「探すスピードが速くなる」

ということです。

あらかじめ、参照先の表が、
キー項目の順番に「並べ替えてある」ことが前提となりますが、

4つ目の引数を「true」に指定すると、
目的のキー項目がどのあたりにあるか、
あたりをつけながら探してくれます。

その結果、
「探すスピードが速くなります」。

ですから、
vlookup関数を使う場合で、
件数が膨大になりそうな場合は、
たとえ「完全一致検索がしたい」場合であっても
4つ目の引数を「false」と指定してはいけません

そういうことをやっているから、
vlookup関数の動きが遅くなってしまうのです。

そうではなく、
近似値検索をしたい・したくない、にかかわらず、
あらかじめ、
参照先の表を「キー項目」で並べ替えたうえで、
4つ目の引数を「true」に指定しましょう。

そうすることで、
vlookup関数は、劇的に速くなります。

なお、
「完全一致検索がしたい」という場合には、

次のように、
「true」と指定したvlookup関数を2回使うことで、
「完全一致検索」ができます。

vlookuposoi_1

2つのセルを使うのがイヤであれば、
次のように、vlookup関数の入れ子にしてしまいましょう。

=IF(A2=VLOOKUP(A2,外部表!$A$2:$B$11,1,TRUE), VLOOKUP(A2,外部表!$A$2:$B$11,2,TRUE), "")

それでも、
「false」と指定したvlookup関数を1回使うよりは、
圧倒的に高速です。

もっとvlookup関数に対する理解を深めたいのであれば

今回の記事はこれで終わりですが、
下記記事も合わせて読むと、さらにvlookup関数のイメージが膨らみます。
vlookup関数を使いこなすために「アナログなイメージ」を掴もう
ぜひ、読んでみてください!

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。