エクセルのVLOOKUPの使い方|複数条件・別シート・#N/Aを出さない・一致しない原因

エクセルのVLOOKUPの使い方|複数条件・別シート・#N/Aを出さない・一致しない原因

エクセルで、表から、条件に合うデータを探して取り出すには、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)範囲の前に、「シート名!」を付けます。
ポイントポイント:4つ目の引数は、ほとんどの場合、FALSE(完全一致)にします。省略したり TRUE にしたりすると、「近い値」が返って、思わぬ結果になることがあります。
練習用Excelファイル(無料ダウンロード)
区分・商品・価格の表(VLOOKUP・複数条件・IFERROR・COLUMNS)が入ったファイルです。探す値を書き換えて、結果の変わり方を確かめられます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

VLOOKUP関数の基本(商品名から価格を探す)

手順:G5 に VLOOKUP の式を入れて Enter

「みかん」(G3)の価格を、表(C3:D8)から探して取り出します。表には「みかん」が国産(80)と輸入(60)の 2 行あります。どちらが返るかは、下の「確認」で説明します。
G5 に次の式を入力して、Enter キーを押します❶。

G5 に入れる式
=VLOOKUP(G3,$C$3:$D$8,2,FALSE)
G3 検索値(探す商品)$C$3:$D$8 範囲(商品と価格の表)2 列番号(価格は2列目)FALSE 検索方法(完全一致)
ひとことで表の左の列から「みかん」を探し、その行の2 列目(価格)を取り出す
式を分けて読むと(色は画像の枠と同じ)
検索値G3
何を探す?
→ G3 に入れた「みかん」
範囲$C$3:$D$8
どの表で探す?
→ 商品と価格の表(左の列で探す)
列番号2
何列目を取り出す?
→ 左から 2 列目の価格
検索方法FALSE
どう探す?
→ 完全に同じものだけ
自分の表で使うときは
オレンジに「探す値」、青に「表」(探す列を左端に)、紫に「取り出したい列が左から何列目か」を入れます。FALSE はそのままです。例:社員番号(A2)から、表の 3 列目の部署名を出す=VLOOKUP(A2,$F$2:$H$100,3,FALSE)
  • 同じ値が 2 つあるときは、上の行が返ります(この表の「みかん」)。
エクセルのVLOOKUP関数の式と検索値・範囲・列番号を色分けした画面
エクセルのVLOOKUP関数の式と検索値・範囲・列番号を色分けした画面

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

エクセルのVLOOKUP関数で最初に見つかった5行目のみかんの価格80を取り出したことを色で示した画面
エクセルのVLOOKUP関数で最初に見つかった5行目のみかんの価格80を取り出したことを色で示した画面

答えは 80 になりました❷。VLOOKUP は、次の順に探しています。

  1. 範囲のいちばん左の列(C列)を上から見て、「みかん」を探す
    ⇒ 最初に見つかるのは 5 行目(国産みかん)。6 行目の輸入みかんは見ない
  2. その行の、範囲の左から 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 にします。

エクセルのVLOOKUPで列番号を範囲の左端から数え4つ目の引数TRUEとFALSEの違いを比べた例
エクセルのVLOOKUPで列番号を範囲の左端から数え4つ目の引数TRUEとFALSEの違いを比べた例

「#N/A」を表示しない(IFERROR関数・IFNA関数)

探す値が表にないと、VLOOKUPは、「#N/A」を返します。表の中に、「もも」はないので、次の式では、「#N/A」になります。

VLOOKUP関数の構文
数式=VLOOKUP(G2&"もも",$A$3:$D$8,4,FALSE)
ひとことで縦に探して値を返す
G2&"もも"
探す値です
$A$3:$D$8
表の範囲です
4
列番号です
FALSE
検索の型です

「#N/A」を、「該当なし」のような文字に置き換えるには、IFERROR関数で、VLOOKUPを囲みます。

IFERROR関数の構文
数式=IFERROR(VLOOKUP(G2&"もも",$A$3:$D$8,4,FALSE),"該当なし")
ひとことでエラーを別の値に置き換える
VLOOKUP(G2&"もも",$A$3:$D$8,4,FALSE)
エラーかどうかを調べる式です
"該当なし"
エラーのときの値です

結果は 該当なし です。IFERROR関数は、すべてのエラーを置き換えます。「#N/A」だけを置き換えたいときは、IFNA関数を使います。詳しくは、IFERROR関数の使い方、IFNA関数の使い方を参照してください。

探した結果によって表示を変えたい(在庫が0なら「在庫なし」など)ときは、VLOOKUPとIF関数の組み合わせ方で説明しています。

