クイックナビゲーション
VLOOKUP関数
概要
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)を連結して一意の検索キーを作成し、在庫情報を取得。
よくある質問
一般的なエラーと解決策
#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+