エクセルには、データの順位を求める関数がいくつかありますが、その中の一つが RANK.AVG 関数です。この関数は、指定した値がデータの中で何番目に大きいか(または小さいか)を返します。ただし、同じ値が複数ある場合は、その値の平均順位を返します。この記事では、RANK.AVG 関数の使い方と注意点について解説します。
RANK.AVG 関数の書式は以下の通りです。
=RANK.AVG(順位を求める値, データの範囲, [順序])
- 順位を求める値は、データの中で順位を調べたい値を指定します。セル参照や数値、数式などが使えます。
- データの範囲は、順位を求める値が含まれるデータの範囲を指定します。セル参照や名前などが使えます。
- 順序は、順位を求める際の基準を指定します。0 または省略すると、データの中で大きい値ほど順位が高くなります。1 を指定すると、データの中で小さい値ほど順位が高くなります。
例えば、以下のようなテストの点数のデータがあるとします。
名前 | 点数 |
---|---|
Aさん | 80 |
Bさん | 90 |
Cさん | 85 |
Dさん | 90 |
Eさん | 75 |
このデータに対して、RANK.AVG 関数を使って順位を求めるには、以下のように入力します。
名前 | 点数 | 順位 |
---|---|---|
Aさん | 80 | =RANK.AVG(B2, B2:B6) |
Bさん | 90 | =RANK.AVG(B3, B2:B6) |
Cさん | 85 | =RANK.AVG(B4, B2:B6) |
Dさん | 90 | =RANK.AVG(B5, B2:B6) |
Eさん | 75 | =RANK.AVG(B6, B2:B6) |
すると、以下のような結果が得られます。
名前 | 点数 | 順位 |
---|---|---|
Aさん | 80 | 4 |
Bさん | 90 | 1.5 |
Cさん | 85 | 3 |
Dさん | 90 | 1.5 |
Eさん | 75 | 5 |
ここで、BさんとDさんの順位が 1.5 となっているのは、同じ点数の場合は平均順位を返すためです。つまり、BさんとDさんは 1位と2位の中間の順位ということです。これが RANK.AVG 関数の特徴です。
RANK.AVG 関数を使う際の注意点としては、以下の点が挙げられます。
- 順位を求める値がデータの範囲に含まれない場合は、#N/A エラーが返されます。例えば、上の例で Fさんの点数が 95 だった場合、=RANK.AVG(B7, B2:B6) と入力すると、#N/A エラーになります。これは、95 という値がデータの範囲にないためです。
- データの範囲に空白や文字列が含まれる場合は、無視されます。例えば、上の例で Eさんの点数が空白だった場合、=RANK.AVG(B6, B2:B6) と入力すると、4 という結果が返されます。これは、空白を無視して順位を求めるためです。
- データの範囲に負の値が含まれる場合は、順序の指定に注意する必要があります。例えば、上の例で Eさんの点数が -75 だった場合、=RANK.AVG(B6, B2:B6) と入力すると、5 という結果が返されます。これは、順序を省略した場合は、データの中で大きい値ほど順位が高くなるためです。もし、データの中で小さい値ほど順位が高くしたい場合は、順序に 1 を指定する必要があります。つまり、=RANK.AVG(B6, B2:B6, 1) と入力すると、1 という結果が返されます。
以上が、エクセルの RANK.AVG 関数についての解説です。この関数を使えば、データの順位を簡単に求めることができます。ただし、同じ値が複数ある場合やデータの範囲に含まれない値を指定した場合などには、注意する必要があります。エクセルの関数を使ってデータ分析をする際には、ぜひ参考にしてください。
関連するキーワード:
- RANK.EQ 関数:RANK.AVG 関数と似ていますが、同じ値が複数ある場合は、その値の最高順位を返します。例えば、上の例で BさんとDさんの順位は 1 となります。
- PERCENTRANK.INC 関数:データの中で指定した値が下から何パーセントの位置にあるかを返します。例えば、上の例で Aさんの点数のパーセントランクは 0.5 となります。これは、Aさんの点数がデータの中央にあることを意味します。
- PERCENTILE.INC 関数:データの中で指定したパーセントの位置にある値を返します。例えば、上の例で 50 パーセントのパーセンタイルは 85 となります。これは、データの中央値が 85 であることを意味します。
コメント