みんなが平和で平等に暮らせる社会、実現させたいですね!?
とはいえ、良し悪しは別として、仕事でも勉強でも、社会生活では必ず、「競争」と「ランクづけ」がついて回ります。Excelブックで、集計データに順位づけするRANK関数を使う場面は、多いのではないでしょうか?
10年以上この関数を使っていると、Excel2010から、RANK関数がRANK.EQ、RANK.AVGの2種類に分かれたことは意識しないかもしれません(Excel2007以前からのRANK関数も、互換性関数として、従来通り使用可能です)。
今回は、RANK.EQとRANK.AVGの使い分けについて、具体的に解説します。
RANK関数とは?
<構文>
=RANK(数値,範囲,[順序])
※引数は、RANK.EQ関数、およびRANK.AVG関数でも同一。
※数値一覧内の数値ランクを返します。リスト内の他の値を基準にしたサイズです。
※3番目の引数[順序]は省略可能です。[順序]を省略するか、0を指定すると、範囲内の数値が… 3,2,1のように降順に並べ替えられます。0以外の数値を指定すると、範囲内の数値が1,2,3… のように昇順で並べ替えられます。
(以上、Microsoft supportの解説ページより、一部文字修正して引用)
では、実際に使い方をみてみましょう。
たとえば、このような表があります(これが「何の表か?」については後ほど)。
このD2:D11までのセルに並んだ数値を、第1位からランクづけするため、関数式をE列に入力します。
後ほど、ドラッグして別セルで活用することを考え、一部引数に絶対参照$をつけます。[順序]引数は省略します。
これは、職場や学校で成績(営業成績 or 学業成績)を順位づけするのによく使う手法ですね。たとえば、表見出しを次のように書き換えます。
「全商品契約数」51件の社員Gと社員Jが同率3位、同じく31件の社員A、D、Fが同率8位です。もし、同順位リストに優劣をつけたい場合には、商品Aの方が高単価/重点商品であったと仮定して「E列(RANK)を1,2,3…と昇順に、B列(商品A契約数)を降順(値が大きい順)に」条件づけして、並び替えを行えばよいのです。
こうなりました。
RANK.AVG関数は「平均順位」が返される関数
Excel2010以降に搭載されたRANK.EQ関数は、RANK関数とまったく同じ結果を返します。
Excel2010でRANK.EQ関数が登場した時にも、RANKは「互換性関数」として残りました。
しかし、このまま将来ずっと下位互換が保証されるわけでもないので、ランクづけの関数は「RANK.EQである」と覚えておいた方が便利でしょう。
では、おなじくExcel2010から登場したRANK.AVGを使うと、どのような結果が返ってくるでしょうか?
ん? 社員Gと社員Jが3.5位、社員A、D、Fが9位? どういうことでしょうか?
Excel2010から登場したRANK.AVG関数は、同順位レコードが発生した場合、「平均値(AVG)」を返します。上の例では、「第3位にあたるレコードが2つあるので、3と4の中間(3.5)」、「第8位にあたるレコードが3つあるので、8,9,10の平均値(9)」が返されるのです。
Microsoftの説明によれば、この新しいバリエーションは、「ユーザー要望に基づいて作られた」ということですが、成績ランクづけに適した関数ではなさそうですね。
では、具体的にはどんな場面で使うと便利なのでしょうか?
まったく同じ数字が並んだ表の、見出しだけを変えてみます。
一例として、アンケートなどの定量調査が挙げられます。
複数項目で、評点が高いか低いかを比較する場合、同順位を「該当レコード最高位」として計算するより、「平均値」でみた方が、他項目との相対的なひらき具合を見くらべやすいのです。
まとめ
今後、一般的なランクづけはRANK.EQ関数、と覚えておきましょう
相対評価のためには、RANK.AVG関数も使えます
統計分析を専門とする人以外は、RANK.AVGを使う機会は、それほど多くはないと推測できますので、一般的なランクづけには、「RANK.EQを使う」と覚えておきましょう。
※ Excel2007以前の旧バージョンでは使用できません。
一方で、「単純な順位づけではなく、相対評価のためには、RANK.AVGという関数もある」ということを一応押さえておくと、もしかしてアナタ自身の社内ランク(!?)が上がることがあるかもしれませんよ。
業務中、もし「評点分析」のような機会があれば、RANK.EQのかわりにRANK.AVGも試してみてはいかがでしょうか?
単なる同じ数字の羅列でも、きっと変わった見方ができるようになるでしょう。