12/21/2022

Excel。条件付き順位を算出したい時は、どのようにしたらいいのでしょうか?【RANK】

Excel。条件付き順位を算出したい時は、どのようにしたらいいのでしょうか?

<COUNTIFS関数>

順位を算出したい時には、「RANK.EQ関数」など順位を算出する関数を使えば、算出することができます。


ただし、条件付きで順位を算出したい場合には、「RANK.EQ関数」では対応することができません。


では、どのようにしたら条件付きの順位を算出することができるのでしょうか?


条件付きの順位を算出したいときには、COUNTIFS関数をつかい、数式を少し修正すれば算出することができます。


D2には、次の数式を設定して、オートフィルで数式をコピーしています。

=COUNTIFS($B$2:$B$8,B2,$C$2:$C$8,">"&C2)+1


なぜ、COUNTIFS関数なのかというと、順位というのは、自分自身の値よりも大きな値がない。

要するに0件だったならば、1番大きな数値ということがわかります。

10件中10位。

つまり最下位の場合は、自分自身の値よりも大きな数値が9件あるわけです。


順位は件数を算出することで順位を算出することができるというわけです。


なので、条件付きで件数を算出することができる「COUNTIFS関数」をつかうことで、条件付き順位を算出できるというわけです。


では、引数を確認しておきましょう。

1番目の引数は、2番目の引数である、「検索条件1」が含まれている範囲です。


今回は検索条件1をクラスにしますので、

1番目の引数には、「$B$2:$B$8」。


オートフィルで数式をコピーするので、絶対参照を忘れずにセットしておきます。


2番目の引数は、「B2」。


3番目と4番目の引数は、1番目と2番目と同じ関係性です。

3番目の引数は、「$C$2:$C$8」。ポイントを範囲選択しています。

こちらもオートフィルで数式をコピーしますので、絶対参照を忘れないようにします。


4番目の引数は、「">"&C2」と設定することで、自分自身の値よりも大きな値という条件をつくることができます。


そして、注意しないといけないのは、算出した値に「+1」することです。


自分自身よりも大きな値が無い場合は、その値が1番なわけですが、値がないということは、算出結果は「0」となるわけです。

0位というのは変ですから、「+1」する必要があるというわけですね。


意外と件数算出系の関数は、アレンジ次第で重宝しますので、色々試してみるといいかもしれませんね。