Excel関数入門:VLOOKUP関数の使い方【表から値を検索する】

「ある値をもとに、対応する別の情報を表から取り出したい」ときに便利なのが VLOOKUP関数 です。Excel初心者から上級者まで幅広く使われている代表的な検索関数です。

この記事では、VLOOKUP関数の基本的な使い方から、よくあるエラー対処、注意点までを分かりやすく解説します。


PR

VLOOKUP関数とは?

VLOOKUP関数は、縦方向に並んだ表の中から、検索値に一致する行の指定列の値を返す関数です。
「Vertical(縦方向)+ Lookup(調べる)」から関数名が付けられています。

書式

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])

引数の意味

  • 検索値:探したい値(例:社員ID、商品名など)
  • 範囲:検索対象となる表全体(検索値は1列目にある必要あり)
  • 列番号:範囲の左から何列目の値を返すか
  • 検索方法(省略可):
    • FALSE:完全一致(おすすめ)
    • TRUE:近似一致(ソートが必要)

基本的な使い方

例:対応する商品名を取得する

まずは、VLOOKUP関数を使って「商品コード」から対応する「商品名」を自動で表示してみましょう。
たとえば、下の表のように商品コード・商品名・価格が一覧になっている場合、
「P003」というコードを入力するだけで、その商品名(みかん)を取り出すことができます。

では実際に、VLOOKUP関数を入力してみましょう。

=VLOOKUP(検索値, 範囲, 列番号, [検索方法] )

検索値:今回は商品コード「P003」の商品名を探すので検索値は「P003」が入力されているセルB5になります。

=VLOOKUP(B5, 範囲, 列番号, [検索方法] )

範囲:商品一覧の表全体を指定します。この中から、Excelが「P003」を探して一致する行を見つけます。

=VLOOKUP(B5, $B$3:$D$7, 列番号, [検索方法] )

列番号:一致した行の中で、2列目(商品名の列)の値を取り出します。列番号は、範囲の左端を「1」として数えます。

=VLOOKUP(B5, $B$3:$D$7, 2, [検索方法] )

検索方法「FALSE」 … 「完全に一致する商品コードだけを探す」という指定です。
 これを省略したり TRUE にすると、似た値が誤って拾われることがあるので注意しましょう。

=VLOOKUP(B5, $B$3:$D$7, 2, FALSE)

この4つの要素を順番に設定することで、
「P003」→「みかん」 のように対応する商品名が自動的に取り出せました。

このように、VLOOKUP関数を使うと、表の中から必要な情報をすぐに探し出すことができます。


よくある活用例

1. 商品コードから商品名や価格を取得

=VLOOKUP(A2, 商品マスタ!A2:C100, 2, FALSE)

2. 得点表から名前に対応する点数を表示

=VLOOKUP("佐藤", A2:C10, 3, FALSE)

3. 給与表から等級に応じた基本給を取得

=VLOOKUP(D2, 給与表!A2:B10, 2, FALSE)

注意点と落とし穴

  • 検索値は範囲の最左列にある必要がある
  • 列番号は「範囲の中での位置」で指定する(シート全体の列番号ではない)
  • TRUE(近似一致)を使う場合、範囲は昇順で並べる必要あり
  • 見つからない場合は #N/A エラーになる
  • 列が挿入されると参照がズレやすい → INDEX+MATCHの方が柔軟

よくあるエラーと対策

エラー原因対策
#N/A一致する値が見つからない値が正確に一致しているか確認
#REF!列番号が範囲外になっている列番号を範囲内に修正
間違った値検索方法にTRUEを使っていて近似一致が誤動作基本はFALSEを使う

関連関数

関数特徴
INDEX+MATCHより柔軟。列の順序に依存しない
XLOOKUP左右両方向対応。柔軟で新しい関数

まとめ

VLOOKUP関数は、「値をキーにして別の情報を取り出す」ための基本中の基本となる関数です。検索値が左端にある必要があるなどの制約はありますが、正しく使えば非常に便利です。より高度な検索には INDEX+MATCH関数や XLOOKUP関数へのステップアップもおすすめです!

関連記事:INDEX+MATCH関数の使い方
関連記事:XLOOKUP関数の使い方