• 公開日:

ExcelのVLOOKUP関数の検索方法(検索の型)について

この記事では、ExcelのVLOOKUP関数の検索方法(検索の型)についてご紹介します。

検索方法は迷わず「FALSE」を指定する方も多いと思いますが、なぜ「FALSE」を指定するのか、また「TRUE」との違いなどを詳しくご説明します。

以下では、2種類ある検索方法をどんな時に使用するのかも合わせてご紹介しています。

VLOOKUP関数について

検索方法(4番目の引数)を説明する前に、VLOOKUP関数の基本的な使い方について簡単にご紹介します。

VLOOKUP関数の基本的な使い方

VLOOKUP指定された範囲の左端の列で特定の値を検索して、該当する値がある場合は同じ行から指定した列のデータを取り出します。

例で説明すると、まず検索したいセル参照または文字列(例:A9セル)を指定した範囲(例:A2セルからD6セル)の左端の列(例:氏名)で探します。

該当する値がある場合は、指定した列(例:2列目)の値を同じ行から取り出して、結果(長野県諏訪郡友之町)を返します。

4番目の引数である検索方法は省略可能な引数ですが、省略すると「TRUE」として処理されてしまうので、「FALSE」を指定して完全一致させるのが基本的な使い方です。

ExcelのVLOOKUP関数の検索方法(検索の型)について

VLOOKUP関数の検索方法(検索の型)は、完全一致する値のみを検索する「FALSE」と、検索値に1番近い値を検索する「TRUE」の2種類があります。

検索値と検索列の値が一致する場合はどちらの型も完全一致する値を返しますが、検索値に一致したデータが見つからなかった場合の結果が異なります。

以下では、それぞれの処理の違いなどを詳しくご紹介します。

FALSEまたは0(完全一致検索)について

VLOOKUP関数の検索方法(検索の型)の基本は「FALSE」です。

「FALSE」または「0」を第4引数に指定すると、検索値と完全一致した値を探します。

データを並び替える必要がない一方で、完全一致は範囲内のすべての値を検索するのでデータが重くなることがあります。

完全一致する値がある場合

完全一致する場合

上記の画像のB8セルは、「商品コード」1002を検索値としたVLOOKUP関数の結果です。

検索値と検索列の値が完全に一致しているため、「商品コード」1002に紐づく2列目の「商品名」ぶどうを抽出することができました。

完全一致する値がない場合

完全一致しない場合

上記の画像のB8セルは、「商品コード」1005を検索値としたVLOOKUP関数の結果です。

検索列(例:A2セルからA5セル)の値と検索値(例:1005)が一致しないため、値が存在しない場合に表示される#N/Aエラーが返されました。

数字の不一致のほかに、検索値と検索列の値が一致しているように見えても表示形式の違いなどで不一致と判断されて#N/Aエラーが表示されることがあります。

文字列が一致しているのにエラーが表示される原因を以下の記事でご紹介しています。

ExcelのVLOOKUP関数で文字列はあるのにエラーになる

どんな時に使う?

VLOOKUP関数は基本的に「FALSE」を指定します。使い方に慣れていない場合は、「FALSE」を指定すれば間違いないです。

とくにおすすめの場面は、整合性が求められる場合や一意の値がある場合は「FALSE」を指定します。

「FALSE」を指定する具体例を以下に表示します。

  • 住所
  • 電話番号
  • 入力されたデータの照合
  • 社員ID
  • 商品コード

TRUEまたは1(近似値検索)について

「TRUE」または「1」を第4引数に指定すると、検索値と完全一致した値または近似値を探します。

近似値とは検索値に一致する値または検索値を超えない最大値のことです。

例えば「1、3、5」の中で「2」の近似値は「2」を超えない「1」ですが、最小値(例:1)より小さい場合(例:0.5)は、#N/Aエラーが表示されるのでご注意ください。

また、「TRUE」の場合はデータを検索する前に必ず「昇順」に並び替える必要があります。

昇順に並び替えた場合

上記の画像の例では、「合計」に応じた「割引」をVLOOKUP関数で抽出しています。

検索列のG列が「昇順」に並べられているので、E6セルの合計(例:¥6,850)の近似値に紐づく割引(例:10%)が正しく表示されています。

以下では、昇順に並び替えない場合に結果がどうなるのかを試してみます。

昇順に並び替えない場合

上記の画像のE7セルは、VLOOKUP関数の検索列が「昇順」に並び替えられていないため、誤った結果が表示されています。

「TRUE」を指定する場合は、必ず「昇順」に並び替えてからVLOOKUP関数を入力してください。

「昇順」に並び替える必要性や近似値検索がどのような検索方法なのかを、以下の記事でご紹介しています。

ExcelのVLOOKUP関数で昇順に並び替える必要がある場合

完全一致する値がある場合

完全一致する値がある場合

上記の画像のB8セルは、「商品コード」1003を検索値としたVLOOKUP関数の結果です。

検索値と検索列の値が完全に一致しているため、「商品コード」1003に紐づく2列目の「商品名」ぶどうを抽出することができました。

完全一致する値がない場合

完全一致する値がない場合

上記の画像のB8セルは、「商品コード」1002を検索値としたVLOOKUP関数の結果です。

検索列(例:A2セルからA5セル)に検索値(例:1002)と完全一致する値が存在しないため、1002の近似値である1001に紐づく「商品名」いちごが表示されました。

どんな時に使う?

VLOOKUP関数で「TRUE」を指定することは多くありません。

特定の値を抽出したい場合に「TRUE」を指定してると、誤った結果に気付かないこともあるので、基本的には完全一致した値を抽出する「FALSE」を指定しましょう。

ただし、近似値検索が役に立つ場面もあります。例えばデータ数が多い場合、TRUEはデータを絞って検索するため「FALSE」よりも速くなります。

「TRUE」を指定する具体例を以下に表示します。

  • 重量によって変わる送料
  • 時間帯によって変わる料金
  • 料金によって変わる割引率