Excel

ExcelのVLOOKUP関数の引数┃検索方法の近似値(あいまい)と完全一致の違い

この記事では、ExcelのVLOOKUP関数の引数のひとつ、『検索方法』について解説しています。あいまい検索(近似値検索)と完全一致検索の違いについて、具体的に知りたい方におススメの記事です。

対応するExcelのバージョン
Excel97
Excel2000
Excel2002
Excel2003
Excel2007
Excel2010
Excel2013
Excel2016
Excel2019

VLOOKUP関数の引数『検索方法』は、省略すると『あいまい検索』を指定したことになります。

あいまい検索(近似値検索)だと、どんな結果が返るのか?

検索値と完全に一致するセルのみを検索するには、どう指定すればいいのか?

検索方法の違いによってうまれる結果を理解しておけば、VLOOKUP関数の利用価値がグッと高まります。

[デジトピ]ピヨコ

ヒヨコのピヨコでもわかるかなぁ?

[デジトピ]リエコ

大丈夫!ヒヨコのピヨコさんもすぐにマスターできます。一緒に操作して習得しましょ!

検索方法の種類と設定できる値

VLOOKUP( 検索値 , 検索範囲 , 列番号 , 検索方法 )

VLOOKUP関数で指定できる引数4つのうち、一番最後の『検索方法』は省略することも可能です。

ただし、省略すると『あいまい検索』を指定したことになるため、期待した結果が返らないことがあります。

正しい結果が返るよう、『検索方法』の種類と指定できる値(パラメータ)を覚えておきましょう。

検索方法の種類検索の動作
あいまい検索
(近似値検索)
検索値に近い値を検索する
完全一致検索検索値と完全に一致する値のみを検索する

[デジトピ]ピヨコ

VLOOKUP関数の『検索方法』は、あいまいで検索するタイプとピッタリ一致だけを検索するタイプの2種類があるんだね。

検索方法の種類指定できる値
あいまい検索
(近似値検索)
何も入力しない(省略する)
1
TRUE
完全一致検索0
FALSE

[デジトピ]ピヨコ

完全一致で検索するときは、0かFALSEを指定するのを忘れないようにしなきゃね。

あいまい検索で得られる結果

VLOOKUP関数の引数・検索方法を『あいまい検索』にしたいときは、以下の3つのうちいずれかを指定してください。

VLOOKUP( 検索値 , 検索範囲 , 列番号 , 検索方法 )

VLOOKUP( 検索値 , 検索範囲 , 列番号 , 検索方法 )

VLOOKUP( 検索値 , 検索範囲 , 列番号 , 検索方法 )

あいまい検索を指定したとき、『検索値』が『検索対象』になくても『近い値』を探して結果を返します。

具体的にどんな結果になるのか、以下のサンプル画像をご確認ください。

[デジトピ]ExcelのVLOOKUP関数の引数┃検索方法の近似値(あいまい)と完全一致の違い

検索値『19』は検索対象にはありませんが、Excelが『近似値』と判断した値10』を検索して10の『2列目』の『B』を返しています。

[デジトピ]ピヨコ

えっ。19に近い値って20じゃないの?『C』が正しい結果じゃないの?

人は『近似値』と言われると『数字の距離』をイメージしますが、ExcelはVLOOKUP関数の『近似値』を『前の値以上、次の値未満』と判断します。

[デジトピ]ExcelのVLOOKUP関数の引数┃検索方法の近似値(あいまい)と完全一致の違い

この『前の値以上、次の値未満は前の値に含める』という近似値検索が、検索対象の表を並べ替えておく理由です。

検索対象を昇順で並べ替える理由

もう一度、検索対象の表を確認してみましょう。

[デジトピ]ExcelのVLOOKUP関数の引数┃検索方法の近似値(あいまい)と完全一致の違い

ExcelはVLOOKUP関数のあいまい検索を『前の値以上、次の値未満は前の値に含める』と認識するため、検索値が『3』だった場合は『A』、検索値が『67』だった場合は、50の次の値が設定されていないため、『F』が返ります。

[デジトピ]ピヨコ

もし並べ替えられていない表だったらどうなるの?

検索対象の表を昇順で並べ替えていない場合、期待どおりの結果を出すことができません

以下の並べ替えていない表で解説します。

[デジトピ]ExcelのVLOOKUP関数の引数┃検索方法の近似値(あいまい)と完全一致の違い

この表で『20』を検索した場合、『1以上、30未満は1に含める』と認識されるため『C』が返ります。

重要
ExcelはVLOOKUP関数で検索するとき、2つの前提があります。
  • Excelは数値の順番を昇順で認識している
  • 昇順ではない数値の並びは認識できない

1の次は2、2の次は3、という風にExcelは『数値を昇順で認識している』という特性があります。

そのため、検索対象の表が昇順で並べ替えられていない場合は、『20の次が10っておかしいし!無視しよ。』と判断します。

[デジトピ]ピヨコ

なるほど~
Excelは数値の順番を覚えているから昇順で並べ替えておかないと認識できなくなっちゃうんだね。

検索対象が文字列でも昇順で並べ替える理由

VLOOKUP関数であいまい検索を指定するとき、検索対象が文字列であっても昇順で並べ替える必要があります。

以下のサンプルでは、検索値『田中』は検索対象範囲内にありますが、VLOOKUPが返した結果は『B』ではなく『D』です。

[digitopi]ExcelのVLOOKUP関数の引数┃検索方法の近似値(あいまい)と完全一致の違い

[デジトピ]ピヨコ

ほんとだ。どうして?

完全一致検索で得られる結果

VLOOKUP関数の引数・検索方法を『完全一致検索』にしたいときは、以下の2つのうちいずれかを指定してください。

VLOOKUP( 検索値 , 検索範囲 , 列番号 , 検索方法 )

VLOOKUP( 検索値 , 検索範囲 , 列番号 , 検索方法 )

あいまい検索と完全一致検索を使い分けるメリット

\ 読んでおこう! /

\ この記事を書いた人 /
[デジトピ]リエコ
リエコ
MOS(マイクロソフト オフィス スペシャリスト)資格を保有。MCT(マイクロソフト認定トレーナー)の資格取得に奮闘中。趣味はExcelお絵かき。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です