VLOOKUP関数の「完全一致(0)」は分かるんだけど
「近似値(1)」って一致するものが無かったら近い数字を探すってこと?
どんな場面で使うの?
こんにちは。VLOOKUP関数を使用する際、多くの場面で「完全一致(0)」を使ってデータを取得していると思います。しかし、「近似値(1)」を使用する頻度はそれほど高く無い為、いざ使おうとすると結果が思うようにならず「単純に近い方を探すんじゃないの?」と思った方もいるのではないでしょうか。
「近似値(1)」は、一致する値が無い場合は検索する値より大きい数字は選ばず、小さい方から一番近い数字を探す。また、データは昇順に並べておくというルールにがあります。その具体的な設定方法をわかりやすく解説していきます。きっと「完全一致(0)」しか使わなかった人も、新たな検索の可能性が見えてくるでしょう!
【VLOOKUP関数】の完全一致とは!?
まずはじめに、VLOOLUP関数の「完全一致(0)」についておさらいしましょう。
左の表:ランク分けの点数範囲表
右の表:挑戦者の点数が入力されています。この挑戦者の点数に基づいてF列にコメントを表示します。
=VLOOKUP(E2,$A$1:$B$4,2,0)
=VLOOKUP(E2,$A$1:$B$4,2,完全一致の(0)を指定する)
完全一致を指定する場合は「0」または「FALSE」を入力します。
注目すべき点は、ランク分け表に存在しない59点と61点の場合です。参照先に対象が見つからない為、エラー値のノーアンサー(#N/A)が表示されます。このエラーを対処するのが、次に解説する「近似値(1)」です。
【VLOOKUP関数】の近似値とは!? 検索する値より大きい値は見にいかない
=VLOOKUP(E2,$A$1:$B$4,2,1)
=VLOOKUP(E2,$A$1:$B$4,2,近似値(1)を指定する)
計算式の末尾に、「近似値」を指定する場合は「1」または「TRUE」を入力します。
59点と61点の結果が、近似値を指定することでどう変わったのか見てみましょう。
- 59点の場合:A列を上から順番に探し一致する値が無ければ、ひとつ前の値(0点)に戻ります。このため、59点は「不合格。。。」になります。
※59点は0点より60点の方が誤差が少ないですが元の数字(59点)を超えないというルールがあるためです。言い方を変えると元の数字(59点)より小さくて近い方になります。 - 61点の場合:該当がなければひとつ前の値(60点)に戻り61点は「合格です!」になります。
なお、「近似値(1)」を使用する際は、検索範囲(この場合ランク分け表)を必ず昇順に並び替えをしておく必要があります。
まとめ
- VLOOKUP関数の末尾は、
完全一致の場合は、「0」か「FALSE」
近似値の場合は、「1」か「TRUE」を指定する - 近似値は、検索する数字より小さくて近い方を返す
- 近似値を設定する際は、検索範囲(この場合ランク分け表)を昇順に並べるておくことを忘れずに!
単純に「検索値の最も近い値」ではない事がわかりました。今回は合格点を例に解説しましたが、「◯gまでは送料◯円」といった場合にも使えます。
コメント