スプレッドシートのPERCENTILE.EXC関数の使い方|パーセンタイル(0,1除外)

スポンサーリンク

「PERCENTILE関数とPERCENTILE.EXC関数って何が違うの?」。スプレッドシートでパーセンタイルを求めるとき、こんな疑問が出てきませんか?

PERCENTILE関数だけでも十分使えますが、統計的に厳密な分析をしたい場面ではPERCENTILE.EXC関数の出番です。0と1を除外した「排他的パーセンタイル」を返すのが特徴ですよ。

この記事では、PERCENTILE.EXC関数の基本の書き方からPERCENTILE関数との違い、実務での活用例まで解説します。

PERCENTILE.EXC関数とは?排他的パーセンタイルを求める関数

PERCENTILE.EXC関数(読み方: パーセンタイル・エクスクルーシブ)は、データの中から排他的パーセンタイル値を返す関数です。「EXC」は「Exclusive(排他的)」の略です。

排他的パーセンタイルとは、0%と100%を除外した範囲でパーセンタイルを計算する方式のことです。通常のPERCENTILE関数が0〜1の全範囲を使うのに対し、PERCENTILE.EXC関数は1/(n+1)〜n/(n+1)の範囲で計算します。

たとえばデータが10個なら、指定できる範囲は1/11(約0.09)〜10/11(約0.91)です。「最小値そのもの」や「最大値そのもの」は返しません。

PERCENTILE.EXC関数にできることをまとめると、次のとおりです。

  • 0%と100%を除外した厳密なパーセンタイル値を求める
  • 端の値(最小値・最大値)に引っ張られにくい分析ができる
  • 統計学の教科書に沿った正確なパーセンタイル計算ができる
  • PERCENTILE関数では対応しにくい小データ数の精密分析に使える

NOTE

PERCENTILE.EXC関数はGoogleスプレッドシートで利用できます。ExcelではExcel 2010以降で対応しています。

PERCENTILE.EXC関数の書き方(構文と引数)

基本構文

=PERCENTILE.EXC(データ, パーセンタイル)

引数の説明

引数必須/任意説明
データ必須パーセンタイル値を求めたいセル範囲または配列
パーセンタイル必須0より大きく1より小さい数値(0と1は指定不可)

第2引数の有効範囲は1/(n+1) 〜 n/(n+1)です。nはデータの個数を指します。この範囲外の値を指定すると#NUM!エラーになります。

TIP

データが10個なら、第2引数は約0.09〜0.91の範囲で指定できます。0.01や0.99のような極端な値を指定するには、データ数がもっと必要ですよ。

PERCENTILE.EXC関数の基本的な使い方

以下のテスト得点データでPERCENTILE.EXC関数を使ってみましょう。

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

75パーセンタイルを求める

上位25%のラインを知りたいときは、第2引数に0.75を指定します。

=PERCENTILE.EXC(B2:B11, 0.75)

結果は 88.75 です。得点88.75以上なら上位25%に入るということがわかります。

いろいろなパーセンタイルを求める

第2引数を変えて、さまざまな位置の値を取得してみましょう。

数式パーセンタイル結果意味
=PERCENTILE.EXC(B2:B11, 0.25)2571下位25%のライン
=PERCENTILE.EXC(B2:B11, 0.5)5080.5中央値
=PERCENTILE.EXC(B2:B11, 0.75)7588.75上位25%のライン

データが10個の場合、0.09〜0.91の範囲で指定できます。0.9を指定すると94.6になります。

PERCENTILE関数と結果を比較してみよう

同じデータ・同じパーセンタイルで、PERCENTILE関数と比べてみましょう。

パーセンタイルPERCENTILE(INC)PERCENTILE.EXC
25%73712
50%(中央値)80.580.50
75%87.2588.751.5

50%(中央値)は同じ結果ですが、25%と75%では値が異なります。PERCENTILE.EXC関数のほうが端に寄った値を返す傾向があります。

PERCENTILE.EXC関数の実践的な使い方・応用例

成績評価のボーダーライン設定

PERCENTILE.EXC関数を使って、統計的に厳密なボーダーラインを設定できます。IFS関数と組み合わせてA〜Dの評価を振り分けましょう。

=IFS(B2>=PERCENTILE.EXC($B$2:$B$11,0.75), "A",
     B2>=PERCENTILE.EXC($B$2:$B$11,0.5), "B",
     B2>=PERCENTILE.EXC($B$2:$B$11,0.25), "C",
     TRUE, "D")

結果は以下のようになります。

名前得点評価
田中72C
鈴木85B
佐藤91A
山田68D
高橋78C
伊藤95A
渡辺83B
中村76C
小林88B
加藤60D

範囲を絶対参照($B$2:$B$11)にするのがポイントです。数式を下にコピーしても範囲がずれません。

品質管理での外れ値検出

製品の品質管理では、正常範囲から外れたデータを検出する必要があります。PERCENTILE.EXC関数を使ったIQR法で外れ値を見つけましょう。

まず、第1四分位数(Q1)と第3四分位数(Q3)を求めます。

=PERCENTILE.EXC(B2:B11, 0.25)   → Q1(第1四分位数)
=PERCENTILE.EXC(B2:B11, 0.75)   → Q3(第3四分位数)

