エクセルで、表から、条件に合うデータを探して取り出すには、VLOOKUP関数を使います。商品名から価格を探すなら、=VLOOKUP(G3,$C$3:$D$8,2,FALSE) のように、「探す値」「探す範囲」「列番号」「FALSE(完全一致)」の4つを指定します。
この記事では、VLOOKUPの基本、列番号の数え方、「#N/A」を出さない方法、複数条件で探す方法、別シートから探す方法、一致しないときの原因を、1つの表を使って説明します。下の練習ツールで、探す値を書き換えて、結果がどう変わるかを試せます。
VLOOKUPの使い方|やりたいこと別の式
| やりたいこと | 式(例) | ポイント |
|---|---|---|
| 商品名から価格を探す | =VLOOKUP(G3,$C$3:$D$8,2,FALSE) | 探す列は、範囲の一番左に置きます。 |
| 2つの条件で探す | =VLOOKUP(G2&G3,$A$3:$D$8,4,FALSE) | 2つの条件を結合した「キー」の列を作ります。 |
| 見つからないときを、表示しない | =IFERROR(VLOOKUP(…),”該当なし”) | #N/A を、好きな文字に置き換えます。 |
| 列番号を、自動で数える | =VLOOKUP(…,COLUMNS($A$3:$D$3),FALSE) | 範囲の列数を、COLUMNS関数で数えます。 |
| 別のシートから探す | =VLOOKUP(G3,Sheet2!$C$3:$D$8,2,FALSE) | 範囲の前に、「シート名!」を付けます。 |
VLOOKUP関数の基本(商品名から価格を探す)
手順:G5 に VLOOKUP の式を入れて Enter
「みかん」(G3)の価格を、表(C3:D8)から探して取り出します。表には「みかん」が国産(80)と輸入(60)の 2 行あります。どちらが返るかは、下の「確認」で説明します。
G5 に次の式を入力して、Enter キーを押します❶。
=VLOOKUP(G3,$C$3:$D$8,2,FALSE) G3$C$3:$D$82FALSEオレンジに「探す値」、青に「表」(探す列を左端に)、紫に「取り出したい列が左から何列目か」を入れます。FALSE はそのままです。例:社員番号(A2)から、表の 3 列目の部署名を出す
=VLOOKUP(A2,$F$2:$H$100,3,FALSE) - 同じ値が 2 つあるときは、上の行が返ります(この表の「みかん」)。

確認:80 は最初に見つかった「みかん」の価格

答えは 80 になりました❷。VLOOKUP は、次の順に探しています。
- 範囲のいちばん左の列(C列)を上から見て、「みかん」を探す
⇒ 最初に見つかるのは 5 行目(国産みかん)。6 行目の輸入みかんは見ない - その行の、範囲の左から 2 列目(価格)を取り出す
⇒ 80
$C$3:$D$8 のように「$」で固定しておくと、式を下へコピーしても範囲がずれません。まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
列番号の数え方と、4つ目の引数(完全一致と近似一致)
3つ目の引数の列番号は、「探す範囲の、左端から数えて何列目か」です。表全体の列番号ではありません。C3:D8 を範囲にしたときは、C列が1、D列が2です。範囲を、A3:D8 に広げると、D列は4になります。
4つ目の引数は、FALSE が「完全一致」、TRUE(省略も同じ)が「近似一致」です。商品名やコードで探すときは、FALSE を指定します。近似一致は、点数でランクを決めるときなどに使います。詳しくは、VLOOKUPの近似一致の使い方を参照してください。
列番号は、範囲の左端の列を1として数えます。C3:D8 を範囲にすると価格は 2 列目、A3:D8 なら 4 列目です(①)。4つ目の引数を TRUE(近似一致)にすると、「0点・60点・80点」のような下限の表から、75点の評価 B を探せました(②)。同じ式を FALSE にすると 75 がぴったり無いので #N/A です(③)。商品名などを探すときは、必ず FALSE にします。

「#N/A」を表示しない(IFERROR関数・IFNA関数)
探す値が表にないと、VLOOKUPは、「#N/A」を返します。表の中に、「もも」はないので、次の式では、「#N/A」になります。
「#N/A」を、「該当なし」のような文字に置き換えるには、IFERROR関数で、VLOOKUPを囲みます。
結果は 該当なし です。IFERROR関数は、すべてのエラーを置き換えます。「#N/A」だけを置き換えたいときは、IFNA関数を使います。詳しくは、IFERROR関数の使い方、IFNA関数の使い方を参照してください。
▶ この式(G7)を、上の練習ツールで試す / この式(G8)を、上の練習ツールで試す
探した結果によって表示を変えたい(在庫が0なら「在庫なし」など)ときは、VLOOKUPとIF関数の組み合わせ方で説明しています。
実際の画面です。表に無い「もも」を探した G7 は #N/A(②)、IFERROR で囲んだ G8 は「該当なし」になりました(③)。

