タスクラボ関数リファレンス > VLOOKUP

VLOOKUP関数の使い方

対応: すべてのExcel・Google スプレッドシート

VLOOKUP は表の左端の列から値を探し、同じ行の指定した列の値を取り出す関数です。第4引数は原則 FALSE(完全一致)で使います。

構文

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
引数必須意味
検索値必須探す値
範囲必須表全体。検索値は必ず範囲の1列目にあること
列番号必須取り出す列を、範囲の左から数えた番号で指定(1始まり)
検索方法任意FALSE=完全一致(通常はこれ)/TRUE・省略=近似一致(昇順ソート必須)

基本の例

A列=商品コード、B列=商品名、C列=単価。コード「A102」の単価(左から3列目):

=VLOOKUP("A102", A2:C100, 3, FALSE)
第4引数を省略しない。省略すると近似一致になり、データが昇順に並んでいないと間違った値を黙って返します。エラーになるより悪い、気づけない事故です。

#N/A が出るときの対処

原因確認・対処
本当に値が無いIFERRORで包んで表示を整える(下記)
見た目は同じで実は違う前後の空白(TRIM)、全角/半角、文字列の数字と数値の混在を確認
検索値が範囲の1列目に無い範囲の指定を直すか、XLOOKUPを使う
=IFERROR(VLOOKUP(E2, A2:C100, 3, FALSE), "該当なし")

VLOOKUPでできないこと

やりたいこと解決策
検索列よりの列を取り出すXLOOKUPINDEX+MATCH
列を挿入しても壊れないようにするXLOOKUP(列番号を使わないため)
複数条件で検索する作業列で条件を連結するか、XLOOKUPで「範囲1&範囲2」を検索
2つ目以降の一致も全部取るFILTER関数(Excel 2021以降・Sheets)

近似一致(TRUE)を使う場面

唯一の正しい用途は「段階表」です。点数から評価を引くなど:

=VLOOKUP(85, {0,"不可"; 60,"可"; 70,"良"; 80,"優"}, 2, TRUE)
→ 優   (80以上90未満の段階に落ちる。1列目は昇順であること)

関連