PERCENTILE.INC関数とは
「売上データの上位20%ラインってどこだろう?」
「テストの偏差値的な位置づけを数値で出したい…」
こんな場面で手作業の計算をしていませんか。データが増えるたびに並べ替えて数えて…と繰り返すのは非効率ですよね。
ExcelのPERCENTILE.INC関数を使えば、数式ひとつでパーセンタイル値を求められます。この記事では基本の書き方から実践例、似た関数との違いまで丁寧に解説します。
INCの意味(Inclusive=0%と100%を含む)
PERCENTILE.INCの読み方は「パーセンタイル・インク」です。INCは「Inclusive(包括的)」の略で、0%と100%を含むという意味があります。
パーセンタイル(百分位数)とは、データを小さい順に並べたとき「下から何%の位置にある値か」を示す統計指標です。k=0なら最小値、k=0.5なら中央値、k=1なら最大値を返します。
PERCENTILE.INC関数はこの0%~100%の全範囲を指定できる点が特徴です。
旧PERCENTILE関数との関係と互換性
Excel 2007以前には「PERCENTILE」という関数がありました。PERCENTILE.INC関数はExcel 2010で追加された後継関数です。
旧PERCENTILE関数と計算結果は完全に一致します。つまり互換性は100%です。ただし旧関数はMicrosoftが非推奨としており、将来廃止されるリスクがあります。新しく数式を作るときはPERCENTILE.INCを使いましょう。
対応バージョンはExcel 2010以降(Microsoft 365 / 2024 / 2021 / 2019 / 2016)です。
PERCENTILE.INC関数の書き方と引数
基本構文
まずは基本の書き方を確認しましょう。
=PERCENTILE.INC(array, k)
引数は2つで、どちらも必須です。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| array | 必須 | パーセンタイルを求めたいデータ範囲 |
| k | 必須 | 0以上1以下の数値(百分位を小数で指定) |
引数kの指定方法とパーセンタイル早見表
引数kは「下から何%の位置か」を0~1の小数で指定します。たとえば「上位20%のしきい値」を知りたい場合、下から80%の位置なのでk=0.8です。
よく使うk値を早見表にまとめました。
| k値 | 意味 | 用途の例 |
|---|---|---|
| 0 | 最小値(0パーセンタイル) | データの下限確認 |
| 0.1 | 10パーセンタイル | 下位10%のしきい値 |
| 0.25 | 25パーセンタイル(第1四分位) | 四分位分析 |
| 0.5 | 50パーセンタイル(中央値) | 代表値の算出 |
| 0.75 | 75パーセンタイル(第3四分位) | 四分位分析 |
| 0.9 | 90パーセンタイル | 上位10%のしきい値 |
| 1 | 最大値(100パーセンタイル) | データの上限確認 |
k=0.25とk=0.75は四分位数(データを4等分した区切り)に対応します。この2つの値は外れ値の検出にも活用できます。
PERCENTILE.INC関数の実践例【3パターン】
売上データで上位20%のしきい値を求める
営業チームの月間売上データから「上位20%に入るライン」を求めてみましょう。
セルA2:A11に10人分の売上データ(単位:万円)が入っているとします。
=PERCENTILE.INC(A2:A11, 0.8)
k=0.8を指定することで「下から80%の位置=上位20%のしきい値」が求まります。この値以上の売上を出しているメンバーが上位20%に該当するわけです。
たとえばデータが{50, 60, 70, 80, 90, 100, 110, 120, 130, 140}の場合、結果は122万円になります。具体的な計算過程を確認してみましょう。
rank = 0.8 ×(10 – 1)= 7.2です。8番目の値(120)から9番目の値(130)への補間なので、120 + 0.2 ×(130 – 120)= 122となります。
このように、PERCENTILE.INC関数はデータ間を線形補間して正確な値を返します。線形補間とは、2点の間を直線で結んで中間値を推定する方法です。
テスト成績で任意パーセンタイルを一括算出
複数のパーセンタイル値を一度に求めたい場面もありますよね。たとえばテストの成績データから10・25・50・75・90パーセンタイルを一括で出してみましょう。
B1:B5にk値(0.1, 0.25, 0.5, 0.75, 0.9)を入力しておき、C1に次の数式を入力します。
=PERCENTILE.INC($A$2:$A$51, B1)
C1の数式をC2:C5にコピーすれば、5つのパーセンタイル値が一覧で表示されます。k値をセル参照にすることで、値を変えるだけで好きなパーセンタイルをすぐに確認できます。
このテクニックは成績分布の把握や、データの散らばり具合を素早くチェックしたいときに便利です。
IFS関数と組み合わせてランク自動判定
PERCENTILE.INC関数とIFS関数を組み合わせると、データの値に応じてランクを自動判定できます。
まずPERCENTILE.INC関数でしきい値を求めます。ここではセルA2:A101に100件のスコアが入っている想定です。
=IFS(
B2 >= PERCENTILE.INC($A$2:$A$101, 0.9), "S",
B2 >= PERCENTILE.INC($A$2:$A$101, 0.75), "A",
B2 >= PERCENTILE.INC($A$2:$A$101, 0.5), "B",
B2 >= PERCENTILE.INC($A$2:$A$101, 0.25), "C",
TRUE, "D"
)
この数式は90パーセンタイル以上を「S」、75パーセンタイル以上を「A」、50パーセンタイル以上を「B」、25パーセンタイル以上を「C」、それ未満を「D」と判定します。しきい値をハードコーディングしなくて済むので、データが変わっても判定基準が自動更新される点がポイントです。
ちょっと数式が長く見えますが、やっていることはシンプルです。上の条件から順にチェックして、最初に当てはまったランクを返しているだけですよ。
PERCENTILE.INCとPERCENTILE.EXCの違い【数値比較】
計算式の違いで結果がどう変わるか
PERCENTILE.INC関数とPERCENTILE.EXC関数は、補間計算の分母が異なります。
| 項目 | PERCENTILE.INC | PERCENTILE.EXC |
|---|---|---|
| kの範囲 | 0 ≤ k ≤ 1 | 0 < k < 1 |
| k=0・k=1 | 有効(最小値/最大値) | #NUM!エラー |
| 補間の分母 | n – 1 | n + 1 |
| Excel対応 | 2010〜(推奨) | 2010〜 |
実際にデータ{10, 20, 30, 40, 50}(n=5)でk=0.3の結果を比べてみましょう。
PERCENTILE.INC の計算:
rank = 0.3 ×(5 – 1)= 1.2
→ 2番目の値(20)+ 0.2 ×(30 – 20)= 22
PERCENTILE.EXC の計算:
rank = 0.3 ×(5 + 1)= 1.8
→ 2番目の値(20)+ 0.8 ×(30 – 20)= 28
同じk=0.3でも結果は22と28で大きく異なります。分母がn-1かn+1かの違いが、このような差を生みます。
INCとEXCの使い分け判断基準
迷ったらPERCENTILE.INC関数を選べばOKです。理由は3つあります。
- kに0と1を指定でき、最小値・最大値を取得できる
- 旧PERCENTILE関数と互換性がある
- 一般的なビジネスシーンではINCの方が直感的に使いやすい
PERCENTILE.EXC関数は、統計分野でn+1分割の計算方式が求められる場面で使います。k=0やk=1が計算上の意味をなさず、端点を除外することが前提の統計手法がその例です。実務でそのような要件がなければ、PERCENTILE.INC関数で問題ありません。
PERCENTILE.INC vs QUARTILE.INC|3関数横断比較表
QUARTILE.INCはPERCENTILE.INCで完全代替できる
QUARTILE.INC関数はデータの四分位数(0%・25%・50%・75%・100%の5段階)を求める関数です。実はPERCENTILE.INC関数で完全に代替できます。
| QUARTILE.INC | PERCENTILE.INC(同等の式) | 返す値 |
|---|---|---|
| QUARTILE.INC(範囲, 0) | PERCENTILE.INC(範囲, 0) | 最小値 |
| QUARTILE.INC(範囲, 1) | PERCENTILE.INC(範囲, 0.25) | 第1四分位数 |
| QUARTILE.INC(範囲, 2) | PERCENTILE.INC(範囲, 0.5) | 中央値 |
| QUARTILE.INC(範囲, 3) | PERCENTILE.INC(範囲, 0.75) | 第3四分位数 |
| QUARTILE.INC(範囲, 4) | PERCENTILE.INC(範囲, 1) | 最大値 |
QUARTILE.INC関数は0~4の整数しか指定できません。一方でPERCENTILE.INC関数は0.1刻みや0.05刻みなど任意の位置を指定できます。柔軟性を求めるならPERCENTILE.INC関数がおすすめです。
MEDIAN(中央値)=50パーセンタイルの関係
MEDIAN関数が返す中央値は、PERCENTILE.INC(範囲, 0.5)と同じ結果です。
=MEDIAN(A2:A11)
=PERCENTILE.INC(A2:A11, 0.5)
この2つの数式は常に同じ値を返します。中央値だけが必要ならMEDIAN関数の方がシンプルです。中央値に加えて他のパーセンタイルも求めるなら、PERCENTILE.INC関数に統一した方が数式の管理がしやすくなります。
ちなみにQUARTILE.EXC関数というものもあります。こちらはPERCENTILE.EXC関数と同じ補間ロジック(n+1分割)で四分位数を求める関数です。
よくあるエラーと対処法
#NUM!エラー
PERCENTILE.INC関数で#NUM!エラーが出る原因は主に2つです。
- kが0未満または1を超えている: k=-0.1やk=1.5のような値は指定できません。0以上1以下の範囲に修正してください
- arrayが空: データが1件もない空の範囲を指定すると#NUM!エラーになります。対象範囲にデータが入っているか確認しましょう
特にkの値をセル参照で指定している場合、参照先のセルが意図しない値になっていないかチェックしてみてください。
#VALUE!エラー
#VALUE!エラーは、引数kに数値以外の値が入っている場合に発生します。
たとえばkに「30%」という文字列が入ったセルを参照すると、このエラーが出ます。kには必ず数値(0.3など)を指定してください。
エラーを事前に防ぎたい場合はIFERROR関数で囲む方法もあります。
=IFERROR(PERCENTILE.INC(A2:A11, B1), "kの値を確認してください")
この書き方なら、エラー発生時にメッセージを表示できます。
まとめ
PERCENTILE.INC関数は「データの中で下から何%の位置にある値か」を求める関数です。
ポイントを整理しておきましょう。
- 構文は
=PERCENTILE.INC(array, k)で、kは0〜1の範囲で指定する - INCは「Inclusive」の略で、0%と100%を含む点が特徴
- 旧PERCENTILE関数と完全互換だが、新規作成ではPERCENTILE.INCを使う
- PERCENTILE.EXC関数とは補間の分母が異なり、同じkでも結果が変わる
- QUARTILE.INC関数の機能はPERCENTILE.INC関数で完全に代替できる
売上分析や成績評価など、データのどこに位置するかを知りたい場面でぜひ活用してみてください。
Googleスプレッドシートでも同じ関数が使えます。詳しくはスプレッドシートのPERCENTILE.INC関数の使い方の記事を参考にしてください。
