「エクセルで順位を出す関数は?」
「データが変わっても自動化させたい…」
「ランキング表に反映させたい!」

順位はRANK関数を使いましょう!
わかりやすく解説します~!


本記事では、順位を関数でつける方法と、ランキング表への反映の自動化を解説。
必要に応じて目次からジャンプしてください~!
【RANK関数】順位を出す関数


いきなり結論ですが、数値に対して順位をつけるのは「RANK関数」を使います!
また「RANK.EQ関数」もまったく同じ数式でまったく同じ結果を出せます。


RANK関数は次の構成になっています。
=RANK(数値,範囲,[順序])
選択した数値データが、指定した範囲の中で何番目かを出すことができます。
「順序」の部分は「0」または「1」を選びます。
「0」の場合は降順(大きい順)、「1」の場合は昇順(小さい順)で順位付けができます。
【RANK関数】実例


(画像はTAPで拡大できます!)
上の表は、D列の点数から、B列の各セルに順位をつけている様子です。
B3セルに入れる関数は次のようになります。
=RANK(D3,$D$3:$D$10,0)
D3セルの数値が、D3からD10の範囲で、何番目に大きいか
B列の各セルにコピペすることを想定して、範囲は絶対参照にしましょう。


下まで貼り付ければ…


順位付けの完成です!
【RANK関数】「〇位」と表示させる方法


セルの書式設定の「ユーザー定義」を使えば、RANK関数の戻り値を「〇位」と表示させることも可能です。
- 範囲を選択して、ショートカットキー「Ctrl+1」を押す
- セルの書式設定画面が開くので、表示形式タブを選択
- ユーザー定義を選択
- 種類に「0位」と入力


表示形式を変えたことで、RANK関数で出された結果が「〇位」という表示に切り替わります。
【RANK関数】補足
RANK関数について、2つ補足です!
同じ数値は同順位になる


RANK関数で順位を出すと、同じ数値は同順位として判定されます。
例えば、1位が同じ数値で2人になった場合、次の順位は3位となります。
もしも同順位を避ける場合は、元データの数値に加点をする等の工夫が必要です。
RANK.EQ関数とのちがい


Excel2010以降に導入されたのが、RANK.EQ関数。
RANK関数とRANK.EQ関数は数式や結果に違いがなく、同じ扱いをすることができます。
Excel 2010バージョンでは「RANK.AVG関数」という関数も生まれたので、名称の差別化を図るため「RANK.EQ関数」が生まれたようです。
RANK関数はExcel2010バージョンより前のバージョンでも機能するので、ひとまずRANK関数を使用しておくのが無難でしょう。
ランキング表の作り方【毎回並べ替えする必要なし】


RANK関数で順位を出しただけだと、毎回順番を並べ替えしなくてはなりません。
そこで、別表のランキング表を作って、並べ替えをせずに上位表示ができるようにしましょう。


2つの表に共通している項目は「順位」。
VLOOKUPを使って氏名を反映させるのがいいですね。


(画像はTAPで拡大できます!)
=VLOOKUP(F3,$B$3:$D$10,2,0)
G列の各セルにコピペすることを想定して、範囲は絶対参照にしましょう。
日本語に直してみると、
「F3セルの順位を、指定範囲のなかの一番左端の列から見つけて、2列目の「氏名」を抽出」
となります。


上位順のランキング表に氏名を反映できました!
ランキング表を別途作ってVLOOKUP関数を組んでおけば、毎回並べ替えの必要がなくなりますね!
まとめ
最後にまとめです!
- 順位をつけるならRANK関数(またはRANK.EQ関数)
- RANK関数は、多い順・少ない順どちらの順番でも判定が可能
- RANK関数は、同じ値の場合は同順位となる
- 並べ替え不要なランキング表を作るには、VLOOKUP関数を使おう



分からないことなどあれば、インスタのDMでお知らせください~!
(rito_pc_work )
コメント