2019年5月13日月曜日

数値からランク付けの方法2

Excelである数値が入力されており、その数値の範囲ごとにABCとランクをつけたいときの方法です。
例えば0~100までの値があるとき
80以上    A
70以上79以下 B
60以上69以下 C
59以下    D
というようにしたい場合の方法です。

数件のデータであれば、直接目で見てA、Bと手入力していけば済みますが、多数のデータが存在するとき都度手入力していては面倒になります。

以前、数値からランク付けの方法で、IF式を使った方法を紹介しましたが、今回はIF式を使わずに行ってみたいと思います。


IF式の欠点

IF式は条件を自由に設定できる利点はあるのですが、真のときの値と偽のときの値と分岐してしまうため、どうしても複雑になってしまう欠点があります。

数値を4種類に集約

IF式を使用しないで表示するには、0~100までの数値を4つの数値のどれかになるように変換してしまうことを考えます。

80以上    3
70以上79以下 2
60以上69以下 1
59以下    0

この4種類の数値で3→A、2→B、1→C、0→Dと変換することを目指します。

INT関数

INT関数は正の値のとき、小数点以下を切り捨てる関数です。

=INT(数値)

と入力します。元の数値を60で割った値にINT関数を適用すると、60以上は1にそれ未満は0となります。入力方法は以下のようにします。これで59以下は0に60以上は1に区別できました。

=INT([セルの値]/60)

次に70以上を2にする必要があります。元の数値を70で割った値にINT関数を適用すると70以上は1にそれ未満は0となります。これを先の値に加えます。

=INT([セルの値]/60)+INT([セルの値]/70)

これで70以上は2になりました。さらに80以上を同様に加えます。

=INT([セルの値]/60)+INT([セルの値]/70)+INT([セルの値]/80)

これで80以上は3となり、4種類の数値に変換できました。

VLOOKUP関数の威力

いよいよ、ランクの表示をします。まずは邪魔にならないセルに以下のように表1を用意します。図ではE1セルからF4セルまで入力されています。

表1
3 a
2 b
1 c
0 d

図ではB列に点数の数値ランクが入力されています。C列に

=VLOOKUP(B6, $E$1:$F$4, 2, 0)

と入力します。B6は検証するセルでどのセルに入っている値を変換するかという値です。$E$1:$F$4は参照範囲で、先に入力した表1のように入力した部分をドラッグして「F4」キーを押すと、範囲が指定されます。「F4」キーを押すのは「絶対参照」といって、入力後のセルをコピーした際に範囲がずれないようにする意味があります。3番目の「2」は表1の2列目を表示させるという意味で、最後の「0」は深く考えずにおまじないで0を入れると思ってください。

これでランク付けができるようになります。


0 件のコメント:

コメントを投稿