次に、IQR(四分位範囲 = Q3 – Q1)を計算します。

=PERCENTILE.EXC(B2:B11, 0.75) - PERCENTILE.EXC(B2:B11, 0.25)

外れ値の判定式は以下のとおりです。

=IF(OR(
    B2 > PERCENTILE.EXC($B$2:$B$11,0.75) + 1.5*(PERCENTILE.EXC($B$2:$B$11,0.75)-PERCENTILE.EXC($B$2:$B$11,0.25)),
    B2 < PERCENTILE.EXC($B$2:$B$11,0.25) - 1.5*(PERCENTILE.EXC($B$2:$B$11,0.75)-PERCENTILE.EXC($B$2:$B$11,0.25))),
  "外れ値", "")

数式が長く見えますが、やっていることはシンプルです。Q1とQ3の差(IQR)の1.5倍を超えたデータに「外れ値」と表示しています。

PERCENTILE.EXC関数を使うと、端の値に影響されにくいため、より安定した外れ値検出ができますよ。

条件付き書式で上位・下位を色分けする

PERCENTILE.EXC関数を条件付き書式と組み合わせると、データの上位・下位を視覚的に把握できます。

  1. B2:B11を選択する
  2. 「表示形式」→「条件付き書式」を開く
  3. 「カスタム数式」を選び、以下の数式を入力する

上位25%のセルに色を付ける場合はこちらです。

=B2>=PERCENTILE.EXC($B$2:$B$11, 0.75)

下位25%のセルに別の色を付ける場合はこちらです。

=B2<=PERCENTILE.EXC($B$2:$B$11, 0.25)

これで上位と下位のデータが一目でわかるようになります。

よくあるエラーと対処法

#NUM!エラー

PERCENTILE.EXC関数で最もよく見るエラーです。以下の原因が考えられます。

原因対策
第2引数が0以下または1以上0より大きく1より小さい値を指定する
第2引数がデータ数に対して範囲外1/(n+1)〜n/(n+1)の範囲内に収める
データ範囲が空(数値なし)数値が入った範囲を指定する

よくある間違いは、第2引数に「0」や「1」を指定するケースです。PERCENTILE.EXC関数では0と1は使えません。最小値を求めたい場合はMIN関数、最大値はMAX関数を使ってください。

また、データ数が少ないと指定できる範囲が狭くなります。データが5個なら1/6(約0.17)〜5/6(約0.83)の範囲しか指定できません。0.9を指定したいのにエラーが出る場合は、データ数を確認してみましょう。

#VALUE!エラー

第2引数に文字列を指定すると発生します。数値を直接入力するか、数値が入ったセルを参照してください。

TIP

セル参照で第2引数を指定する場合は、参照先に数値が入っているか確認しましょう。空欄や文字列が入っていると#VALUE!エラーの原因になります。

文字列・論理値の扱い

データ範囲に含まれる文字列やTRUE/FALSEは自動的に無視されます。エラーにはなりませんが、データ件数が想定より少なくなることがあります。有効なデータ数が減ると、第2引数の有効範囲も変わる点に注意してください。

PERCENTILE関数・PERCENTILE.INC関数との違い

PERCENTILE.EXC関数を正しく使い分けるために、PERCENTILE関数・PERCENTILE.INC関数との違いを整理しましょう。

3つの関数の比較表

項目PERCENTILEPERCENTILE.INCPERCENTILE.EXC
第2引数の範囲0〜10〜10より大きく1より小さい
0と1の扱い含む(包含的)含む(包含的)除外(排他的)
最小値の取得可(0を指定)可(0を指定)不可
最大値の取得可(1を指定)可(1を指定)不可
計算方法包含的補間包含的補間排他的補間
PERCENTILEとの関係同一の動作異なる結果

PERCENTILE関数とPERCENTILE.INC関数は完全に同じ動作をします。INCは「Inclusive(包含的)」の略で、PERCENTILEの正式名称という位置づけです。

どちらを使えばいい?使い分けの基準

場面おすすめ関数理由
通常の業務(売上分析・ランク分け)PERCENTILE関数シンプルで直感的。0と1が使えるので便利
統計的に厳密な分析PERCENTILE.EXC学術・統計の標準的な計算方式に準拠
データ数が少ない(10個未満)PERCENTILE関数EXCは指定範囲が狭くなるため使いにくい
データ数が多い(30個以上)どちらでも可データが多いほど両者の差は小さくなる

通常の業務ではPERCENTILE関数で問題ありません。統計的に厳密な結果が必要な場合や、学術的なレポートを作成する場合にPERCENTILE.EXC関数を使いましょう。

まとめ

PERCENTILE.EXC関数は、0と1を除外した排他的パーセンタイル値を返す関数です。

この記事のポイント

  • 構文は =PERCENTILE.EXC(データ, パーセンタイル) の2引数
  • 第2引数は0より大きく1より小さい値(有効範囲: 1/(n+1)〜n/(n+1))
  • PERCENTILE関数 = PERCENTILE.INC関数(包含的)とは計算結果が異なる
  • 通常の業務にはPERCENTILE関数、統計的に厳密な分析にはPERCENTILE.EXCを使う
  • データ数が多いほど両者の差は小さくなる

次のステップ:関連する統計関数

PERCENTILE.EXC関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。

タイトルとURLをコピーしました