K-fix Learning & Playing

17 RANK系関数


RANK系関数は、指定した数値の順位を返す関数で、RANK関数、RANK.EQ関数、RANK.AVG関数の3つが用意されています。
RANK関数は、旧バージョンから存在していますが、Excel 2007バージョンからRANK.EQ関数とRANK.AVG関数が新たに追加されました。RANK関数とRANK.EQ関数は全く同じ結果を返すので、どちらを利用しても構いません。古いバージョンで作成したブックであれば、RANK関数を使った方が良いでしょう。
これら3つの関数の引数はすべて同じになります。書式は以下の通りですが、RANK_EQ関数を例にしています。

「数値」:順位を求めたい数値を指定します。
「参照」:数値全体が入力されているセル範囲を指定します。
「順序」:省略または0の場合は降順、1を指定すると昇順で順位が付けられます。

ボーリング大会やテストの点数などは数値の大きい方から1位、2位と数えるので「降順」を指定し、100m競争のタイムやゴルフのスコアのような数値は小さい方から1位、2位と順位を決めるので「昇順」を指定します。

RANK.EQ関数とRANK.AVG関数の違いは、順位の結果で同じ順位が2つ以上あった場合に表示される順位の表現が変わります。
前提として、全体の数値の中で最も高い数値が2名いたとします。RANK.EQ関数を使った結果は「1」が2つ表示されます。つまり、1位が2名と表現できます。
RANK.AVG関数の場合は、結果は「1.5」が2つ表示されます。これは「1」位 +「2」位 = 「3」となり、2名なので「2」割った結果が「1.5」と表現されます。RANK.AVG関数は、同じ値は同じ順位を共有し、その平均順位が与えられ、より公平で平均的な順位付けを付けられるようにした関数です。

順位を求める場合、公平な評価を行うために「重み付け」を考えることがあります。この重み付けは、各データが持つ相対的な重要性を反映するものです。
例えば、営業員の売上ランキングを作成する際、全員の売上高を単純に比較するだけでなく、各営業員が担当する地域の規模や、取引先の数などを考慮に入れたい場合があります。このような場合、それぞれの営業員に対して「重み」を割り当てることで、より公平な評価が可能になります。
但し、RANK系関数自体は重み付けの機能を持っていないので、重み付けを行いたい場合は、別途計算を行ってからRANK関数を適用する必要があります。