2020/12/28
どうも、みなさんこんにちは。かげうらです。
最近はめっきり気温が下がり、布団が恋しい季節になってきましたね。
布団から起き上がれたら「えらい!」と自分をほめています。
さて、今回もExcelの機能をご紹介していきたいと思います。
みなさんはRANK関数って使ったことありますか?私自身あまり使った経験がなく、調べてみると意外な歴史にたどり着きました。
そこで、投稿3回目となる今回は意外と知らないRANK関数の使い方とその秘密についてご紹介していきたいと思います!
RANK関数って?
RANK関数とは、その名の通りセルの値に従って順位をつけてくれる関数です。
そんなRANK関数ですが、なぜかExcelには3種類も存在しています・・・。
・RANK関数
・RANK.EQ関数
・RANK.AVG関数
「順位をつけるのにどうしてこんなに種類があるの?」という疑問には後程お答えしていきたいと思いますので、ぜひ最後までお付き合いください。
まずは、RANK関数の使い方をご紹介していきたいと思います。
3種類あるRANK関数ですが、いずれも使い方は同じです。
実際のテーブルに当てはめて見てみましょう。
今回はこちらの地域別売上に順位をつけていきます。
それでは、関数を入力していきます。
以下の3つの値を引数として渡します。
”=RANK( 順位をつけたい値 , 順位をつけたい範囲 , 順位をつける順序 )”
順位をつけたい値を指定したのち、その比較対象となる範囲を入力します(絶対参照をお忘れなく!)。
そして、順位をつける順序を指定します。
降順(大きい順)の場合は0、昇順(小さい順)の場合は1を入力してください。
今回の例ではセルC5に”=RANK(B5,$B$5:$B$12,0)”と入力しています。
実行すると
指定した値の順位が整数で表示されます。あとは関数をコピペすれば順位づけ完了です。
このように簡単に順位をつけることができます。
以上が使い方になります。続きまして、みなさんお待ちかねのRANK関数の違いについてご説明していきます。
RANK関数の違い
では、RANKとRANK.EQ、RANK.AVGそれぞれの関数の違いについてご紹介します。
引数はRANK関数と同様ですので、残り2種類の関数で順位を出しますと以下のようになります。
=RANK.EQ( 順位をつけたい値 , 順位をつけたい範囲 , 順位をつける順序 )
=RANK.AVG( 順位をつけたい値 , 順位をつけたい範囲 , 順位をつける順序 )
まずは、RANK関数とRANK.AVG関数(らんくあべれーじ)との違いについてご紹介します。
赤い矢印の部分を見てもらえると分かる通り、RANK関数と違って順位が「6.5」になっています。
順位が重複した場合、それらの平均値を順位として表示することで重複を表現してくれます。
今回の場合6位と7位が同じ値だったため、
(6+7) / 2 = 6.5 位という順位となっています。
続きまして、RANK関数とRANK.EQ(らんくいこーる)関数の違いを説明します。
上図を見たかんじ、RANK関数と同じ結果が表示されていますね。
この2つの関数の違いですが、結論から言うと、同じなんです。
どうして同じ関数があるのかというと、その成り立ちに関係しています。
もともと、Excel 2007以前まではRANK関数しか順位をつける関数がありませんでした。
そんな時、同じ値の順位を区別して付けるためExcel 2010からRANK関数がRANK.EQ関数とRANK.AVG関数に分裂しました。
これがRANK.EQ関数とRANK.AVG関数の起源だそうです。
しかし、この2つの関数は2007年以前のExcelとは互換性がないため2007年以前のExcelでは正常に機能しないんです。
この問題を解決するために従来のRANK関数を2010年以降のバージョンでも残しているんですね。
こうして、3種類のRANK関数が出来あがりました。
まとめ
・順位付け関数には3種類ある
・RANK.AVG関数は同一順位を平均値で表示する
・RANK関数とRANK.EQ関数は整数による順位づけ
・過去バージョンとの互換性を考慮する場合はRANK関数を使う
今回はRANK関数について説明してまいりましたが、いかがでしたか?
この記事を機にRANK関数を活用していただけたら幸いです。
それでは、またの機会にお会いできることを楽しみにしております。