エクセルの RANK.AVG 関数で順位を求める方法と注意点

エクセルには、データの順位を求める関数がいくつかありますが、その中の一つが 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さん804
Bさん901.5
Cさん853
Dさん901.5
Eさん755

ここで、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 であることを意味します。

コメント

タイトルとURLをコピーしました