Contents
スプレッドシートのRANK関数とは
スプレッドシートでのRANK関数は、指定した値がデータ範囲内で何位になるかを表示する関数です。「=RANK(180,C2:C9)」のように記載します。似た関数に、同着の場合は同着の数値間の平均順位をとるRANK.AVG関数もあります。
RANK.EQ関数という別の関数もありますが、できることはRANK関数と同じです!
RANK関数の構文
=RANK(値, データ, [降順])
- 値:順位を特定したい数字
- データ:「値」を含んでいる範囲
- 降順:並び順を0か1で指定。デフォルトは0(任意)
- 0:降順(大きい順に1,2,3…と並ぶ)
- 1:昇順(小さい順に1,2,3…と並ぶ)
RANK関数の使い方
RANK関数は、「=RANK()」と入力して、かっこ内に判定したい数値、判定もとの範囲をまず入れます。画像の場合では「=RANK(180,C2:C9)」といれることで、「180」が「C2:C9」のなかで何番目に大きいかを算出してくれます。
反対に何番目に小さいかを出したい場合には、数値と範囲に加えて昇順を表す「1」を追記します。下図では「=RANK(10,C2:C11,1)」と入力することで、「10」が「C2:C11」のなかで何番目に小さいかを表示しています。
ランキングは基本的に大きいものを表したいという立場に立つと、大きい順のときは気にせずでOK、小さい順のときだけ1をつけると覚えやすいです!
RANK関数のエラー・注意点
[#N/A!]RANK には有効な入力データがありません。
RANK関数での「[#N/A!]RANK には有効な入力データがありません。」というエラーは、「範囲」に「値」が含まれていない場合に遭遇します。
たとえば下図では「=RANK(170,C2:C9,1)」と入力していますが、C列に「170」という値がなくエラーになっています。
そのため、C列に含まれている「180」などに変更すれば解消できます。
RANK関数に似た関数
RANK.AVG関数
RANK.AVG関数はRANK関数同様に、指定された値が範囲内で何位になるかを計算する関数です。RANK.AVG関数はRANK関数の違いは、RANK関数が同着の場合に◯位タイとするのに対し、RANK.AVG関数は同着の順位間で平均して数値を出します。
たとえば下図では「184」が2位と3位にあたる位置にあるため、それぞれ次のように計算されます。
- RANK関数:2位タイのため「2」
- RANK.AVG関数:2位と3位にあたる位置にあるため平均して「2.5」
RANK.EQ関数
RANK.EQ関数とRANK関数の違いはありません。関数としては別の扱いですが、どちらを使っても同じ結果が表示されます。