「商品コードを入力したら、自動で商品名や価格が表示される」——Excelでこういう表を見たことがある人は多いと思います。これを実現しているのがVLOOKUP関数です。高校の情報の授業でも必ずと言っていいほど登場する、検索系関数の代表格です。
この記事では、VLOOKUP関数の4つの引数の意味と、特に間違えやすい「検索方法」のTRUEとFALSEの違いを中心に、具体例を使ってわかりやすく解説します。
VLOOKUP関数とは
VLOOKUP関数は、表の一番左の列を上から検索し、一致した行の中から指定した列の値を取り出す関数です。名前の「V」はVertical(垂直)の頭文字で、縦方向(列)に検索することを表しています。
たとえば「商品コード一覧表」から、入力された商品コードに対応する商品名や価格を自動で表示したいときなどに使います。
VLOOKUP関数の書き方(引数の意味)
VLOOKUP関数は次のように書きます。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
| 引数 | 意味 |
|---|---|
| 検索値 | 探したい値が入っているセル(例:商品コードが入力されたセル) |
| 範囲 | 検索対象の表全体。この表の一番左の列が検索の対象になる |
| 列番号 | 範囲の中で、何列目の値を取り出したいか(範囲の一番左の列を1列目として数える) |
| 検索方法 | 完全一致で探すか、近似値で探すかを指定する(TRUE/FALSE) |
それぞれ、以下のような表があるとします。
| A(商品コード) | B(商品名) | C(価格) | |
|---|---|---|---|
| 1 | 商品コード | 商品名 | 価格 |
| 2 | 101 | ノート | 150 |
| 3 | 102 | 消しゴム | 80 |
| 4 | 103 | 鉛筆 | 60 |
E2セルに商品コード「102」を入力し、F2セルで商品名を取り出したい場合、数式は次のようになります。
=VLOOKUP(E2, $A$2:$C$4, 2, FALSE)
この数式は「E2に入力された値をA2:C4の一番左の列(A列)から探し、見つかった行の2列目(B列=商品名)を返す」という意味になります。
範囲は絶対参照にしておく
この数式を下の行にもコピーして使いたい場合、「検索値(E2)」は行ごとに変えたいので相対参照のままにしますが、「範囲($A$2:$C$4)」はどの行でも同じ表を見る必要があるため絶対参照にしておく必要があります。相対参照・絶対参照の考え方があやふやな人は、先に参照の記事を読んでおくと理解しやすくなります。
「検索方法」TRUEとFALSEの違い
VLOOKUP関数でもっとも間違えやすいのが、最後の引数「検索方法」です。ここはFALSE(完全一致)を使うのが基本だと覚えておいてください。
| 指定 | 動作 | 使う場面 |
|---|---|---|
| FALSE(または0) | 検索値と完全に一致する値だけを探す。見つからなければエラー(#N/A)になる | 商品コード検索など、ぴったり一致する値を探したいとき(基本はこちら) |
| TRUE(または省略) | 検索値と一致しない場合、検索値未満で最も近い値を近似値として探す。表は検索する列を昇順に並べておく必要がある | 点数から評価(優・良・可など)を判定する場合など、区間で判定したいとき |
TRUEを指定する、または検索方法を省略してしまうと、本来一致するはずのないデータでもエラーにならず、近い値を勝手に拾ってきてしまうことがあります。特別な理由がない限り、検索方法にはFALSEを指定するようにしましょう。
よくある間違い
- 範囲を相対参照のままコピーしてしまい、行がずれるごとに検索対象の表がズレてしまう
- 検索方法を省略してTRUE扱いになり、本来ありえないコードでもエラーにならず誤った値が表示される
- 取り出したい列が、範囲の一番左の列より左側にある(VLOOKUPは検索した列より左の列を取り出せない)
- 表に存在しない値を検索してエラー(#N/A)になり、そのまま放置してしまう
最後の「存在しない値を検索したときのエラー対策」については、IFERROR関数を組み合わせる方法を別の記事で詳しく解説します。
まとめ
VLOOKUP関数は「検索値・範囲・列番号・検索方法」の4つの引数の役割を押さえれば、決して難しい関数ではありません。特に「範囲は絶対参照」「検索方法は基本FALSE」の2点を意識するだけで、多くのミスを防げます。
あわせて読みたい
以前紹介した「Excel演習ドリル」では、VLOOKUP関数を実際にコピーしたときの参照のズレ方を選択式クイズで確認できます。この記事を読んだあとにぜひ挑戦してみてください。
参照の基本があやふやな人は、先にこちらの記事もあわせてご覧ください。
→ Excelの相対参照・絶対参照の違いとは?$マークの意味をわかりやすく解説
次は、VLOOKUPの進化版とも言えるXLOOKUP関数と、VLOOKUPのエラーを防ぐIFERROR関数を紹介していきます。


コメント