2019年5月10日金曜日

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

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



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

IF式による条件設定

条件を指定して、それに合うときと合わないときで表示を変えたいとき、Excelでは「IF式」という関数があります。IF式は

=IF([条件],[真のときの値],[偽のときの値])

という入力方法です。条件が成り立つときは「真のときの値」が表示され、成り立たないとき「偽のときの値」が表示されます。この部分の値に文字を表示させるときは、ダブルクォーテーション「"」で囲みます。「A」と表示させたいときは"A"と打ち込みます。

条件の書き方としては、「80以上」の場合、単純に

[セル名]>=80

となります。したがって、80以上でAと表示し、そうでないときBと表示させたいならば、

=IF([セル名]>=80, "A", "B")

と入力すれば良いです。

「70以上79以下」これは、「70以上かつ79以下」という意味なので、「かつ」という条件を示す必要があります。これは「AND」という式を使います。

AND([セル名]>=70, [セル名]<=79)

と入力します。

IF式の入れ子は複雑になる

最初の例を表示させるためには、これを繰り返せば良いのですが、

=IF([80以上], "A", IF([70以上79以下]), "B", IF([60以上69以下], "C", IF([59以下], "D", ""))))

のように入力していくと(条件は簡略化して表示してある)、式が複雑になってしまい、後々見たとき、どのように書き込んだのかわからなくなってしまいます。IF式はあまり入れ子にしない方が得策です。

そこで、4つの条件をすべてバラバラにし、それぞれの条件に合わない場合の表示を、空の文字列「""」とします。

1) IF(A1>=80,"A","")
2) IF(AND(A1>=70, A1<=79),"B","")
3) IF(AND(A1>=60, A1<=69),"C","")
4) IF(A1<=59,"D","")

という1)~4)の式4つを用意します。1)では80以上では「A」と表示されますが、それ以外では空の文字になります。同様に2)では70以上79以下で「B」とそれ以外では空の文字に3)以下同様。

文字をつなぎ合わせて表示

文字をつなぎ合わせる場合、「&」という記号を使います。例えば、別々のセルに「X」、「Y」、「Z」と表示されていて、これをくっつけたいとします。

=[セル名1]&[セル名2]&[セル名3]

と入力します。例えば更に後ろに「W」を直接つなぎたいときは、

=[セル名1]&[セル名2]&[セル名3]&"W"

と入力すれば良いです。

ランク付けの表示から離れてしまったように感じますが、この方法が実は生きてきます。つまり、「A」と表示させたい場合、「A」以外の条件は満たさないので全て空""となります。「"A"&""&""&""」を表示させるとやはり「A」となります。つまり、先の1)~4)の条件式を「&」でつないでやれば、AからDのどれか1文字だけが表示されるようになります。


= IF(A1>=80,"A","") & IF(AND(A1>=70, A1<=79),"B","") & IF(AND(A1>=60, A1<=69),"C","") & IF(A1<=59,"D","")

というように入力すれば、ランクがきれいに表示されます。


0 件のコメント:

コメントを投稿