7/05/2016

Excel。Conditional order。条件付きで順位をつける方法を知りたいという質問

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関数を使ってあげると、
条件付きランキングを求めることができるのです。

機会があれば、やってみませんか?