実際の画面です。表に無い「もも」を探した G7 は #N/A(②)、IFERROR で囲んだ G8 は「該当なし」になりました(③)。

エクセルのVLOOKUPで見つからない値の#N/AをIFERRORで該当なしにした例
エクセルのVLOOKUPで見つからない値の#N/AをIFERRORで該当なしにした例

複数の条件で探す(キーの列を作る)

VLOOKUPは、1つの値でしか、探せません。「輸入の、みかん」のように、条件が2つあるときは、2つを結合した「キー」の列を作って、そのキーで探します。キーの列は、探す範囲の、一番左に置きます。

1
範囲の左端(A列)に、キーの列を作ります。
2
A3セルに、=B3&C3 と入力して、区分と商品を結合します。
3
下の行まで、コピーします。
4
探す値も、G2&G3 のように、結合して、キーの列で探します。
VLOOKUP関数の式
数式=VLOOKUP(G2&G3,$A$3:$D$8,4,FALSE)
ひとことで縦に探して値を返す
G2&G3
探す値です
$A$3:$D$8
表の範囲です
4
列番号です
FALSE
検索の型です

「輸入」と「みかん」を結合した「輸入みかん」を、A列のキーから探して、4列目の価格を取り出します。結果は 60 です。列番号は、COLUMNS($A$3:$D$3) で、自動で数えることもできます。

VLOOKUP関数の式
数式=VLOOKUP(G2&G3,$A$3:$D$8,COLUMNS($A$3:$D$3),FALSE)
ひとことで縦に探して値を返す
G2&G3
探す値です
$A$3:$D$8
表の範囲です
COLUMNS($A$3:$D$3)
列番号です
FALSE
検索の型です

キーの列を作らずに、複数条件で探す方法は、VLOOKUPで複数条件で検索する方法、INDEX+MATCHで複数条件を検索する方法で説明しています。

練習用ファイルの表で試した結果です。A列に =B3&C3 で「区分+商品」のキーを作り(②)、G6 の =VLOOKUP(G2&G3,$A$3:$D$8,4,FALSE) で探すと、「輸入」の「みかん」は 60 でした(③)。表に無い「もも」は #N/A、IFERROR で囲むと「該当なし」です(④)。

エクセルのVLOOKUPでキーの列を作り区分と商品の2条件で価格を探した例
エクセルのVLOOKUPでキーの列を作り区分と商品の2条件で価格を探した例

別のシートから探す

探す範囲が、別のシートにあるときは、範囲の前に、「シート名!」を付けます。たとえば、Sheet2のC3:D8から探すなら、次のように書きます。

VLOOKUP関数の式
数式=VLOOKUP(G3,Sheet2!$C$3:$D$8,2,FALSE)
ひとことで縦に探して値を返す
G3
探す値です
Sheet2!$C$3:$D$8
表の範囲です
2
列番号です
FALSE
検索の型です

範囲は、別のシートを開いて、ドラッグで選ぶと、シート名が自動で入ります。シート名に、スペースがあるときは、'シート 名'!$C$3:$D$8 のように、「’」で囲みます。詳しくは、VLOOKUPで別シートからデータを検索する方法を参照してください。

練習用Excelファイル(無料ダウンロード)
この記事の式がすべて入っています。うまく動かないときは、同じ表で、式と見比べられます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

XLOOKUP関数で別のシートから探す方法は、XLOOKUP関数で別シートから検索・抽出する方法をご覧ください。

実際の画面です。Sheet2 の C3:D8 にある商品の表から、「みかん」の価格 80 を取り出せました(②)。

エクセルのVLOOKUPで別シートSheet2の表から価格を取り出した例
エクセルのVLOOKUPで別シートSheet2の表から価格を取り出した例

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の関連記事

練習用Excelファイル(無料ダウンロード)
「あわせて読みたい:VLOOKUPの関連記事」の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

式をコピーしたときに参照がずれるときは、絶対参照・相対参照の違いと$の付け方もあわせてご覧ください。

全角と半角の変換を、ショートカットや入力規則も含めて確認したいときは、エクセルで全角・半角を変換する方法もあわせてご覧ください。

XLOOKUPで複数の条件を指定したいときは、XLOOKUPの複数条件の書き方(2つ・3つ以上・OR・行と列)で、すべてのパターンをまとめて解説しています。

シートやブックから文字を探す方法は、エクセルの検索機能の使い方もあわせてご覧ください。

エラー値の意味と直し方の一覧は、エクセルのエラー値の一覧と直し方もあわせてご覧ください。

VLOOKUPを問題で練習したいときは、VLOOKUP関数の練習問題9問もあわせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次