EXCELでVLOOKUP関数を使いたいけど、うまくいきません。何かコツがあるのでしょうか?

今回の記事はそのような悩みにお応えするものです。

VLOOKUP関数はコツを掴めば誰でも、簡単に使えます。
使う場面も多いので一度覚えると仕事がかなりはかどります。
ということで、
記事の内容
- VLOOKUP関数とは
- VLOOKUP関数の使い方のコツ
- 具体例で説明
で進めていきます。
それでは記事の中身に入っていきましょう。
VOOKUP関数とは
VLOOKUP関数をご存じでしょうか?
VLOOKUP関数とは
あるテーブル(表)から、特定のデータ(文字列や数値)に対応する、その横に並ぶセルの情報を取り出す関数。
例えば次のような売上管理表があるとき、どうやって商品(果物)の単価を入力していきますか?
一つ一つ手入力ですか?


面倒だと思う方は、VLOOKUP関数を使いましょう。
まず商品テーブルを作って、それぞれの単価を入力します。


今後この「商品テーブル」が商品単価を管理するマスターデータになります。
なので別シートに作成しても良いと思いますよ!
次に先ほどの売上管理表の「E3」のセルに、次の計算式を入力します。
=VLOOKUP(C3,$I$3*$J$14,2,FALSE())

このVLOOKUP関数により、その「商品名(果物)」をキーに商品の「単価」を取り出して表示してくれます。
大事なこと
VLOOKUP関数のフォーマット
=VLOOKUP(検索値,範囲,列番号,[検索方法])
この関数をすべての行にコピペすると、

あっという間に商品の単価を表示することができました。
これの何が良いかって、入力の手間が省けるだけでなく、編集の手間もかなり省けるところです。

商品テーブルの「単価」を変更するだけで、それを参照する全てのセルが自動で更新されますからね!
例えば、先ほどの売上管理表において、「ミカン」の値段が50円ではなく、80円であった(誤りがあった)ことに気付いたとします。
このとき、手入力だとミカンの行を探して一つ一つ変更していく必要がありますが、VLOOKUP関数を使っていれば、あっという間です。
商品テーブルのミカンの単価を変更するだけで、

こんな感じで「売上管理表」のミカンの単価も自動で変更してくれます。

このVLOOKUP関数は使い道が豊富なのでぜひとも使えるようになりましょう。
コツは「検索する列を範囲指定の左端に」
VLOOKUP関数でもっともつまづくポイントは、その範囲指定です。

「=VLOOKUP(検索値,範囲,列番号,[検索方法])」
の「範囲」のところです。
よく間違ってしまうのは、「検索値」が含まれている表全体を範囲指定してしまうことです。
先ほどの売上管理表の「商品テーブル」でいうと、「No.」も含めた範囲「$H$3*$J$14 」を指定してしまう間違いです。これだとうまくいきません。
このとき指定すべき範囲は「$I$3*$J$14」です。


今回の「検索値」は「商品名(果物)」でしたので、商品名が入力されているI列を範囲指定の左端にする必要があります。
これが、VLOOKUP関数の最大のつまづきポイントです。
大事なこと
「検索値」を探す列をVLOOKUP関数の「範囲指定」の一番左端にする

私も最初はここがさっぱりわからず、気付くまでかなり試行錯誤しました。
でもこのコツさえ掴んでいれば、もうマスターしたも同然です。
列番号は検索値から「表示させる列」までの順番
今回の例では、検索値は「商品名(果物)」で、表示したいのは「単価」です。
「単価」は、VLOOKUP関数で範囲指定した中の左から2番目の情報なので「2」を入力します。

覚え方は「VLOOKUP関数で指定した範囲の左端から何番目か」です。
検索方法は原則「FALSE()」

「[検索方法]」は少しわかりづらいですが、最初のうちは原則「FALSE()」を使いましょう。
「FALSE()」の他に「TRUE()」があります。これらの違いは、検索値を完全一致で探すか、部分一致で探すかの違いです。
大事なこと
TRUE()・・・部分一致で検索する
FALSE()・・・完全一致で検索する
私はFALSE()を使うことが多いです。
なぜなら、TRUE()を検索方法として指定すると意図しない結果が表示される場合があるからです。

今回の例で使用した売上管理表でも「TRUE()」を使うと、取り出す情報がおかしくなりました。
※商品テーブルの「商品名」を昇順に並び替えると正常な結果が得られます。
こんなことがあるので、最初のうちは原則「FALSE()」とすることをおすすめします。
おわりに
今回の記事では覚えておくと便利なVLOOKUP関数をご紹介しました。
=VLOOKUP(検索値,範囲,列番号,[検索方法])
VLOOKUP関数は、検索したデータの横に並ぶセルの情報を取り出してくれる便利な関数です。
コツは 「検索する列を範囲指定の左端に」 。
あとは取り出したい列番号の入力と検索方法に「FALSE()」を指定するだけでOKです。
難しそうに見えて意外と簡単ですので、この機会に覚えておきましょう。

一度覚えると使う場面もかなり多くなりますよ!