Excel。条件付きで順位をつける方法を知りたいという質問
<COUNTIFS関数>
新しいExcel。Excel2016。
そこに新しい関数で、MAXIFS関数なる関数が登場しまして、
条件付き最大値っていうのが求めやすくなりました。
MAXIFS関数などは、後日紹介するとして、
今回は、条件付きは条件付きでも、
【条件付きランキング】はどうやって算出したらいいのか?
ということをご紹介してみようと思います。
この内容も、ご質問があるものの一つですね。
では、下記の表があります。
D列には、全体の順位が算出されています。
これは、おなじみのRANK.EQ関数を使って算出しているわけですね。
ちなみに、D2には、
=RANK.EQ(C2,$C$2:$C$9,0)
という数式が設定されています。
では、例えば今回のように、男性・女性などの条件付きでランキング。
順位を求めるとしたら、どうしたらいいでしょうか?というのが、今回のテーマなんですね。
順位を算出する、RANK.EQ関数は、条件をつけるようなことが出来ないわけですね。
範囲の中から、その値が何位なのかしか求めることができません。
そこで、今回登場する関数は、なんと、COUNTIFS関数なのです。
順位ということを改めて考えてみれば、難しいことではないのですが、
考え方が大切になりますよね。
よく考えてみると、
条件のその値よりも全体の中で、大きい値がいくつ、
あるのかを求めてあげればいいわけですよね。
一つもなければ、その値が1位ですよね。
だから、複数の条件で数を数えることが出来る関数。
それがCOUNTIFS関数で表現できるわけですね。
それでは、E2をクリックして、COUNTIFS関数ダイアログボックスを表示しましょう。
検索条件範囲1には、$B$2:$B$9
これは、性別の範囲ですね。
検索条件1には、B2
検索条件範囲2には、$C$2:$C$9
これは、獲得点数の範囲ですね。
検索条件2には、">"&C2
作成する時のポイントは、ココですね。
よくやってしまうのですが、">C2"としてしまうことですね。
これでは、文字になってしまって、C2より大きい。という条件式にはなりません。
比較演算子を使うときには、&で結合してあげる必要がありますので、ご注意ください。
これで、まず、性別が女性で、獲得点数が349より高い件数を求めることが出来ます。
しかし、OKボタンをクリックすると、0(ゼロ)が表示されます。
条件で自分自身の獲得点数よりも、大きいものの数を算出しておりますので、
自分自身分を足す必要がありますので、数式に+1して、数式が完成ということになります。
=COUNTIFS($B$2:$B$9,B2,$C$2:$C$9,">"&C2)+1
あとは、オートフィルで数式をコピーします。
これで完成しました。
このようにCOUNTIFS関数を使ってあげると、
条件付きランキングを求めることができるのです。
機会があれば、やってみませんか?