cellio

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%以上でこちらを使用)

具体的な使用例

ABC
1コード商品名価格
2P-101エスプレッソ2.50
3P-102ラテ3.50
4P-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を使いましょう。

あわせて読みたい