目次
RANK関数とは?
RANK関数とは、その名の通り「ランキング・順位」を出すことができる関数です
簡単に順位を出すことができる便利な関数ですが、
過去の経緯と仕組み上「なぜか3種類」も存在していて複雑です…
その違いなども含め説明していきます
3種類のRANK関数
実は以前は、RANK関数は1種類でした(RANK関数)
しかし条件の処理が違う新しいRANK関数(RANK.AVG関数)が派生しました
そのため、違いを明確にするために過去と同じ意味の関数(RANK.EQ関数)も生まれました
- RANK関数
- RANK.EQ関数
- RANK.AVG関数
実は「RANK関数」と「RANK.EQ関数」は同じ機能です
そして「EQ」と「AVG」の違いは「同一順位があった場合の処理」です
RANK.EQ関数 :同点だった場合、順位の最上位を出す
RANK.AVG関数:同点だった場合、順位の平均を出す
このような図のイメージになります
同点の場合は「最上位」を出すことが多く、「RANK=RANK.EQ」となるため
基本方針は下記のようになります
RANK関数を使え!EQ / AVGは付けない!
「RANK.EQ」「RANK.AVG」はともにExcel 2010で実装された関数です
Excel 2007以前の古いバージョンで操作する場合は互換性のある「RANK」が適しています
こういった点からも「RANK関数」を推奨しています
RANK関数の使い方
「RANK関数」「RANK.EQ関数」「RANK.AVG関数」はすべて同じ語法のため、2つは省略しています
⓪関数の書き方
まず書き始めですが、「=RANK…」と打つと候補が出てきます
「RANK」と書かれている関数を指定して「Tab」を押しましょう
「Enter」ではありません!「Tab」です
①数値の指定
ランキングを求めたい数値を指定します
もちろん「数値」を指定しなければいけません
②参照の指定(※注意)
続いて「ランキングに含める範囲」を指定します
これが意外と重要で、5つのセルを指定すれば「1位~5位」まで並ぶことになります
ここでは必ず「絶対参照」を付けましょう(F4を押す)
「絶対参照」について不安な方はこちらをご覧ください
絶対参照・相対参照を分かりやすく解説しています|意外と知らないエクセルの基礎2つ目の参照部分に絶対参照を付けないと
ランキングを付ける範囲がずれてしまうので要注意です
③順序を指定する(省略OK)
最後に順序を指定します
何も設定しないと「降順:大きい順」になります
ここを「1」と指定すると「昇順:小さい順」で順位付けされます
同じ順位を存在させないようにする方法
「RANK関数」では同率順位を許しています
つまり「2位が2人存在」することが当たり前ということ
しかしVLOOKUP関数で使いたい時など、
「同じ順位を存在させない」ようにする方法もあります
COUNTIF関数を組み合わせた応用
「同じ順位を存在させない」ようにするためには
「RANK関数」+「COUNTIF関数」を組み合わせます
まず「上に同じ点数があるか探してカウントする」関数を設定します
2つ目に出てくる「90点」は同じ順位があるため「2」になります
※RANK関数と組み合わせる時に「-1」します
非常に分かりにくい設定ですが、このように設定してください
=COUNTIF($セル:セル,セル)
COUNTIF関数の範囲を「C3:C3」、検索条件を「C3」とします
※範囲に(:)コロンを設定すると「●●から●●まで」という指定になります
そして範囲指定の「1つ目だけに絶対参照」を付けます
RANK関数に組み込む
設定したCOUNTIF関数をRANK関数に組み込みます
構図としては下記のような関数になります
=RANK関数+COUNTIF関数-1
「COUNTIF関数」は上記で設定したものに「-1」をすると
同順位が被った場合に「+1」となる設定になります
まとめ
今回は「RANK関数」についてご紹介してきました
「RANK.EQ関数」「RANK.AVG関数」とありますが
方針通り「RANK関数」を使ってみてください