「PERCENTILE.INC関数ってPERCENTILE関数と何が違うの?」。スプレッドシートでパーセンタイルを求めようとして、こんな疑問を持ったことはありませんか?
結論からいうと、PERCENTILE.INC関数とPERCENTILE関数はまったく同じ動作をします。ただし「INC(包含的)」と明示することで、PERCENTILE.EXC関数との区別がはっきりするんです。
この記事では、PERCENTILE.INC関数の基本の書き方からPERCENTILE関数との関係、PERCENTILE.EXC関数との違いまで解説します。
スプレッドシートのPERCENTILE.INC関数とは?包含的パーセンタイルを求める関数
PERCENTILE.INC関数(読み方: パーセンタイル・インクルーシブ)は、データの中から包含的パーセンタイル値を返す関数です。「INC」は「Inclusive(包含的)」の略ですよ。
包含的パーセンタイルとは、第2引数に0と1を含む全範囲(0〜1)を指定できる方式のことです。0を指定すれば最小値、1を指定すれば最大値が返ります。
PERCENTILE.INC関数にできることをまとめると、次のとおりです。
- 指定したパーセンタイル位置の値を求める
- 0〜1の全範囲でパーセンタイルを指定できる
- PERCENTILE関数と完全に同じ計算結果を返す
- PERCENTILE.EXC関数と対になる「包含的」バージョンとして使える
NOTE
PERCENTILE.INC関数はGoogleスプレッドシートで利用できます。ExcelではExcel 2010以降で対応しています。
PERCENTILE.INC関数の書き方(構文と引数)
基本構文
=PERCENTILE.INC(データ, パーセンタイル)
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| データ | 必須 | パーセンタイル値を求めたいセル範囲または配列 |
| パーセンタイル | 必須 | 0〜1の数値。0.9なら90パーセンタイル |
第2引数は「0〜1」の範囲で指定します。0.25なら25パーセンタイル、0.5なら50パーセンタイル(中央値)です。
TIP
「上位10%のラインを知りたい」なら、パーセンタイルには 0.9(= 下から90%)を指定します。「上位○%」と「下から○%」が逆になる点に注意してください。
PERCENTILE.INC関数の基本的な使い方
以下のテスト得点データでPERCENTILE.INC関数を使ってみましょう。
B2からB11に10人分の得点データが入っているとします。
| A列(名前) | B列(得点) | |
|---|---|---|
| 2行目 | 田中 | 72 |
| 3行目 | 鈴木 | 85 |
| 4行目 | 佐藤 | 91 |
| 5行目 | 山田 | 68 |
| 6行目 | 高橋 | 78 |
| 7行目 | 伊藤 | 95 |
| 8行目 | 渡辺 | 83 |
| 9行目 | 中村 | 76 |
| 10行目 | 小林 | 88 |
| 11行目 | 加藤 | 60 |
90パーセンタイルを求める
上位10%のラインを知りたいときは、第2引数に0.9を指定します。
=PERCENTILE.INC(B2:B11, 0.9)
結果は 91.4 です。得点91.4以上なら上位10%に入るということがわかります。
いろいろなパーセンタイルを求める
第2引数を変えて、さまざまな位置の値を取得してみましょう。
| 数式 | パーセンタイル | 結果 | 意味 |
|---|---|---|---|
=PERCENTILE.INC(B2:B11, 0.25) | 25 | 73 | 下位25%のライン |
=PERCENTILE.INC(B2:B11, 0.5) | 50 | 80.5 | 中央値 |
=PERCENTILE.INC(B2:B11, 0.75) | 75 | 87.25 | 上位25%のライン |
=PERCENTILE.INC(B2:B11, 0.9) | 90 | 91.4 | 上位10%のライン |
50パーセンタイルの「80.5」は中央値と一致します。
0と1を指定すると最小値・最大値になる
PERCENTILE.INC関数の「包含的」たるゆえんは、0と1を指定できることです。
=PERCENTILE.INC(B2:B11, 0) → 60(最小値 = MIN関数と同じ)
=PERCENTILE.INC(B2:B11, 1) → 95(最大値 = MAX関数と同じ)
0で最小値、1で最大値が返ります。PERCENTILE.EXC関数では0と1を指定するとエラーになるため、ここが大きな違いです。
PERCENTILE.INC関数の実践的な使い方・応用例
売上データのランク分けに使う
PERCENTILE.INC関数でボーダーラインを求め、IFS関数でA〜Dランクに振り分けましょう。
=IFS(B2>=PERCENTILE.INC($B$2:$B$11,0.75), "A",
B2>=PERCENTILE.INC($B$2:$B$11,0.5), "B",
B2>=PERCENTILE.INC($B$2:$B$11,0.25), "C",
TRUE, "D")
結果は以下のようになります。
| 名前 | 得点 | ランク |
|---|---|---|
| 田中 | 72 | D |
| 鈴木 | 85 | B |
| 佐藤 | 91 | A |
| 山田 | 68 | D |
| 高橋 | 78 | C |
| 伊藤 | 95 | A |
| 渡辺 | 83 | B |
| 中村 | 76 | C |
| 小林 | 88 | A |
| 加藤 | 60 | D |
範囲を絶対参照($B$2:$B$11)にするのがポイントです。数式を下にコピーしても範囲がずれません。
外れ値の検出に使う
極端に大きい値や小さい値(外れ値)を見つけるには、IQR(四分位範囲)法が一般的です。PERCENTILE.INC関数で第1四分位数(Q1)と第3四分位数(Q3)を求めましょう。
=PERCENTILE.INC(B2:B11, 0.25) → Q1(第1四分位数)
=PERCENTILE.INC(B2:B11, 0.75) → Q3(第3四分位数)
IQR(= Q3 – Q1)の1.5倍を超えるデータを外れ値として検出する数式はこちらです。
=IF(OR(
B2 > PERCENTILE.INC($B$2:$B$11,0.75) + 1.5*(PERCENTILE.INC($B$2:$B$11,0.75)-PERCENTILE.INC($B$2:$B$11,0.25)),
B2 < PERCENTILE.INC($B$2:$B$11,0.25) - 1.5*(PERCENTILE.INC($B$2:$B$11,0.75)-PERCENTILE.INC($B$2:$B$11,0.25))),
"外れ値", "")
数式が長く見えますが、やっていることはシンプルです。Q1とQ3の差(IQR)の1.5倍を超えたデータに「外れ値」と表示しています。
条件付き書式で上位・下位を色分けする
PERCENTILE.INC関数を条件付き書式と組み合わせると、データの上位・下位を視覚的に把握できます。
- B2:B11を選択する
- 「表示形式」→「条件付き書式」を開く
- 「カスタム数式」を選び、以下の数式を入力する
上位25%のセルに色を付ける場合はこちらです。
=B2>=PERCENTILE.INC($B$2:$B$11, 0.75)
下位25%のセルに別の色を付ける場合はこちらです。
=B2<=PERCENTILE.INC($B$2:$B$11, 0.25)
これで上位と下位のデータが一目でわかるようになりますよ。
よくあるエラーと対処法
#NUM!エラー
PERCENTILE.INC関数で最もよく見るエラーです。以下の原因が考えられます。
| 原因 | 対策 |
|---|---|
| 第2引数が0未満または1超 | 0〜1の範囲で指定する |
| データ範囲が空(数値なし) | 数値が入った範囲を指定する |
第2引数に「90」のように0〜1の範囲外の値を入れてしまうケースが多いです。90パーセンタイルなら「0.9」と指定してください。
#VALUE!エラー
第2引数に文字列を指定すると発生します。数値を直接入力するか、数値が入ったセルを参照してください。
TIP
セル参照で第2引数を指定する場合は、参照先に数値が入っているか確認しましょう。空欄や文字列が入っていると#VALUE!エラーの原因になりますよ。
文字列・論理値の扱い
データ範囲に含まれる文字列やTRUE/FALSEは自動的に無視されます。エラーにはなりませんが、データ件数が想定より少なくなることがあります。有効なデータ件数が減ると計算結果も変わるので注意してください。
PERCENTILE関数・PERCENTILE.EXC関数との違い
PERCENTILE.INC関数を正しく使い分けるために、関連する2つの関数との違いを整理しましょう。
PERCENTILE関数との関係(完全互換)
PERCENTILE.INC関数とPERCENTILE関数はまったく同じ結果を返します。同じデータ・同じ第2引数で比較してみましょう。
| パーセンタイル | PERCENTILE | PERCENTILE.INC | 差 |
|---|---|---|---|
| 0%(最小値) | 60 | 60 | 0 |
| 25% | 73 | 73 | 0 |
| 50%(中央値) | 80.5 | 80.5 | 0 |
| 75% | 87.25 | 87.25 | 0 |
| 100%(最大値) | 95 | 95 | 0 |
すべて同じ結果です。PERCENTILE.INC関数は、PERCENTILE関数に「INC(Inclusive = 包含的)」という名前を付けた正式名称です。
どちらを使っても結果は変わりません。ただし、PERCENTILE.EXC関数と対比して使う場面では「PERCENTILE.INC」と書くほうが意図が明確になります。
PERCENTILE.EXC関数との違い(包含的 vs 排他的)
PERCENTILE.INC関数とPERCENTILE.EXC関数は、計算方式が異なります。3つの関数を比較表で整理しましょう。
| 項目 | PERCENTILE | PERCENTILE.INC | PERCENTILE.EXC |
|---|---|---|---|
| 第2引数の範囲 | 0〜1 | 0〜1 | 0より大きく1より小さい |
| 0と1の扱い | 含む(包含的) | 含む(包含的) | 除外(排他的) |
| 最小値の取得 | 可(0を指定) | 可(0を指定) | 不可 |
| 最大値の取得 | 可(1を指定) | 可(1を指定) | 不可 |
| 計算方法 | 包含的補間 | 包含的補間 | 排他的補間 |
| PERCENTILEとの関係 | ― | 同一の動作 | 異なる結果 |
同じデータ・同じパーセンタイルでも、INCとEXCでは計算結果が変わります。
| パーセンタイル | PERCENTILE.INC | PERCENTILE.EXC | 差 |
|---|---|---|---|
| 25% | 73 | 71 | 2 |
| 50%(中央値) | 80.5 | 80.5 | 0 |
| 75% | 87.25 | 88.75 | 1.5 |
50%(中央値)は同じ結果ですが、25%と75%では値が異なります。
どちらを使えばいい?使い分けの基準
| 場面 | おすすめ関数 | 理由 |
|---|---|---|
| 通常の業務(売上分析・ランク分け) | PERCENTILE.INC | シンプルで直感的。0と1が使えるので便利 |
| 統計的に厳密な分析 | PERCENTILE.EXC関数 | 学術・統計の標準的な計算方式に準拠 |
| データ数が少ない(10個未満) | PERCENTILE.INC | EXCは指定範囲が狭くなるため使いにくい |
| データ数が多い(30個以上) | どちらでも可 | データが多いほど両者の差は小さくなる |
| PERCENTILE関数との互換性重視 | PERCENTILE.INC | 結果が完全に一致する |
迷ったらPERCENTILE.INC関数を選んでおけば問題ありません。通常の業務分析ではこちらで十分ですよ。
QUARTILE関数との関係
PERCENTILE.INC関数はQUARTILE関数の上位互換でもあります。QUARTILE関数で求められる値は、すべてPERCENTILE.INC関数でも求められます。
| QUARTILE関数 | 同じ結果のPERCENTILE.INC | 意味 |
|---|---|---|
=QUARTILE(データ, 0) | =PERCENTILE.INC(データ, 0) | 最小値 |
=QUARTILE(データ, 1) | =PERCENTILE.INC(データ, 0.25) | 第1四分位数 |
=QUARTILE(データ, 2) | =PERCENTILE.INC(データ, 0.5) | 中央値 |
=QUARTILE(データ, 3) | =PERCENTILE.INC(データ, 0.75) | 第3四分位数 |
=QUARTILE(データ, 4) | =PERCENTILE.INC(データ, 1) | 最大値 |
QUARTILE関数は25%刻みの5つしか指定できませんが、PERCENTILE.INC関数なら0.01刻みでも自由に指定できます。
まとめ
PERCENTILE.INC関数は、PERCENTILE関数と同じ動作をする包含的パーセンタイル値を返す関数です。
この記事のポイント
- 構文は
=PERCENTILE.INC(データ, パーセンタイル)の2引数 - 第2引数は0〜1の範囲で指定する(0.9 = 90パーセンタイル)
- PERCENTILE関数と完全に同じ結果を返す(INC = Inclusive の正式名称)
- PERCENTILE.EXC関数とは計算方式が異なる(包含的 vs 排他的)
- 通常の業務にはPERCENTILE.INC(またはPERCENTILE)で十分
- 0を指定で最小値、1を指定で最大値が返る
次のステップ:関連する統計関数
PERCENTILE.INC関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