複数の条件で探す(キーの列を作る)
VLOOKUPは、1つの値でしか、探せません。「輸入の、みかん」のように、条件が2つあるときは、2つを結合した「キー」の列を作って、そのキーで探します。キーの列は、探す範囲の、一番左に置きます。
=B3&C3 と入力して、区分と商品を結合します。G2&G3 のように、結合して、キーの列で探します。「輸入」と「みかん」を結合した「輸入みかん」を、A列のキーから探して、4列目の価格を取り出します。結果は 60 です。列番号は、COLUMNS($A$3:$D$3) で、自動で数えることもできます。
キーの列を作らずに、複数条件で探す方法は、VLOOKUPで複数条件で検索する方法、INDEX+MATCHで複数条件を検索する方法で説明しています。
▶ この式(G6)を、上の練習ツールで試す / この式(G9)を、上の練習ツールで試す
練習用ファイルの表で試した結果です。A列に =B3&C3 で「区分+商品」のキーを作り(②)、G6 の =VLOOKUP(G2&G3,$A$3:$D$8,4,FALSE) で探すと、「輸入」の「みかん」は 60 でした(③)。表に無い「もも」は #N/A、IFERROR で囲むと「該当なし」です(④)。

別のシートから探す
探す範囲が、別のシートにあるときは、範囲の前に、「シート名!」を付けます。たとえば、Sheet2のC3:D8から探すなら、次のように書きます。
範囲は、別のシートを開いて、ドラッグで選ぶと、シート名が自動で入ります。シート名に、スペースがあるときは、'シート 名'!$C$3:$D$8 のように、「’」で囲みます。詳しくは、VLOOKUPで別シートからデータを検索する方法を参照してください。
XLOOKUP関数で別のシートから探す方法は、XLOOKUP関数で別シートから検索・抽出する方法をご覧ください。
実際の画面です。Sheet2 の C3:D8 にある商品の表から、「みかん」の価格 80 を取り出せました(②)。

VLOOKUPで一致しない・思った値が返らないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#N/A」になる | 探す値が、表にない | 表の値を、確認する。IFERROR関数で、置き換える。 |
| 見えているのに、「#N/A」になる | 全角と半角、前後のスペースが、違う | TRIM関数で、スペースを除く。表記をそろえる。 |
| 数字のコードで、「#N/A」になる | 片方が数値、片方が文字になっている | 数値か文字かを、そろえる。 |
| 違う行の値が、返ってくる | 4つ目の引数が、省略(TRUE)になっている | FALSE を指定する。 |
| 同じ名前の、最初の行しか返らない | VLOOKUPは、上から探して、最初の行を返す | キーの列を作って、複数条件で探す。 |
| 下へコピーすると、「#N/A」が増える | 探す範囲に、「$」を付けていない | 範囲を、$C$3:$D$8 のように固定する。 |
| 列番号を、間違える | 範囲の左端から、数えていない | 範囲の左端を1として、数え直す。 |
それぞれの原因を実際の画面で再現し、直し方を説明した記事は VLOOKUPがうまくいかない・反映されない原因と直し方です。空白のセルが 0 になるときは VLOOKUPで0を表示しない・空白なら空白にする方法をご覧ください。
VLOOKUPのよくある質問
VLOOKUPで、複数の条件を指定するには?
2つの条件を結合した「キー」の列を、探す範囲の左端に作ります。探す値も、G2&G3 のように、結合します。
「#N/A」を、表示しないようにするには?
IFERROR関数で、VLOOKUPを囲みます。=IFERROR(VLOOKUP(…),"該当なし") のように、置き換えたい文字を指定します。
VLOOKUPで、左の列は、取り出せますか?
VLOOKUPは、探す列より、左の列は、取り出せません。左の列を取り出すときは、INDEX関数と MATCH関数、または XLOOKUP関数を使います。INDEXとMATCHの使い方を参照してください。
あわせて読みたい:VLOOKUPの関連記事
- VLOOKUP関数の使い方|商品番号から価格を検索する
- Excel VLOOKUP関数の使い方まとめ|基本から応用まで
- ExcelでIFERROR関数とVLOOKUP関数を使ってエラーを処理する方法
- VLOOKUPとHLOOKUPの違いと使い分け
- XLOOKUP関数の使い方|VLOOKUPとの違い・近似一致
式をコピーしたときに参照がずれるときは、絶対参照・相対参照の違いと$の付け方もあわせてご覧ください。
全角と半角の変換を、ショートカットや入力規則も含めて確認したいときは、エクセルで全角・半角を変換する方法もあわせてご覧ください。
XLOOKUPで複数の条件を指定したいときは、XLOOKUPの複数条件の書き方(2つ・3つ以上・OR・行と列)で、すべてのパターンをまとめて解説しています。
シートやブックから文字を探す方法は、エクセルの検索機能の使い方もあわせてご覧ください。
エラー値の意味と直し方の一覧は、エクセルのエラー値の一覧と直し方もあわせてご覧ください。
VLOOKUPを問題で練習したいときは、VLOOKUP関数の練習問題9問もあわせてご覧ください。
