ExcelやスプレッドシートでのVLOOKUP関数で、何となくFALSEを使用している表について、もしかするとTRUEを使用した方が効率的な場合があるかもしれません。
VLOOKUP関数の「TRUE」は完全一致、「FALSE」は近似一致の意味があります。
この記事では、VLOOKUP関数の検索条件である「TRUE」「FALSE」の違いと使い方について解説していきます。
VLOOKUP関数のTRUE/FALSEの違い
VLOOKUP関数は、第4引数の検索条件の値を「TRUE」「FALSE」のどちらを設定するかによって検索方法が異なります。
- 検索条件の値を「TRUE」に設定した場合(「近似一致」)
- 検索値、または近似値(検索値よりも小さく、最も検索値に近い値)と一致した値を返します。
- 検索条件の値を「FALSE」に設定した場合(「完全一致」)
- 検索値と一致した値を返します。見つからなかった場合は値を返しません(エラーになります)。これをと呼びます。
第4引数の検索条件を省略した場合は、自動的に「TRUE」とみなされ近似一致で検索します。
TRUE(近似一致)を使う場合
TRUE(近似一致)を使用すると近似値(検索値よりも小さく、最も検索値に近い値)を返す結果を具体的に見ていきます。
近似という言葉からやや使い方が難しい印象を受けやすいですが、検索値が連続している場合には便利なオプションであることがわかります。
数字の近似一致の例
以下のように数値の検索商品コードをVLOOKUP関数の検索値として利用する場合を考えます。
検索値をE列、検索範囲を大分類の表に設定してVLOOKUP関数を組みます。
E5セルの値である「1.1」は大分類には存在しません。しかし、近似値「1.1より小さい値の範囲での最大値」である「1」(E4セル)がヒットしました。したがってE4セルに対応する商品分類「セーター」を取得することができました。
文字の近似一致の例
続いて、文字列の検索商品コードをVLOOKUP関数の検索値として利用する場合を考えます。
検索値をE列、検索範囲を大分類の表に設定してVLOOKUP関数を組みます。
E5セルの値である「A1」は大分類には存在しません。しかし、近似値「A1より小さい値の範囲での最大値」である「A」(E4セル)がヒットしました。したがってE4セルに対応する商品分類「セーター」を取得することができました。
文字列の大小はアルファベット順の順番および数字の大小で決まります。日本語(特に漢字)はうまく大小が判定されない場合があるので注意してください。
尚、TRUEを使う場合の注意点として検索範囲を必ず昇順に並べておく必要があります。
以上、TRUEを利用する場合の使い方でした。検索値が参照範囲の小数値や前方一致の文字列に該当する場合は参照範囲の数を減らすことができる点がメリットです。また、昇順で調べていくのでVLOOKUP自体の動作もFALSEより高速に完了します。
FALSE(完全一致)を使う場合
VLOOKUPの検索条件を「FALSE」にすると、数値の場合・文字列の場合を問わず検索値が見つからない場合はエラーになります。
VLOOKUP関数で設定した検索値のみでしか検索したくないケースでは、「FALSE」を設定します。
また、VLOOKUP関数で第4引数を設定しないと、デフォルトで「TRUE」が設定されてしまいます。一覧に検索値と同じ値がないのに検索がヒットする場合は、第4引数に「FALSE」が設定してあるか確認しましょう。
以上、VLOOKUP関数の検索条件のTRUE・FALSEの違いと使い方の解説でした。
コメント