RANK.EQ 関数
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel 2013 その他…表示数を減らす
ここでは、Microsoft Excel の RANK 関数の書式および使用法について説明します。
説明
数値のリスト内の数値のランクを返します。 そのサイズは、リスト内の他の値に対して相対的です。複数の値のランクが同じ場合は、その値セットの上位ランクが返されます。
リストの数値の順序を並べ替えても、指定した数値の順位は変わりません。
書式
RANK.EQ(数値,範囲,[順序])
RANK.EQ 関数の書式には、次の引数があります。
数値 必ず指定します。 範囲内での順位 (位置) を調べる数値を指定します。
範囲 必ず指定します。 数値の範囲の配列またはその範囲への参照を指定します。 範囲に含まれる数値以外の値は無視されます。
順序 省略可能です。 範囲内の数値を並べる方法を指定します。
解説
順序に 0 (ゼロ) を指定するか、順序を省略すると、範囲内の数値が…3、2、1 のように降順に並べ替えられます。
順序に 0 以外の数値を指定すると、範囲内の数値が 1、2、3、… のように昇順で並べ替えられます。
RANK.EQ 関数では、重複した数値は同じ順位と見なされます。 ただし、数値が重複していると、それ以降の数値の順位がずれていきます。 たとえば、昇順に並べられた整数のリストがあり、そのリストに 10 が 2 度現れ、その順位が 5 であるとき、11 の順位は 7 となります (順位が 6 の数値はありません)。
目的によっては、同順位も考慮した順位定義の使用が必要となる場合もあります。 たとえば、前の使用例では、10 の順位を 5.5 に訂正できた方がよい場合があります。 そのためには、下記の補正因子を RANK.EQ 関数の戻り値に加算します。 この補正因子は、順位を降順 (順序に 0 を指定するか、省略した場合) または昇順 (順序に 0 以外の数値を指定した場合) のどちらで計算する場合にも使用できます。
同順位の補正因子=[COUNT(範囲) + 1 – RANK.EQ(数値, 範囲, 0) – RANK.EQ(数値, 範囲, 1)]/2
ブック内の例では、RANK.EQ(A3,A2:A6,1) は 3 です。 補正因子は (5 + 1 – 2 – 3)/2 = 0.5 となるので、同順位を考慮して訂正した順位は 3 + 0.5 = 3.5 となります。 範囲内に 1 回だけ現れる数値の場合、その補正因子は 0 になり、RANK.EQ の戻り値に対して同順位の調整を行う必要はありません。
使用例
次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
データ | ||
---|---|---|
7 | ||
3.5 | ||
3.5 | ||
1 | ||
2 | ||
数式 | 説明 | 結果 |
=RANK.EQ(A2,A2:A6,1) | 範囲 A2:A6 の中で、7 の順位を調べます。 順序の引数 (1) がゼロ以外の値なので、リストは昇順に並べ替えられます。 | 5 |
=RANK.EQ(A6,A2:A6) | 同じリストの中で、2 の順位を調べます。 順序の引数が省略されているので、リストは既定に従って降順で並べ替えられます。 | 4 |
=RANK.EQ(A3,A2:A6,1) | 同じリストの中で、3.5 の順位を調べます。 | 3 |