順位関数の機能

順位関数は、引数に指定されたセル範囲の中から、指定したあるセルの値が、他の値と比べて何番目になるのかという順位を返す関数です。同順の場合は同じ値を返し、次の順位は同順の個数だけ加算した順位になります。

順位関数はデータを降順や昇順に並べ替える必要はありません。また、あるセルの値が同順だった場合の順位は、個数分加算されます。

読んだだけではピンと来ないと思いますが、実例をみればすぐ分かると思います。

順位関数の書式

順位(算術式,セル範囲,順序の指定)

算術式
順位したい値を指定します。算術式は数値単体だけでなく、セル参照や計算式(A1/B2とか)も算術式に含まれます。
セル範囲
順位を比べるための値が入っているセル範囲を指定します。
順序の指定
順位を昇順にしたいときは「0」を、降順にしたいときは「1」にします。

順位関数の実行例

ABCDE
1数値順位関数結果
275順位(A2,A$2:A$8,0)2
327
456
56
679
756
812
9
10

A列に適当な数値が入っています。この中からある値を決めて、その値の順位が何番目なのかを返すのが順位関数になります。この表の場合は、セルA2に知りたい値を「75」と決めて、C2に結果を表示するようにします。また、セル範囲はA2からA8までを指定します。

順位関数は対象の値が何番目なのかを返す関数なので、順番に並べてみると「79、75、56、56、27、12、6」の順番で、75は2番目なので、セルC2には2が表示されています。これが順位関数になります。

引数3の順序の指定は何なのかというと、0が指定されているので昇順に、値が大きい順になっているだけです。逆に引数3を1に指定してみると、並べ方が降順になるので「6、12、27、56、56、75、79」と並べられ、75は6番目になるので、6が表示されることになります。

同じ順位があった場合

ABCDE
1数値順位関数結果
275順位(A2,A$2:A$8,0)2
327順位(A3,A$2:A$8,0)5
456順位(A4,A$2:A$8,0)3
56順位(A5,A$2:A$8,0)7
679順位(A6,A$2:A$8,0)1
756順位(A7,A$2:A$8,0)3
812順位(A8,A$2:A$8,0)6
9
10

次に数値は同じで、数値ごとの全ての順位を調べてみます。やり方はC2をコピーしてからC3からC8までを選択してペーストすればできます。このときセル範囲を絶対参照にしないと対象の範囲がズレてしまうのでA$2:A$8というように、行側に「$」をつけることを忘れずに。情報処理技術者試験でもコピー元に絶対参照がある選択肢と、ない選択肢があって「セル○○をコピーするとき」と選ばせる問題がよくあります。

話を進めます。大きい値、79が1番目になっていて、75が2番目と続いています。4行目と7行目に注目してください。値が同じ56なので順位が同じ3になっています。順位関数では同じ値があったとき同じ順として表示され、次の順は個数に加算されることになります。この表の場合、3番目が2つあるので4が表示されなくなり、次は5から表示されています。

順番1234567
順位関数の表示1233567
入力されている値7975565627126

なぜそうなるかというのは「同順の場合は同じ値を返し、次の順位は同順の個数だけ加算した順位になる」、と決まっているからで、そういう風にな動きをするものなんだと覚えておいて下さい。もし同じ順位が10個あったら、同じ値は同じ順位で10回表示され、つぎの順位は10個足した順位から表示されることになります。

順位関数