Excel

【Excel】VLOOKUP関数がうまくいかない?数式の使い方やエラーの原因

※当ページのリンクには広告が含まれています。

本の目次をイメージ? VLOOKUP関数

\ 仕事のステップアップに繋がる!?

なやみ

「いつまでたってもVLOOKUP関数が理解できない」
「VLOOKUP関数を入力したらエラーが出て解消できない」

とても使い勝手が良く頻繁に利用されているVLOOKUP関数ですが、意外と使い方が分からない人も多いのではないでしょうか。

他の関数と比べると「理解するのが難しい」と思っているかもしれませんが、実はとてもシンプルで便利な関数です。

今回はVLOOKUP関数の使い方と、エラー例と解消方法について解説していきます。

VLOOKUP関数について

まずはVLOOKUP関数について理解しておきましょう。

VLOOKUP関数とは?

VLOOKUP関数は、検索するデータに該当する行にある任意の列からデータを取得する関数です。

実際に関数を使ってデータを取り出したExcel画像がこちらです。

VLOOKUP関数とは

上記では、E5~H5の各セルにVLOOKUP関数を用いた数式を入力しています。

D5セルに検索したい商品IDの「4」を入力すると、下部にあるマスタ表の中から商品ID「4」に対応するデータが取得できます。

必要なデータを自動で取り出せる便利な関数であるため、多くの仕事現場で重宝されています。

VLOOKUP関数のイメージ

VLOOKUP関数は本の目次をイメージすると覚えやすいです。

基準となる内容や単語を縦方向に探し、対応するページ数を横方向で確認する流れがVLOOKUP関数と似ています。

VLOOKUP関数のイメージ

VLOOKUP関数の数式

VLOOKUP関数の説明

Excel関数を上手に活用するためには引数をしっかり理解しなければなりません。

VLOOKUP関数の引数は以下の4つで構成されています。

  1. 検索値:検索したいデータ、もしくはセル番地
  2. 範囲:検索の対象となる表の範囲
  3. 列番号:検索範囲内で取り出したいデータの列番号
  4. 検索方法:検索したいデータが見つからない場合の対応

それでは、実際にVLOOKUP関数を使いながら1つずつ引数を見ていきましょう。

VLOOKUP関数の使い方

上述したようにVLOOKUP関数には4つの引数があるので、Excel画像を用いながら実際の使い方を解説していきます。

今回は商品IDを検索値にしてマスタ表から商品名を求めるため、C4セルに入力した数式『=VLOOKUP($B$4,$B$9:$F$13,2,FALSE)』をもとにお伝えします。

VLOOKUP関数の使い方①

1番目の引数:検索値

1番目の引数には検索したいデータ、もしくは検索したいデータのあるセル番地を指定します。

今回は商品ID「4」のデータを取得したいので、「4」もしくはセル番地(B4)を入力します。

VLOOKUP関数の使い方②

ポイント

  • 数式を変更せず別の商品IDを検索できるよう、セル番地の入力がおすすめです
  • 絶対参照「$B$4」にすればコピー&ペーストをしたときの手間が減ります

絶対参照や相対参照が分からない方はこちらの記事を参考にしてください。

2番目の引数:範囲

2番目の引数には、1番目の引数である検索値と取得したいデータを含めた範囲を指定します。

注意ポイント

検索値の列が左端になるように範囲を設定する必要があります

VLOOKUP関数の使い方③

後々の手間を少なくするため、範囲も検索値と同様に絶対参照で指定しています。

3番目の引数:列番号

3番目の引数には、取り出したいデータがある列番号を入力します。

『C列のデータが欲しいから「3」を入力する』というのは間違いで、『2番目の引数で指定した範囲のなかで何列目か』が基準となります。

今回はB9~F13セルを範囲指定しているので、C列の商品名を取得するためには「2」と入力する必要があります。

VLOOKUP関数の使い方④

4番目の引数:検索方法

4番目の引数である検索方法は、検索したいデータが見つからない場合の対応を設定します。

入力できるのは「TRUE」と「FALSE」のみで、検索値が見つからない場合にエラーを出力するかどうかが変わります。

ポイント

  • TRUE(近似一致):「検索値」以下の最大値に一致する値が対象となる
  • FALSE(完全一致):対象が見つからない場合エラーが出力される

ただ、データを検索する際には完全一致で調査したいことが多いので、4番目の引数には「FALSE」を入力することが基本になります。

VLOOKUP関数の使い方⑤

すべての引数を入力したらEnterで確定

1~4番目までの引数の入力が完了したら、 Enter を押してVLOOKUP関数の結果を出力しましょう。

VLOOKUP関数の使い方⑥

無事、商品ID「4」に対応する商品名「ベストセラー小説」がC4セルに表示されました。

別のセル(D4~F4)にもVLOOKUP関数を入力する

せっかくなので、D4~F4セルにもVLOOKUP関数を利用した同様の数式を入力しましょう。

検索値範囲は絶対参照のセル指定をしているので、3番目の引数である列番号だけそれぞれ対応する数字に変えればOKです。

VLOOKUP関数の使い方⑦

これで、マスタ表から商品IDを検索値にしてデータを取得するVLOOKUP関数の使い方が完了しました。

VLOOKUP関数のエラー

ここからはVLOOKUP関数の入力時に表示されがちな「#N/A」エラーと「#VALUE! 」エラーをご紹介します。

#N/A

#N/A」は検索値が見つからない場合に表示されるエラーです。

「No Assign」(ノー・アサイン)の略で、有効なデータが見つからないという意味になります。

試しにマスタ表に存在しない「6」をB4セルの商品IDに入力してみましょう。

エラー①

マスタ表には1~5の商品IDに対応するデータしかないため、検索値の「6」が見つからず「#N/A」エラーが出力されています。

ちなみに4番目の引数である検索方法を「TRUE」にすると、商品ID「5」に対応するデータが取得できます。

メモ

検索方法を「TRUE」にすると「検索値」以下の最大値に一致する値が対象となる

エラー②

検索方法を知らずに「TRUE」を設定していると『検索結果がおかしい。。』と悩んでしまうため、基本的には「FALSE」を設定しておきましょう。

#VALUE!

VLOOKUP関数のエラーには「#VALUE! 」と出力されるものもあり、大きく2つの原因に分けることができます。

原因

  • 1つ目の引数である「検索値」が 255 文字より長い
  • 3つ目の引数である「列番号」が 0 より小さい

整理された表であれば検索値が255文字より長くならないことが多いですが、列番号を「0」にしてしまうミスは頻発します。

実際にVLOOKUP関数の列番号を「0」にした場合の出力結果「#VALUE!」が下記画像です。

列番号にテキストが含まれている場合も「#VALUE!」となりますが、こちらもあまり発生することはない事象でしょう。

まとめ

今回はVLOOKUP関数の使い方と、エラー例と解消方法について解説しました。

VLOOKUP関数はExcelを利用するうえで重宝する関数なので、ぜひ覚えておきましょう。