見出し画像

[Excel]★RANK.EQ★同じ順位のときに別の内容で順位付けする[猫Tips]

エクセルでランキングなんかを作ったりするときに活用する関数、RANK.EQ。同率順位もしっかり計算してくれて助かりますよね。「同率だったら●●が高いほうが上位」など条件を付け足したいときもありますよね。

今回の完成品

画像のような売上表で説明していきます。

同率順位分岐_猫のサンプル.xlsx - Excel 2021_05_09 0_08_10 (2)

D2セルにはこんな関数式が入っています。

=RANK.EQ(B2,$B$2:$B$7,0)+COUNTIFS($B$2:$B$7,B2,$C$2:$C$7,"<"&C2)
※RANK.EQ(B2,売上,0)+COUNTIFS(売上,B2,欠勤数,"<"&C2)

「うっ・・・」ってなって戻ろうとした方!!
諦めないで!長いだけです!
1つ1つ分解して解説していきます!

いまちょっとだけ頑張って、仕事中にのんびりしましょう~。

ステップ1:何をするのか明確に!

今回の例では次のようなランキングを作ります。

ルール1:売上が多いほど上位
ルール2:売上が同じときは欠勤が少ないほうが上位

(そんな会社あるのか・・・?)
それではやっていきましょう。

先程の成績表をもう一度見てみましょう。

画像2

※この売上順位にはただのRANK.EQが入っています。
 RANK.EQの使い方は、気が向いたら・・・。猫なので。

藤原の二人がちょうど100万の売り上げを叩き出しているので同率2位となっています。藤原定家のほうが欠勤が少ないので、「藤原定家:2位」「藤原道長:3位」となってほしいですね。

これをもう少し具体的にしてみましょう。

もしも同じ順位の人がいたら、欠勤が少ないほうが上位になる

じゃあどうやって?
次のステップにいきましょう。

ステップ2:どうやって欠勤が少ないほうを上位にする?

どうなってほしいかおさらいです。

藤原定家が2位(欠勤が少ない)
藤原道長が3位(欠勤が多い)

「RANK.EQ」では2人とも「2位」になります。
それでは、道長の気持ちになって考えてみてください。

「あ~俺よりあいつのほうが欠勤少ないから1つ順位下がるな~」
「あ~2位だったのに、2+1で3位か~」

これです。式の形にするとこんな感じですね。

「元々の順位」+「自分より欠勤が少ない人数」

定家からすれば、

「同じ順位で自分より欠勤が少ない人」は0

なので、順位は2位のまま変わりません。

最後に言葉で式の形にしておきましょう。

「元の順位」+「同じ順位の人でその人より欠勤が少ない人数分」

あとは一つ一つ関数を当てはめていきます。
もうひと踏ん張りです!

ステップ3:関数を当てはめよう

「元の順位」+「同じ順位の人でその人より欠勤が少ない人数分

まずは「元の順位」のところにRANK.EQ関数を入れちゃいましょう。

RANK.EQ(B2,$B$2:$B$7,0)+
同じ順位の人でその人より欠勤が少ない人数分

後ろの部分さえ完成すればもう終わりです。こちらの勝ちです。
言葉だけで書くと

同じ順位の人の中で、欠勤が少ない人を数える(カウントする)

「ある条件にそって数える」のでこちらを利用します。

COUNTIFS(範囲1, 条件1, 範囲2, 条件2)

今回は

範囲1→売上の列
条件1→同じ
範囲2→欠勤数の列
条件2→少ない人

といわけで、、、

COUNTIFS($B$2:$B$7,B2,$C$2:$C$7,"<"&C2)

そしてくっつけると、最初にお見せした完成品となります。

=RANK.EQ(B2,$B$2:$B$7,0)+COUNTIFS($B$2:$B$7,B2,$C$2:$C$7,"<"&C2)

まとめ

今回は「同率順位のときに、ほかの項目で順位付けをする」関数を紹介しました。今回のやり方であれば、「同率だったら●●、、、また同率だったら今度は○○で、、、」とどんどん条件を付け足すこともできます。
エクセルの関数ってたくさんあって、それぞれ構文とか引数とかあって大変です。いちいち覚えてられないので、私はこんな感じで覚えてます。

「順位をつけたい」→「RANK.EQ」
「条件にそってカウントしてほしい」→「COUNTIF」
など
「何がしたいか」「何ができるか」で覚える

構文なんてGoogleで検索すればすぐに確認できます。そんなものをいちいち覚えるよりも、エクセルって何ができるのかを覚えていったほうがより実用的です。たぶん。

長いのに駄文を最後まで読んでいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?