概要
「売上ランキング」は、複数の売上データの中で「自分が何位か」を数式で求める定番パターンです。
Excel では RANK(新しいバージョンでは RANK.EQ)を使うことで、「大きい順に何番目か」「小さい順に何番目か」を簡単に求められます。
ここでは、売上表を例にしながら、コード例とテンプレートを初心者向けにかみ砕いて解説します。
RANK 関数の基本
RANK の書式と意味
古い書式(互換性用)は次の形です。
=RANK(数値, 範囲, [順序])
新しい書式(推奨)は次の形です。
=RANK.EQ(数値, 範囲, [順序])
意味はどちらも同じで、「範囲の中で、その数値が何位か」を返します。
順序を省略するか 0 を指定すると「大きい方が 1 位」(降順)、1 を指定すると「小さい方が 1 位」(昇順)になります。
売上ランキングでよく使うのは「大きい方が 1 位」
売上ランキングでは、基本的に「売上が大きいほど上位」です。
そのため、順序は省略(または 0)にして「大きい方が 1 位」の設定で使うのが定番です。
売上表からランキングを出す基本パターン
データの前提
次のような表をイメージしてください。
A 列:担当者名
B 列:売上金額
ここから、C 列に「売上ランキング」を出していきます。
1 行目のランキング式
たとえば、2 行目に最初のデータがあるとします。
A2:佐藤
B2:500000
このとき、C2 に次のように書きます。
=RANK.EQ(B2, $B$2:$B$10)
または、古い書式ならこうです。
=RANK(B2, $B$2:$B$10)
これで、「B2 の売上が、B2:B10 の中で何位か」が求まります。
$ を付けて範囲を絶対参照にしておくのがポイントです。
下にコピーして全員分のランキングを出す
C2 の式を C3、C4…と下にコピーすると、各行の売上が同じ範囲(B2:B10)の中で何位かが自動で計算されます。
これで、担当者ごとの売上ランキング列が完成します。
昇順ランキング(小さい方が 1 位)もできる
順序を 1 にすると「小さい方が 1 位」
在庫の少なさランキングや、リードタイムの短さランキングなど、「小さい方が良い」場合もあります。
そのときは、順序に 1 を指定します。
=RANK.EQ(B2, $B$2:$B$10, 1)
これで、「B2 の値が小さいほど 1 位」に近づくランキングになります。
売上ランキングではあまり使いませんが、「順序」の意味を知っておくと応用が効きます。
同順位(同じ売上)の扱い
同じ値は同じ順位になる
RANK(RANK.EQ)は、同じ値が複数ある場合、それらに同じ順位を付けます。
たとえば、売上が「500,000」「400,000」「400,000」「300,000」のとき、
400,000 の 2 人はどちらも「2 位」になります。
このとき、次の順位は「4 位」になります(3 位は飛ぶ)。
「同順位をどう扱うか」は集計のルール次第ですが、RANK の標準動作は「同値は同順位」です。
コードテンプレート集
売上ランキング(大きい方が 1 位)
売上が B2:B10 にある場合、C2 に次のように書きます。
=RANK.EQ(B2, $B$2:$B$10)
あとは C2 を下にコピーするだけで、全員分の売上ランキングが出ます。
昇順ランキング(小さい方が 1 位)
小さい値ほど上位にしたい場合は、順序に 1 を指定します。
=RANK.EQ(B2, $B$2:$B$10, 1)
例題
問題1
A2:A6 に担当者名、B2:B6 に売上金額が入っています。
C 列に「売上ランキング(大きい方が 1 位)」を表示したいとき、C2 に書くべき式を答えてください。
また、その式を C3〜C6 にコピーすると、どのようにランキングが計算されるか説明してください。
問題2
売上が B2:B10 にあり、C 列に「売上ランキング(小さい方が 1 位)」を表示したいとします。
C2 に書くべき式を、RANK.EQ を使って答えてください。
この設定が「どんな場面(どんな指標)」に向いているかも、自分の言葉で説明してください。
問題3
B2:B5 に「500000, 400000, 400000, 300000」という売上が入っています。
C2:C5 に =RANK.EQ(B2,$B$2:$B$5) を入れて下にコピーしたとき、C2〜C5 にはそれぞれどんな順位が表示されるか答えてください。
また、「同じ売上があるときに順位がどう付くか」を言葉で説明してください。
問題4
売上ランキングを出したあと、「1 位だけ色を変えたい」「上位 3 位だけ目立たせたい」といったニーズが出てきました。
C 列にランキングが入っている前提で、条件付き書式を使って「C 列が 1 の行だけ色を変える」には、どのような条件式を使えばよいか、自分なりに考えて書いてみてください。
問題5
次の 2 つの式は、どちらも売上を使っています。
=SUM($B$2:$B$10)
=RANK.EQ(B2, $B$2:$B$10)
それぞれが「何を知るための式」なのかを説明し、特に後者が「ランキング」という観点でどんな価値を持つか、自分の言葉で整理してみてください。
