ExcelのVLOOKUP関数は、たくさんのデータの中から、あなたが「これ!」と指定した情報に関連するデータを見つけ出してくれる、とっても便利な関数です。
VLOOKUP関数をマスターすれば、大きな表の中から必要な情報だけを素早く、そして正確に取り出すことができるようになります。
例えば、こんな時に大活躍!
- 商品リストから: 「商品コード『ABC001』の値段はいくら?」といった情報を瞬時に検索。
- 顧客名簿から: 「山田太郎さんの電話番号は?」といった特定の顧客情報を簡単に見つける。
- 成績一覧から: 「この点数の生徒の評価は?」といった情報を自動で表示。
VLOOKUP関数の基本的な使い方、応用、エラー対処方法までお伝えしていきます。
この記事の目次
VLOOKUP関数の使い方の基本
VLOOKUP関数は、基本的に次のような形で使います。
【構文】
=VLOOKUP(検索値, 範囲, 列番号, [検索の型])
構文を言い換えると以下のようになります。
=VLOOKUP(①何を探すか, ②どこから探すか, ③何番目の情報が欲しいか, ④どうやって探すか)
関数が正しく動くためには、カッコの中に4つの引数を順番に指定する必要があります。
もし指定を間違えてしまうと、「#N/A」や「#REF!」といったエラーが表示されたり、意図しない結果が返ってきたりする原因になります。
VLOOKUP関数に必要な4つの指令(引数)について、一つずつ詳しく見ていきましょう。
検索値:何を探すか?
「検索値」とは、VLOOKUP関数に対して「表の中から、このデータを見つけ出してほしい!」とお願いするための、探したいデータそのものです。
これを指定する方法はいくつかあります。
- 探したいデータが入力されているセル番地(例:A1)
- 直接、数値(例:
1001
)や文字(例:”商品
“)を入力する。
ただし、文字で指定する場合には必ず「” “」(ダブルクォーテーションマーク)でその文字を囲んであげてください。
指定した「検索値」を、VLOOKUP関数は、次に出てくる「範囲」として指定された表の一番左側の列から検知をおこないます。
範囲:どこから探すか?
「範囲」は「この表の中からデータを見つけてね」と伝えるための、検索対象となる表全体のことです。
例えば、A1セルからD10セルにデータが広がっている表なら、「A1:D10
」という形で指定します。
ここで大切なルールがあります。
先ほど指定した「検索値」を探し出す列が、あなたが指定したこの「範囲」の中で必ず一番左端に位置していなければなりません。
更に最終的に関数に見つけてきてもらいたい答えのデータが含まれている列も、この「範囲」の中にきちんと入っている必要があります。
もしデータが増減する場合
「A:D
」のように、列全体を範囲として指定しましょう。
こうしておけば、データ量が変わるたびにいちいち範囲を指定し直す手間が省けますし、「うっかり新しいデータが範囲から漏れてしまった!」なんていう探し漏れも防ぐことができます。
ただ、あまりにも広すぎる範囲を指定してしまうと、特にデータがたくさんある大きな表の場合、Excelの計算が少し遅くなってしまう可能性があります。
なぜ「一番左の列」がそんなに重要なのか?
VLOOKUP関数は、あなたが指定した「範囲」の「一番左側の列だけ」を見て、「検索値」に一致するものを探します。
これを知らないと、他の情報を正しく入力しても、エラーが出てしまう原因になります。
VLOOKUP関数をスムーズに使うためには、あらかじめ「検索の目印になる列(検索キーとなる列)を表の一番左側に用意しておく」という、データの準備がとても重要です。
列番号:何番目の情報が欲しいか?
「列番号」は指定した「範囲」の表の中で最終的に取り出したいデータが、「左から数えて何番目の列に入っているか」をVLOOKUP関数に数字で教えるためのものです。
ここで大切なのは、数え始める場所です。
指定した「範囲」の一番左端の列を「1番目」として数え始めます。
もし範囲の左から3番目の列にあるデータが欲しいのであれば、「3」と指定します。
例えば、商品リストの中から特定の商品コードで検索をして、その商品の名前(仮に、範囲として指定した表の左から2番目の列に商品名があるとします)を知りたい場合には、「2」と入力することになります。
検索の型:どうやって探すか?
「検索の型」は、VLOOKUP関数が「検索値」と表のデータを見比べる方法を決めるためのものです。
「指定した言葉と完全に同じものを探してほしい」のか、それとも「だいたい同じようなもの、一番近いものを探してほしい」のかを選ぶことができます。
具体的には、FALSE
またはTRUE
のどちらかで指定します。
もし「検索の型」を指定し忘れて何も入力しなかった場合、Excelは自動的にTRUE
、つまり「だいたい同じものを探す」モードで動作してしまいます。
FALSE
(完全一致)について
左端列から検索値と完全に一致する値が検索されます。
例えば商品コードや社員番号といった特定のキー情報から正確なデータを見つけ出したい時には、ほとんどの場合、FALSE
が使われます。
完全に一致するデータが見つからなかった場合は、「#N/A」というエラーが表示されて「見つかりませんでした」と教えてくれます。
ちなみに、FALSE
は数字の0
で代用することも可能です。
特にこれといった理由がない限りは、思わぬ間違いを避けるためFALSE
(または0
)を指定することをおすすめします。
TRUE
(近似一致)について
VLOOKUP関数は「検索値」と完全に同じものを探しますが、もし見つからなかった場合には、「検索値」を超えない範囲で一番近い値(通常は「検索値」以下の最も大きな値)を見つけて、それに対応するデータを返してくれます。
ただし、TRUE
を使う際には絶対に守らなければならない、非常に重要なルールがあります。
検索対象となる「範囲」の一番左側の列のデータが、必ず小さいものから大きいものの順(昇順)にきちんと並べ替えられている必要がある、ということです。
もしこの並べ替えが正しく行われていないと、Excelはエラーを出さずに、一見すると合っているように見えて実は間違っている結果を返してしまうことがあるため、注意が必要です。
TRUE
も数字の1
で代用することができます。
この探し方が役立つのは、例えば成績表で「何点以上ならA評価」というように、ある範囲内の値に対して結果が段階的に変わるような情報を参照したい場合(税率表や評価段階の表など)です。
何も指定しないと自動的にTRUE
(だいたい同じものを探す)として扱われます。
VLOOKUP関数を使う多くの場面では、FALSE
(完全に同じものを探す)が求められるため、この省略時の動作が意図しない結果やエラーの大きな原因となります。
安心してVLOOKUP関数を使うためには、「基本はFALSE
を指定する!」と心に留めておくことがとても大切です。
VLOOKUP関数の具体的な使い方
文章だけだとわからないところも多いとおもうので実際にVLOOKUP関数を使ってみましょう!
今回の例題はこのようなExcelです。

