「ある値をもとに、対応する別の情報を表から取り出したい」ときに便利なのが VLOOKUP関数 です。Excel初心者から上級者まで幅広く使われている代表的な検索関数です。
この記事では、VLOOKUP関数の基本的な使い方から、よくあるエラー対処、注意点までを分かりやすく解説します。
VLOOKUP関数とは?
VLOOKUP関数は、縦方向に並んだ表の中から、検索値に一致する行の指定列の値を返す関数です。
書式
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
引数の意味
- 検索値:探したい値(例:社員ID、商品名など)
- 範囲:検索対象となる表全体(検索値は1列目にある必要あり)
- 列番号:範囲の左から何列目の値を返すか
- 検索方法(省略可):
- FALSE:完全一致(おすすめ)
- TRUE:近似一致(ソートが必要)
基本的な使い方
例:社員IDから氏名を取得する
A列(ID) | B列(氏名) |
---|---|
1001 | 佐藤 |
1002 | 鈴木 |
1003 | 高橋 |
=VLOOKUP(1002, A2:B4, 2, FALSE) → 鈴木
よくある活用例
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を使う |
VLOOKUPと他の関数との比較
関数 | 特徴 |
VLOOKUP | 左端の列から右方向にしか検索できない |
INDEX+MATCH | より柔軟。列の順序に依存しない |
XLOOKUP | 左右両方向対応。柔軟で新しい関数 |
まとめ
VLOOKUP関数は、「値をキーにして別の情報を取り出す」ための基本中の基本となる関数です。検索値が左端にある必要があるなどの制約はありますが、正しく使えば非常に便利です。より高度な検索には INDEX+MATCH や XLOOKUP へのステップアップもおすすめです!