
エクセルで「条件と一致するデータを抽出」できるVLOOKUP関数の基本の使い方をご紹介します。「#N/Aエラー」や「違う値が返ってくる」といったトラブルの解決策もまとめたので、ぜひ参考にしてみてください。
VLOOKUP関数の使い方
条件と一致するデータを抽出する

VLOOKUP関数は、「検索範囲」の一列目を検索し、「検索値」と一致した行の指定した「列」にある値を返します。
例:=VLOOKUP(D2,$A$2:$B$5,2,FALSE)
VLOOKUP関数の引数:(検索値, 検索範囲, 列番号, [検索方法])
💡 4つの引数のポイント:
- 検索値:
- 検索したい文字(または数値など)が入ったセルを指定します。数式内に直接記述する場合は、ダブルクォーテーション(例:
"みかん")で囲います。
- 検索したい文字(または数値など)が入ったセルを指定します。数式内に直接記述する場合は、ダブルクォーテーション(例:
- 検索範囲:
- 検索するデータと抽出したい値が含まれる表全体を指定します。絶対参照($を付ける)にすることで、数式をコピーしても範囲がズレなくなります。
- 列番号:
- 検索範囲の中に、抽出したい値が「左から何番目の列にあるか」を指定します。
- 検索方法:
- 基本的には
FALSEを指定します。- FALSE: 検索値と「完全に一致」するものを抽出します。
- TRUE(省略):近似値を探すため、間違った値を抽出することがあります。
- 基本的には
エラーなら空白にする

IFERROR関数を組み合わせて、エラーの場合に空白("")を表示させます。
例:=IFERROR(VLOOKUP("もも",$A$2:$B$5,2,FALSE),"")
IFERROR関数の引数:(値, [エラー値])
別シートを参照する

別のシートの範囲から「検索値」を探したい場合も、基本の使い方は同じです。
例:=VLOOKUP(A2,別シート!$A$2:$B$5,2,FALSE)
【手順】
- 数式の「検索範囲」を指定するタイミングで、参照したいシートのタブをクリックします。
- そのシート内の範囲をマウスでドラッグして選択します。
- F4キーを押して、範囲を絶対参照にします。(例:
別シート!$A$2:$B$5) - そのまま「列」と「FALSE」を指定して、
Enterを押します。
上手くいかない時の解決方法
#N/Aエラーになる
検索値が「日付」場合

【原因】
検索値の「文字列の日付(例:”2026/7/7″)」と、セルに入力されている「日付データ」は、見た目が同じでもデータの種類が異なるため、検索に失敗します。
【解決策】
- 検索値をセル参照にする
- 検索したい日付をどこかのセルに入力し、数式内でそのセルを参照させます。
- DATE関数を使う
- 日付を手入力する必要がある場合、DATE関数を使って「日付データ」として認識させます。
- 例:
=VLOOKUP(DATE(2026,7,7),A2:A4,B2:B4)
- 例:
- 日付を手入力する必要がある場合、DATE関数を使って「日付データ」として認識させます。
DATE関数の引数:(年, 月, 日)
検索値が「数字」の場合

【原因】
「数値の 1」と「文字としての “1”」は、別のデータとして扱われます。検索値の数字を""で囲っていたり、表示形式が「文字列」になっていると、一致しないと判断されます。
【解決策】
検索値とセルのデータ形式を一致させます。
- セルの数字が「文字列」の場合:検索値を
"3"と囲みます。 - セルの数字が「数値」の場合:検索値を
3とそのまま入力します。
検索値が「文字列」の場合

【原因】
「‐(全角ハイフン)」と「-(半角ハイフン)」のように、文字の種類が完全に一致していないと検索に失敗します。
【解決策】
検索値をセルのデータから直接コピー&ペーストすることで、全角・半角といった文字や記号の不一致を防ぎます。
数式がそのまま表示される

【原因】
「数式の表示」機能がオンになっているか、セルの表示形式が「文字列」になっています。
【解決策】
- 「数式の表示」をオフにする
- 「数式」タブの 「数式の表示」をクリックします。(
Ctrl+Shift+`)
- 「数式」タブの 「数式の表示」をクリックします。(
- セルの書式を「標準」に戻す
- 「ホーム」タブの書式を「標準」に変更した後、セルをダブルクリックして数式を再入力します。
違う値が返ってくる

【原因】
第4引数の「検索方法」を省略しているか、TRUEを指定しているのが原因です。これらは「近似値」を探す設定なので、先に見つけた別の値を返すことがあります。
【解決策】
検索方法にFALSEを指定します。
- 例:
=VLOOKUP("ニンジン", $A$2:$B$5, 2, FALSE)
抽出した結果が「0」になる

【原因】
VLOOKUPで指定した列のセルが「空欄」の場合、「0」が表示されます。
【解決策】
数式の後ろに&""を付けると、空欄を「0」ではなく「空白」として表示できます。
- 例:
=VLOOKUP(D2, $A$2:$B$5, 2, FALSE)&""
関連記事
- FILTER関数とは?使えない場合の代用方法も
- 検索値と一致するデータを、検索範囲からすべて抽出できる関数です。
- XLOOKUP関数の使い方!VLOOKUPとの違いを徹底解説
- VLOOKUP関数の上位互換の関数です。右側の列を検索したり、結果を範囲で抽出したりできます。
- 計算式や関数のセルを固定(絶対参照)する!
- 絶対参照($)の意味や、F4キーで切り替える方法を初心者向けに解説しています。