エクセル PERCENTRANK 関数:順位比率を取得する

はじめに

エクセルの PERCENTRANK 関数の使い方を紹介します。

PERCENTRANK 関数は指定した値の順位比率を取得します。

=PERCENTRANK(A1:A3,A1) のようにして、セル「A1」の値が小さい順で上位何パーセントかを取得できます。

=PERCENTRANK(A1:A3,50) のようにして、50 の値が小さい順で上位何パーセントかを取得できます。

PERCENTRANK.INC 関数と PERCENTRANK.EXC 関数の違いも紹介します。

上位 20 % の値を取得するには「PERCENTILE 関数」を使用します。
順位を取得するには「RANK 関数」を使用します。
  • 目次
    • PERCENTRANK 関数の引数
    • 使い方
    • 解説

PERCENTRANK 関数の引数

PERCENTRANK(範囲, 数値)
範囲の中から数値の昇順の順位を比率で取得します。

PERCENTRANK(範囲, 数値, 有効桁数)
結果を小数点以下の有効桁数で取得します。

引数「範囲」セルの範囲、数値を指定できます。この中での順位比率を求めます。
引数「数値」順位比率を求めるセルや数値を指定します。スピル化
引数「有効桁数」省略できます。省略すると小数点以下を 3 桁で取得します。
小数点以下を何桁で取得するか指定します。
スピル化

スピル化:セルの範囲や配列を指定すると結果が「スピル」します。

使い方

PERCENTRANK 関数の使い方を紹介します。

セルの範囲内の順位比率を取得する

セルの範囲「B5」~「B11」の値の順位比率を取得します。

=PERCENTRANK.INC($B$5:$B$11,B3)
=PERCENTILE.INC($B$5:$B$11,C4)

有効桁数が少ないため「PERCENTILE 関数」で元の値が取得されません。

5

有効桁数を指定して順位比率を取得する

15 の順位比率を有効桁数を 1 ~ 9 の間で取得します。

=PERCENTRANK.INC($B$5:$B$11,15,C3)
=PERCENTILE.INC($B$5:$B$11,D4)

PERCENTILE 関数」を使用して、元の値を取得するのに少なくとも有効桁数が 7 必要なことがわかります。

6

解説

  • PERCENTRANK 関数:値の順位比率 (上位何パーセントか) を取得します。順位比率
  • PERCENTILE 関数:順位比率に対応する値を取得します。順位比率

取得した順位比率を「PERCENTILE 関数」に指定すると、元の値を取得できます。

引数「範囲」の値が昇順や降順に並んでいる必要はありません。

引数「範囲」や引数「数値」が日付なら、日付の実際の値は数値なのでその値として扱います。

引数「範囲」に文字列や TRUE や FALSE、空のセルが含まれるときは、そのセルを無視します。

引数「範囲」に 1 つも有効な数値が含まれていないときはエラー #NUM! になります。

引数「数値」が引数「範囲」の中の最小値なら 0 を取得します。

引数「数値」が引数「範囲」の中の中央値なら 0.5 を取得します。

引数「数値」が引数「範囲」の中の最大値なら 1 を取得します。

引数「数値」が引数「範囲」の 最小値 ~ 最大値 の範囲外のときはエラー #N/A になります。

引数「数値」が文字列のときはエラー #VALUE! になります。

引数「有効桁数」に 1 より小さい値のときはエラー #NUM! になります。

順位比率が割り切れないとき、引数「有効桁数」が 309 以上の値のときはエラー #DIV/0! になります。

順位の順位比率

引数「範囲」を昇順で順位を付けたとき、その順位の値の順位比率は 1/(引数「範囲」の値の数-1)*順位 で取得できます。このとき一番小さい値の順位が 0 から開始します。これは PERCENTRANK 関数でその値の順位比率を取得したときと同じ値です。

順位比率が 1/(引数「範囲」の値の数-1) の倍数なら、引数「範囲」の中にあるその順位の値の順位比率になります。

引数「数値」が引数「範囲」に含まれていない値のときは、その前後の順位の値に対しての比率で求めます。 0, 10, 20, 90, 100 の中から 12 の順位比率を求めるとき、前後の順位の値は 10 と 20 です。10 を 0 % 0.25 とし、20 を 100 % 0.5 としたとき、12 は 20 % 0.3 になります。

7

結果を「PERCENTILE 関数」の引数「順位比率」に渡して、元の値を取得できます。ただし結果は割り切れないことが多いため、引数「有効桁数」によっては元の値と一致しません。

同率順位の扱い

同じ値が複数あるときは、その順位でも次の順位の順位比率でも「PERCENTILE 関数」を使用して、その順位の値を取得できます。次のように順位 1 位が複数あるときは、1 位の値でも 2 位の値でも取得できます。

8

PERCENTRANK.INC と PERCENTRANK.EXC の違い

PERCENTRANK.INC 関数と PERCENTRANK.EXC 関数の違いは結果の求め方です。

  • PERCENTRANK 関数、PERCENTRANK.INC 関数:まったく同じ結果を返します。結果を 1/(引数「範囲」の値の数-1)*順位 で求めます。順位は小さい方が 0 から開始します。PERCENTRANK 関数は互換性のために残されている関数なので、将来のことを考えるなら PERCENTRANK.INC 関数を使用します。
  • PERCENTRANK.EXC 関数:結果を 順位/(引数「範囲」の値の数+1) で求めます。順位は小さい方が 1 から開始して「RANK 関数」と同じ順位です。結果を「PERCENTILE.EXC 関数」の引数「順位比率」に渡せます。