RANK分類:統計 2009.02.06
RANKは「統計」に分類される関数で、範囲内で指定した数値が何番目かを返します。
生徒の成績順位や体力測定の順位などには、かかせない関数です。
RANKの機能と構成
機能:順序に従って範囲内の数値を並べ替えたとき、数値が何番目に位置するかを返す。
構成:=RANK(数値,範囲,順序)
引数
数値は範囲内での順位を調べる数値を指定します。
範囲は数値を含むセル範囲の参照、または名前、または数値配列を指定します。対象は範囲内に含まれている数値であり、文字列、空白セル、論理値は無視されます。但し、範囲内にエラー値が含まれている場合は、エラー値が返されます。
順序は順位が昇順の結果か、降順の結果かを指定するものです。
順序に「0」を指定するか、省略すると、範囲内の数値が ...3、2、1 のように降順に並べ替えられます。一方、順序に「0」以外の数値を指定すると、範囲内の数値が 1、2、3、... のように昇順で並べ替えられます。
RANK関数では、同じ数値は同じ順位になります。その際、重複した次の順位が飛ばされます。
具体例を挙げると、昇順に並べられた整数のリスト「3,5,8,10,10,11,13」があったとします。このリストには「10」が 2 つありますが、2つとも「4」位になります。そして、次の「11」は「6」位となります (「5」の順位が飛ばされます)。
引数指定の例
セル範囲[A1:A10]の中でセル[A1]の順位(降順):=RANK(A1,A1:A10,0)
セル範囲[A1:A10]の中でセル[A1]の順位(昇順):=RANK(A1,A1:A10,1)
[DataArea]と名前の定義を行ったセル範囲の中の、セル[A1]の順位(降順):=RANK(A1,DataArea)
2次元セル範囲[A1:C10]の中でセル[B5]の順位(昇順):=RANK(B5,A1:C10,1)
RANKの使用例
ポイント
数式のコピーで「範囲」がずれないように範囲を「絶対参照」にすると良いでしょう。
RANK関数の特徴と応用
RANK関数は「範囲内で指定した数値が何番目かを返します」が、同じ数値が複数ある場合、それらの順位は同じになります。
通常はそれで良いのですが、RANKの結果を検索に使用する場合、同じ順位が複数あると、うまく検索出来なくなります。
その問題は、RANK関数とCOUNTIF関数併用する事で解決できます。
COUNTIFとRANKの組み合わせ例
COUNTIF関数で、指定の値より上の範囲で、指定の値と同じ数値を調べ、RANK関数にその結果を足します。