Excel RANK関数で同順位を発生させずに順位表を作成する方法

2019年10月17日

RANK関数で順位を付ける際に

同一数値があれば順位が重複しないように

別の順位を付ける数式を紹介します。

手順

重複無しの順位を設定

このような数式を設定して下にコピーします。

RANK.EQ(数値セル,$指定の数値範囲,0)+COUNTIF($指定の数値セル:数値セル, 数値セル)-1

下の例ではこのようになります。

RANK.EQ(B4,$B$4:$B$13,0)+COUNTIF($B$4:B4,B4)-1

B列が順位を付ける得点、

C列がRANK.EQ関数をそのままの重複あり順位

D列が重複なしの順位です。

重複無しの順位を設定した例

同一順位がある場合、空きを作るRANK.EQ関数に

COUNTIF関数で同一数値の件数を数え

自身を除いた件数(-1)を足しています。

範囲は先頭行を$で固定し、末尾行は固定しません。

これにより上の行にいるほど順位が上がります。

(Cさん=2位、Eさん=3位、Gさん=4位)

名前などで順位を並べたい場合は、

先に並び替えておく必要があります。

VLOOKUP関数で順位表を作成

これにより順位キーにVLOOKUP関数を使い、

順位表を作ることが可能です。

重複がある場合、順位に空きが発生するため

#N/Aエラーが発生してしまいますが、

VLOOKUP関数で#N/Aエラーが発生してしまう状態のキャプチャ

重複なしの場合、空きが発生しないため

エラーなしに取得することが可能です。

ただし対象の人数が全て順位表にない場合は

同一得点であっても途切れてしまう場合があります。

よって先に切れてしまう最初の人が

同一得点でないか確認した上で

順位表に追加するかを検討する必要があります。

重複なしの順位でエラーが発生しない状態のキャプチャ

関連記事

範囲内の順位を取得(RANK関数)

VLOOKUP関数の使い方・活用方法の記事一覧

検索条件に一致するセルの件数を取得(COUNTIF関数)

フォローする