【Excel・エクセル】順位をつけるRANK関数でランキングする!

2019/12/20

もりの

5人を点数順にランキングしたいんだけど、関数でできないかな?

やまの

順位付けしたいなら、RANK関数で一発なんよ!

今回のポイント
  • 順位を調べるにはRANK関数
  • 引数は(順位を知りたい値,どの範囲の中での順位か)
  • 数値が少ない方が上位の場合、最後に「,1」をつける

スポンサーリンク

RANK関数の練習ファイルダウンロード

もりの

一緒にやってみませんか?

【Excel・エクセル】順位をつけるにはRANK関数

ランキングのイメージ

たとえば5人の点数に順位を付けるならまだいいですが、それが50人、100人と増えていくと、とても目視で確認はできませんよね。

そんな時使えるのが、RANK関数です。
指定した範囲の中での順位を、サクッとランキングしてくれます!

ちなみに読み方は「ランク関数」です。

RANK.EQ関数とRANK.AVG関数とは

RANK関数を見てみると、他にRANK.EQ関数とRANK.AVG関数ってのがありますね?

もりの

RANK関数には3つの種類があるの?

やまの

RANK関数とRANK.EQ関数は同じものだから、2種類かな?

RANK関数、RANK.EQ関数とRANK.AVG関数の違いは、同順位だった場合の結果の違いです。

実際にどうなるのかは「【Excel・エクセル】順位が同点だった場合」でお話ししますが、基本はRANK関数を使えばOKだと思います!

さっそくRANK関数を使って、順位の出し方を見てみましょう!

【Excel・エクセル】順位をつけるRANK関数の使い方

数式の書き方

=RANK(数値,参照,順序)

やまの

それぞれはこういう意味だよ。

RANK順位を教えて!
数値この値は
参照この中で何位か
順序数値が高い方が1位か、低い方が1位か(省略可)

RANK関数の使用例

5人の名前と、それぞれの点数が書かれた表があります。

この中で点数が高い順に順位をつけ、C列に順位をランキングしたいと思います。

C列にそれぞれの順位を求めたい
C列にそれぞれの順位を求めたい

RANK関数を使ってセルC2に、田中さんの順位を求めてみましょう。

やまの

=RANK(B2,B2:B6)
で求められるよ。説明していくね。

初めに

まずはC2のセルに、「=RANK(」と入力してください。

RANK関数の書き始め
まずは=RANKと入力

数値

最初の引数は、「順位を知りたい値」でしたね。
今回は、「田中さんの点数は5人の点数の中で何番目か」、を知りたいので、田中さんの点数が書かれたB2のセルですね。

もりの

引数は関数のカッコの中に入れる式だよね。

B2のセルをクリックして、「,(カンマ)」で区切ってください。

または直接「B2,」と入力してもOKです。

B2セルをクリックし、カンマを入力
B2セルをクリックし、カンマを入力

参照

次は、「どの範囲の中での順位か」ですね。

今回は、「5人の点数の中での順位」を知りたいので、5人の点数が書いてあるB2~B6ですね。
B2セルからB6セルまでをドラッグしてください。

これで式は終わりなので、「)(閉じカッコ)」で閉じてください。

B2~B6セルをドラッグ
B2~B6セルをドラッグ、「)」で閉じる
もりの

B2の数値は、B2~B6の範囲の中で何位ですか?ってことだね。

完成!

これで式は書けたので、Enterキーで確定してください。

すると、「4」という答えが出ましたね。

RANK関数を使った式
RANK関数完成!

5人の点数がそれぞれ65,72,55,81,75なので、65点である田中さんはこの中で4番目。
ちゃんと順位が出てきましたね!

もりの

でも、引数にはもう一つ「順序」って書いてなかった?

やまの

点数が多い順に順位をつける場合は、省略できるんよ。

RANK関数の引数、順序は省略可能

降順で順位をつける場合、引数の順序のは書かなくてもOKです。
降順とは、数値が大きい順に並べる、ということ。

もちろん書いても問題ありません。降順で順位をつける場合は、0と入力してください。

昇順で順位をつけるには

では昇順、つまり数値が少ない方が順位が上になるようにするには、どうすればいいでしょうか?

ステップ1

これは簡単で、先ほどの式の最後に、「,(カンマ)1」と追加するだけです。

昇順の場合「,1」を追加する
昇順の場合「,1」を追加する

完成!

先ほどの式に入れると、順位が2位に上がりました。

点数が少ない方が上位になるので、ちゃんと昇順で順位がつけられていますね。

RANK関数で昇順を選んだ結果
点数が少ない方が順位が上になった
もりの

0が降順、1が昇順で、0の場合は省略可能っと。

ちなみに、オートフィルで結果を引っ張る際は、絶対参照にするのをお忘れなく!

【Excel・エクセル】順位で並び替えするには

RANK関数で出た順位を並び替えすれば、順位で並び替えは簡単にできます。

順位のセルをクリックして、「データタブ」→並べ替えとフィルターのところにある「昇順」をクリックすればOKです。

順位で並び替えする画像
順位で並び替えするには

【Excel・エクセル】順位が同点だった場合

同点のイメージ

では、点数が全く同じで同順位になる場合、どうなるのでしょうか?

同点の人がいる表
同点の人がいる場合

では、実際にやってみましょう!

C列にRANK関数を使って、点数で順位をつけてみると……

同点の人が同順位になりました!

同点がいる表でランキングした場合
同点がいる表でランキングした場合
もりの

1位が2人いるよ?そして、2位がいなくて3位になってる。

そう、RANK関数で同点がいた場合、その人たちは同じ順位になります。
今回は石志さんと井上さんが同じ81点で1位、その次は75点の佐藤さんですが、順番としては上から3人目なので、3位となるのです。

RANK.AVG関数で同順位だった場合

やまの

ちなみに、RANK.AVG関数だとこうなるよ。

さきほどと、同じ順位の結果が違いますね。

1位は1.5、5位は6が3つになりました。

RANK.AVE関数を使った場合の同順
RANK.AVE関数を使った場合
もりの

ど、どういうこと?

やまのののんびりした顔
やまの

同じ順位の平均値になるんよ。

今回の例では、1位が2人。本来は1位と2位なので、1と2の平均で1.5。

5位が3人ということは、本来は5位、6位、7位となるので、平均の6が表示されたってことですね。

もりの

確かに、普通にRANK関数でいい気がしてきた……

これで、順位も簡単にわかって、ランキングもつけられますね!
それでは、お疲れさまでした!

今回のおさらい
  • 順位を調べるにはRANK関数
  • 引数は(順位を知りたい値,どの範囲の中での順位か)
  • 数値が少ない方が上位の場合、最後に「,1」をつける

RANK関数を動画で見る