果物のデータがあり、果物にはキーとなる数字が割り振られています。
キーを入力すると値が出力されるという流れです。
例題は同じシートにデータが表記されていますが、別シートにマスターデータとして扱われているケースがほとんどだとおもいます。
その場合は別シートから参照する方法もあります。
今回のVLOOKUP関数の使い方としては、ExcelシートのB列にキーとなる番号を入力すると、C列にその番号に対応する果物の名前が自動で表示される、という式を作ります。
VLOOKUP関数の式は以下になります。
=VLOOKUP(B3,$G$3:$H$8,2,FALSE)
この式が何をしているのかは記事の冒頭のVLOOKUP関数の構文を思い出して、日本語にしてみると理解がしやすくなるとおもいます。
=VLOOKUP(①何を探すか, ②どこから探すか, ③何番目の情報が欲しいか, ④どうやって探すか)
「B3
」は「①何を探すか」にあたります。
B3セルに入力されたキーの番号を探しなさい、という意味です。
「$G$3:$H$8
」は「②どこから探すか」です。
これは、G3セルからH8セルの範囲にまとめられた果物の対応表の中から探しなさい、という指示になります。
「2
」は「③何番目の情報が欲しいか」で、今回はG3からH8の表の「2列目」にある情報、つまり果物の名前が欲しい、ということを伝えています。
「FALSE
」は「④どうやって探すか」で、これはキーの番号と完全に一致するものだけを探してください、という厳密な探し方を指定しています。

別シートから参照する方法
先ほどは同じシートの中のデータをVLOOKUP関数で参照しました。
しかし実際は参照するデータが別のシートにあるというのが多いとおもいます。
そのやり方を解説します!
今回の例として下記のように参照したいデータが別シートにあるとします。

この場合のVLOOKUP関数は以下のようになります。
=VLOOKUP(B3,果物データ!$B$3:$C$8,2,FALSE)
範囲を指定する時に以下のようになるとおもいます。

範囲を指定する際に「果物データ」を押して、範囲指定をするとおもいますが、その過程でもシート名が付与されているのがわかるとおもいます。

Excelに詳しくなれば「fx」から自分で記述することもできますが、慣れない間はマウス操作をしてExcelの補助を受けながら式を作るのがいいとおもいます。
さいごに
VLOOKUP関数の基本的な使い方を解説しました。
VLOOKUP関数は使ってみないと構文だけではわかりにくい関数だとおもいます。
しかしVLOOKUP関数は多くの場面で使う機会があるので、これをきっかけにExcelのレベルアップを図ってみてください!