EXCEL

試験結果で SABCDクラスに分類する方法。 VLOOKUP の 近似一致 検索 で簡単にに分類する

今回は、 VLOOKUP 関数を使って 得点がS、A~Dのどのクラスに該当するかを判定する方法について説明します。

得点クラスは、最上位のSクラスとAクラス~Dクラスの合わせて5区分に分類します。

判定というと、すぐに思い浮かぶのが IF 関数ではないでしょうか。(もちろん、IF 関数でも実現は可能です。)

しかし、IF 関数で実現するときは、まずSクラスかどうかを判定し、それ以外ならAクラスか判定し、それ以外ならBクラスか判定し、、、、と式が長くなってしまうというデメリットがあります。

その点、VLOOKUP 関数を使う場合は、何点がどのクラスかを判定するための基準(判定表)を作り、各得点が表のどの区分に該当するかを VLOOKUP 関数(検索方法= 近似一致 )を使って検索して見つけ出しますから、VLOOKUP 関数1つで実現できるメリットがあります。

VLOOKUP 関数の第四引数(検索方法)はTrue(真)のとき近似一致、False(偽)のとき完全一致を指定します。(VLOOKUP 関数の使い方

通常は、False(偽)で完全一致モードで検索することが多いのですが、今回のような使い方もできると幅が広がります。

近似一致 の判定に使う基準 (判定表)を作る

VLOOKUP 関数の検索方法は2つあり、1つは 完全一致 、もう一つが今回の 近似一致 です。

近似一致は、検索値と完全に一致するものがない場合に、検索値より小さくかつ一番近い値に一致させ、その行の値を取得します。

使い方に注意点があり、使い方を間違えると思うような結果が得られませんので、近似一致をつかうときは、気をつけてください。

注意点は、検索範囲のデータ(判定表)は、検索列をキーに昇順並べ替えておく必要があります。

近似一致
判定表のレベル(昇順で並べておく)が検索列、評価が取得列

判定表のレベルの列を検索列、評価の列を値取得列としてVLOOKUP関数の近似一致検索を行う。

判定表の範囲に 判定表 という名前を定義した

VLOOKUP 関数で使いやすいように、判定表の範囲指定に名前定義し、”判定表”としています。

VLOOKUP 関数で 近似一致 検索

C列(得点)に値を入力すると、D列(判定)にS~Dの判定が表示されるようにします。 VLOOKUP 関数を図のように入力します。

近似一致
D3セルには、C3の値を判定表(F3:G7)範囲で近似一致で検索する

D3セルには、C3の値を判定表のレベルの列で近似一致で検索し、その行の評価を取得するように、 VLOOKUP 関数を入力しました。 第四引数に TRUE を指定しているのが、近似一致検索の指定です。

国語の得点77点に対して、VLOOKUP関数の戻り値は B になりました。

判定表のレベルの列をひとつずつ比較していって、0と比較、40と比較と順に比較していき、70と比較、80と比較までしたときに検索値の 77 を超えたため、ひとつ前の70の行を一致行としてその2列目の B を返すという仕組みです。

同じ数式がその下に続けて入力されています。D4セルには A が表示されています。 80を検索値として検索し、0から比較していって、80の完全一致する値があったので、その行が一致行としてその2列目 A が返されていますね。

まとめ

今回は、VLOOKUP関数の近似一致検索を使って、テストの得点でレベルを分類する方法について説明しましたが、他にも以下のようなことにも使えます。

  • BMIの計算結果で肥満を判定する
  • お買い上げ金額で割引率を判定する
  • 年間購買額でクラス分けする

そして、今回は判定表がひとつでしたが、科目ごとに判定表を分ける方法について、説明します。

VLOOKUP 関数についての記事

コメント

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