【Excel基本】VLOOKUP関数の60点の近似値は、61点ではなく0点。上から検索するから昇順に並び替えしておこう。

Excel

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までは送料◯円」といった場合にも使えます。

コメント

タイトルとURLをコピーしました