VLOOKUP関数

Excel 2007+

概要

VLOOKUP関数は、指定したテーブル配列の最初の列で検索値を見つけ、その行の指定列から値を返します。縦方向のルックアップに最適で、商品価格検索や従業員情報取得などデータ検索の基本機能です。新XLOOKUP関数の代替も推奨されます。

構文

VLOOKUP(検索値, 範囲, 列番号, [検索の型])

パラメータ

パラメータ タイプ 必須 説明
検索値 Any はい 検索対象の値。範囲の最初の列に存在する必要があります。セル参照または直接値で指定。
範囲 Range はい 検索を行うテーブル配列。最初の列に検索値、指定列に返却値を含みます。
列番号 Number はい 返却値を含む列の番号(左端列を1としてカウント)。
検索の型 Boolean いいえ TRUE(1)で近似一致、FALSE(0)で完全一致。省略時はTRUE。

VLOOKUP関数の使用

VLOOKUPはExcelで最も使用される検索関数です。商品マスタから価格を取得、在庫表から担当者名を抽出、従業員リストから部署情報を取得など、日常業務のデータ検索に欠かせません。検索値が左端列にあるデータを右方向に検索する仕様を理解することが重要です。

VLOOKUPの一般的な例

基本的な完全一致検索

=VLOOKUP(A2,B2:E10,2,FALSE)

A2の商品コードをB2:E10のB列で検索し、2列目(C列)の商品名を返します。FALSEで完全一致指定。

近似一致検索(価格帯判定)

=VLOOKUP(D2,$G$2:$H$10,2,TRUE)

D2の売上額をG列で検索し、該当する価格帯(H列)を返します。TRUEで近似一致、G列は昇順ソート必須。

エラー処理付き検索

=IFERROR(VLOOKUP(A2,B2:D100,3,FALSE),"見つかりません")

商品コード検索時に見つからない場合「見つかりません」を表示。IFERRORで#N/Aエラーを処理。

複数条件検索

=VLOOKUP(A2&"_"&B2,検索範囲,3,FALSE)

商品コード(A2)と色(B2)を連結して一意の検索キーを作成し、在庫情報を取得。

よくある質問

完全一致(FALSE)で一致する値が見つからない場合、または近似一致(TRUE)で検索値が範囲外の場合に発生します。データ確認、スペルチェック、範囲確認を行ってください。

#REF!エラーが発生します。列番号は範囲内の列数を超えない値を指定してください。

TRUE(近似一致)は昇順ソートされた数値データに使用、FALSE(完全一致)はテキストや正確な値に使用。省略時はTRUEになります。

XLOOKUPは左右両方向検索可能、デフォルト完全一致、エラー処理内蔵でVLOOKUPより優れていますが、古いExcelでは使用不可。

一般的なエラーと解決策

#N/Aエラー

Cause: 完全一致で見つからない値、または近似一致でソート不正・範囲外

Solution: FALSE指定時はデータ確認、TRUE時は最初の列を昇順ソートし範囲内にデータがあるか確認。IFERROR併用推奨。

#REF!エラー

Cause: 列番号が範囲の列数を超えている

Solution: 列番号を範囲内の最大値(列数)以内に修正。例:3列範囲なら最大3。

#VALUE!エラー

Cause: 範囲が1列未満、または列番号が無効

Solution: 範囲を複数列指定、列番号を正の整数に設定。

#NAME?エラー

Cause: 範囲名が存在しない、または文字列に引用符なし

Solution: 範囲名確認、文字列検索時は二重引用符で囲む。

意図しない値が返る

Cause: 近似一致で最初の列がソートされていない

Solution: 完全一致を使用するか、最初の列を昇順ソート。

注記

  • 検索値は必ず範囲の最初の列に存在する必要があります
  • 近似一致使用時は最初の列を昇順ソート必須
  • 列番号は1から開始(左端列=1)
  • 絶対参照($記号)を使用して範囲固定推奨
  • 大量データ時はINDEX+MATCHの併用も検討
  • 新しいExcelではXLOOKUPへの移行を推奨

互換性

利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365

利用不可:

コンテンツ最終レビュー: November 24, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+