ExcelのVLOOKUP関数の使い方:基本と具体例をわかりやすく解説
VLOOKUP関数の基本をわかりやすく解説!4つの引数、完全一致と近似一致の違い、$を使った絶対参照でのセル範囲固定、#N/Aエラーの対処法まで網羅。XLOOKUPとの使い分けも紹介します。
著者 Ayoub Farid · · 6 分で読めます
VLOOKUP関数がExcel関数の中で最も検索されているのには理由があります。商品コードから価格を調べる、社員番号から所属部署を特定する、テストの点数から評価を割り出すなど、ほぼすべての業務で「表からデータを探す」作業が発生するからです。ここでは専門用語を使わずに、仕組みと使い方を丁寧に解説します。
VLOOKUP関数でできること
指定した表の左端の列で検索値を縦方向に探し、一致した行の中から、指定した右側の列にあるデータを取り出して表示します。
関数の構文
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
| 引数 | わかりやすい説明 |
|---|---|
| lookup_value(検索値) | 探したい値(例: "P-104") |
| table_array(範囲) | 検索対象の表(検索値が含まれる列を左端にする) |
| col_index_num(列番号) | 取り出したい値がある列を、左端から数えた番号(1から開始) |
| range_lookup(検索方法) | 完全一致ならFALSE(実務の95%以上でこちらを使用) |
具体的な使用例
| A | B | C | |
|---|---|---|---|
| 1 | コード | 商品名 | 価格 |
| 2 | P-101 | エスプレッソ | 2.50 |
| 3 | P-102 | ラテ | 3.50 |
| 4 | P-103 | 紅茶 | 2.00 |
セルF2に「P-102」と入力されている場合:
=VLOOKUP(F2,A2:C4,3,FALSE) → 3.50
表の3列目が「価格」です。列番号を「3」から「2」に変更すると「ラテ」が返されます。
オートフィルする前に表のセル範囲を固定する
複数のコードを検索するために数式を下にコピー(オートフィル)すると、参照先の表のセル範囲も一緒にずれてしまい(A3:C5、A4:C6…)、下の方の行で検索エラーが発生します。「$」記号を付けてセル範囲を固定(絶対参照)しましょう。
=VLOOKUP(F2,$A$2:$C$4,3,FALSE)
これは就職・転職のExcelスキルテストでも最も多いミスのひとつです。詳しくは絶対参照の解説をご覧ください。
完全一致と近似一致の違い
- FALSE(または0): 完全一致。完全に一致する値がない場合はエラー値
#N/Aを返します。商品コード、氏名、IDなどを検索するときに使います。 - TRUE(または省略): 近似一致。検索値以下の最大値を探します。税率表や成績の評価基準など、あらかじめ昇順で並べ替えられたデータにのみ使用します。
最後の引数を省略すると自動的にTRUEとみなされ、並べ替えられていない表では誤った値が返される原因になります。段階的な数値を判定する場合を除き、常に「FALSE」を指定する習慣をつけましょう。
「見つからない」エラーへの対処法
=IFERROR(VLOOKUP(F2,$A$2:$C$100,3,FALSE),"Not found")
エラー表示を回避したい場合は、IFERROR関数を組み合わせます。表の中に値が存在するはずなのに #N/A が表示される場合は、VLOOKUPが機能しない原因と対処法をご確認ください。
別のシートからデータを検索する
=VLOOKUP(A2,Prices!$A$2:$C$500,3,FALSE)
VLOOKUP関数の弱点と制限
- 右側の列しか検索できません。検索したい列よりも左側にある値を取得したい場合は、INDEX MATCH関数またはXLOOKUP関数を使用する必要があります。
- 参照元の表に列を挿入・削除すると、指定した列番号がずれて誤った結果になります。
- 該当する値が複数あっても、最初に見つかったデータしか返せません。
これらの課題を解決するためにMicrosoftが導入したのがXLOOKUP関数です。それぞれの違いはXLOOKUPとVLOOKUPの比較で詳しく解説しています。ただし、VLOOKUPはすべてのバージョンのExcelで動作し、就職・転職のExcelスキルテストでも必須知識とされているため、エクセルの勉強をするなら両方マスターしておくのがおすすめです。
実際に練習してみましょう
検索系関数(VLOOKUP、XLOOKUP、INDEX/MATCH)はCellioの今後の学習ユニットで追加予定です。現在公開中のユニットでも、多くの人がつまずきやすい「下にコピーする前に$記号でセル範囲を固定する」スキルを実践的にトレーニングできます。
よくある質問
ExcelでVLOOKUP関数を使うにはどう書けばいいですか?
=VLOOKUP(検索値, 範囲, 列番号, FALSE) の形式で入力します。例: =VLOOKUP(F2,$A$2:$C$100,3,FALSE)。
VLOOKUPで #N/A エラーが出る原因は何ですか?
完全に一致する値が見つからないことが原因です。余計なスペースの混入、数値が文字列として保存されている、あるいは検索対象の値が表の左端の列に存在しないケースが考えられます。
VLOOKUPの「FALSE」は何を意味しますか?
「完全一致」での検索を意味します。「TRUE」は昇順に並べ替えられた表で「近似一致」を探す際に使用します。
VLOOKUPとXLOOKUPのどちらを使うべきですか?
関係者全員がExcel 2021、Microsoft 365、またはGoogleスプレッドシートを使用している場合はXLOOKUPが最適です。古いバージョンのExcelでもファイルを開く必要がある場合はVLOOKUPを使いましょう。