- 作成日 : 2025年8月25日
PERCENTILE.INC関数の使い方:データの百分位数を正確に求める方法
PERCENTILE.INC関数は、データセットの指定した百分位数(パーセンタイル)を計算するエクセルの統計関数です。0から1の範囲すべてを含む包括的な方法で計算を行い、データ分析や統計処理で広く使用されています。
成績評価、給与分析、品質管理、リスク評価など、データの分布を理解し、特定の位置にある値を特定する必要がある場面で使用されることがあります。
本記事では、PERCENTILE.INC関数の基本的な使い方から実践的な活用法まで、具体例を交えて詳しく解説します。
目次
PERCENTILE.INC関数の基本的な使い方
PERCENTILE.INC関数とは
PERCENTILE.INC関数は、データセット内で指定した百分位数に相当する値を返す関数です。百分位数とは、データを小さい順に並べたときに、ある割合の位置にくる値のことを指します。
たとえば、75パーセンタイルとは、全データの75%がその値以下であり、25%がその値を超えることを意味します。
「INC」は「Inclusive(包括的)」を意味します。PERCENTILE.INC関数は、最小値(0パーセンタイル)から最大値(100パーセンタイル)までのすべての値を含めて計算します。これは、データセット全体を対象とした分析を行いたい場合に適しています。
この関数が特に有用なのは、データの分布を定量的に把握できる点です。平均値だけでは見えてこないデータの偏りや、外れ値の影響を理解するのに役立ちます。また、相対的な位置づけを明確にすることで、客観的な評価基準を設定することができます。
基本構文と引数
PERCENTILE.INC関数の構文:
=PERCENTILE.INC(配列, k)
引数の詳細な説明
配列:百分位数を求めたいデータ範囲を指定します。この引数には以下のような形式でデータを指定できます。
- セル範囲(例:A1:A100)
- 配列定数(例:{1,2,3,4,5})
- 名前付き範囲
- 他の関数の結果
k:求めたい百分位数を指定します。この値は0から1の間の数値、またはパーセント形式で指定します。
- 小数形式:0.25(25パーセンタイルを意味)
- パーセント形式:25%(同じく25パーセンタイルを意味)
- 特別な値の意味:
- 0 または 0%:最小値
- 0.25 または 25%:第1四分位数(下位25%の境界)
- 0.50 または 50%:中央値(第2四分位数)
- 0.75 または 75%:第3四分位数(上位25%の境界)
- 1 または 100%:最大値
基本的な計算例
具体的なデータセットを使って、PERCENTILE.INC関数の動作を詳しく見ていきましょう。
テストの点数分析
9人の学生のテスト点数:60, 65, 70, 75, 80, 85, 90, 95, 100
中央値(50パーセンタイル)の計算:
=PERCENTILE.INC(A1:A9, 0.5)
結果:80
この結果は、9人の学生のちょうど真ん中の成績が80点であることを示しています。4人が80点未満、4人が80点を超える成績を取っています。
第3四分位数(75パーセンタイル)の計算:
=PERCENTILE.INC(A1:A9, 0.75)
結果:90
90点という結果は、全体の75%の学生が90点以下の成績であることを意味します。つまり、90点を取れば上位25%に入ることができます。
90パーセンタイルの計算:
=PERCENTILE.INC(A1:A9, 0.9)
結果:96
96点は非常に高い成績で、全体の90%の学生がこれ以下の点数です。このような高い百分位数は、優秀層を識別するのに役立ちます。
PERCENTILE.EXCとの違い
PERCENTILE.INC関数とPERCENTILE.EXC関数の違いは、統計学的なアプローチの違いに基づいています。詳しく比較してみましょう。
計算方法の違い
データセット:1, 2, 3, 4, 5
最小値の扱い:
PERCENTILE.INC(データ, 0) = 1 (最小値を0パーセンタイルとして扱う)
PERCENTILE.EXC(データ, 0) = #NUM! (エラー:最小値を除外)
最大値の扱い:
PERCENTILE.INC(データ, 1) = 5 (最大値を100パーセンタイルとして扱う)
PERCENTILE.EXC(データ, 1) = #NUM! (エラー:最大値を除外)
使い分けの指針
- データセット全体を対象とした分析を行いたい場合
- 最小値や最大値も含めて評価したい場合
- 一般的なビジネス分析や教育評価で使用する場合
- より保守的な統計的推定を行いたい場合
- 極端な値を除外した分析を行いたい場合
- 学術的な統計分析で使用する場合
実務では、PERCENTILE.INC関数の方が直感的で理解しやすいため、より広く使用されています。
PERCENTILE.INC関数の利用シーン
成績評価と順位付け
教育現場での成績評価は、PERCENTILE.INC関数が最も用いられます。単純な点数だけでなく、相対的な位置づけを明確にすることで、より公平で意味のある評価が可能になります。
相対評価システムの構築
100人の学生の試験結果を分析する場合を考えてみましょう。
評価基準の設定:
S評価(上位10%): =PERCENTILE.INC(成績範囲, 0.9) 結果:92点以上
A評価(上位25%): =PERCENTILE.INC(成績範囲, 0.75) 結果:85点以上
B評価(上位50%): =PERCENTILE.INC(成績範囲, 0.5) 結果:78点以上
C評価(上位75%): =PERCENTILE.INC(成績範囲, 0.25) 結果:70点以上
この基準を使った自動評価式:
=IF(B2>=PERCENTILE.INC($B$2:$B$101,0.9),”S”,
IF(B2>=PERCENTILE.INC($B$2:$B$101,0.75),”A”,
IF(B2>=PERCENTILE.INC($B$2:$B$101,0.5),”B”,
IF(B2>=PERCENTILE.INC($B$2:$B$101,0.25),”C”,”D”))))
学年や科目を超えた比較
異なる科目や異なる難易度のテストを比較する場合、生の点数では公平な比較ができません。PERCENTILE.INC関数を使用することで、標準化された評価が可能になります。
数学での位置: =PERCENTRANK.INC(数学成績全体, 個人の数学点数)
英語での位置: =PERCENTRANK.INC(英語成績全体, 個人の英語点数)
総合評価: =(数学での位置*0.5 + 英語での位置*0.5)*100
成績の経時的変化の追跡
学期ごとの成績の変化を百分位数で追跡することで、クラス内での相対的な位置の変化を把握できます。
1学期の位置: =PERCENTRANK.INC(1学期成績, 生徒の1学期成績)*100
2学期の位置: =PERCENTRANK.INC(2学期成績, 生徒の2学期成績)*100
改善度: =2学期の位置 – 1学期の位置
給与・報酬分析
人事管理において、給与水準の分析は組織の競争力と従業員満足度に直結します。PERCENTILE.INC関数を使用することで、客観的で透明性の高い給与体系を構築できます。
給与分布の詳細分析
企業全体の給与データを分析し、各階層の給与水準を把握します。
給与分布の主要指標:
下位10%ライン: =PERCENTILE.INC(給与データ, 0.1) 結果:年収350万円
第1四分位(Q1): =PERCENTILE.INC(給与データ, 0.25) 結果:年収420万円
中央値: =PERCENTILE.INC(給与データ, 0.5) 結果:年収520万円
第3四分位(Q3): =PERCENTILE.INC(給与データ, 0.75) 結果:年収680万円
上位10%ライン: =PERCENTILE.INC(給与データ, 0.9) 結果:年収850万円
この分析により、給与の散らばり具合や、各階層の給与水準が明確になります。
市場競争力の評価と給与戦略
業界の給与データと自社データを比較し、人材獲得・維持戦略を立案します。
自社の市場での位置:
=PERCENTRANK.INC(業界給与データ, 自社平均給与)*100
職種別の市場競争力分析:
エンジニア: =PERCENTRANK.INC(業界エンジニア給与, 自社エンジニア平均)*100
営業職: =PERCENTRANK.INC(業界営業給与, 自社営業平均)*100
目標設定(市場の60パーセンタイルを目指す場合):
目標給与: =PERCENTILE.INC(業界給与データ, 0.6)
必要調整額: =目標給与 – 現在の平均給与
調整率: =必要調整額 / 現在の平均給与 * 100
品質管理での活用
製造業やサービス業において、品質管理を行うことは事業の成否を左右します。PERCENTILE.INC関数を使用することで、統計的な品質管理が可能になります。
製品規格の設定と管理
製品の測定データから適切な規格範囲を設定します。
1000個の製品サンプルの測定結果から
統計的規格限界の設定:
下限規格(1パーセンタイル): =PERCENTILE.INC(測定データ, 0.01)
上限規格(99パーセンタイル): =PERCENTILE.INC(測定データ, 0.99)
より厳格な管理(3シグマ相当):
下限(0.135 パーセンタイル): =PERCENTILE.INC(測定データ, 0.00135)
上限(99.865 パーセンタイル): =PERCENTILE.INC(測定データ, 0.99865)
PERCENTILE.INC関数の応用
四分位数と箱ひげ図の作成
データの分布を視覚的に理解するために、四分位数を計算し、箱ひげ図を作成します。これにより、データの中心傾向、ばらつき、外れ値を一目で把握できます。
完全な箱ひげ図データの準備
基本統計量の計算:
最小値: =MIN(データ範囲)
第1四分位数(Q1): =PERCENTILE.INC(データ範囲, 0.25)
中央値(Q2): =PERCENTILE.INC(データ範囲, 0.5)
第3四分位数(Q3): =PERCENTILE.INC(データ範囲, 0.75)
最大値: =MAX(データ範囲)
四分位範囲(IQR): =Q3 – Q1
下側のひげ: =MAX(最小値, Q1 – 1.5*IQR)
上側のひげ: =MIN(最大値, Q3 + 1.5*IQR)
外れ値の検出と分析
統計的に有意な外れ値を特定し、その影響を評価します。
外れ値の境界値:
下側外れ値境界: =PERCENTILE.INC(データ, 0.25) – 1.5*(PERCENTILE.INC(データ, 0.75)-PERCENTILE.INC(データ, 0.25))
上側外れ値境界: =PERCENTILE.INC(データ, 0.75) + 1.5*(PERCENTILE.INC(データ, 0.75)-PERCENTILE.INC(データ, 0.25))
外れ値の抽出:
下側外れ値: =FILTER(データ, データ<下側外れ値境界)
上側外れ値: =FILTER(データ, データ>上側外れ値境界)
外れ値の個数: =COUNT(下側外れ値) + COUNT(上側外れ値)
外れ値の割合: =外れ値の個数 / COUNT(データ) * 100
複数グループの比較分析
異なるグループ間でデータ分布を比較する際の詳細な分析
部門別の給与分布比較:
営業部Q1: =PERCENTILE.INC(FILTER(給与, 部門=”営業”), 0.25)
営業部Q2: =PERCENTILE.INC(FILTER(給与, 部門=”営業”), 0.5)
営業部Q3: =PERCENTILE.INC(FILTER(給与, 部門=”営業”), 0.75)
技術部Q1: =PERCENTILE.INC(FILTER(給与, 部門=”技術”), 0.25)
技術部Q2: =PERCENTILE.INC(FILTER(給与, 部門=”技術”), 0.5)
技術部Q3: =PERCENTILE.INC(FILTER(給与, 部門=”技術”), 0.75)
部門間の差異:
中央値の差: =ABS(営業部Q2 – 技術部Q2)
ばらつきの差: =ABS((営業部Q3-営業部Q1) – (技術部Q3-技術部Q1))
PERCENTILE.INC関数のよくあるエラーと対処法
#NUM!エラーの解決
PERCENTILE.INC関数で最も頻繁に発生するエラーは#NUM!エラーです。このエラーの原因と対処法を詳しく解説します。
kの値が範囲外の場合
最も一般的な原因は、k(百分位数)の値が0未満または1を超える場合です。
エラーを防ぐ基本的な検証:
=IF(AND(k>=0, k<=1),
PERCENTILE.INC(データ, k),
“エラー: kは0以上1以下で指定してください”)
より詳細なエラーメッセージ:
=IF(k<0, “エラー: 負の百分位数は指定できません”,
IF(k>1, “エラー: 100%を超える百分位数は指定できません”,
PERCENTILE.INC(データ, k)))
パーセント形式での入力ミス
ユーザーがパーセント形式を誤解して入力することがあります。
よくある間違い:
誤: =PERCENTILE.INC(データ, 75) // 75%のつもりで75と入力
正: =PERCENTILE.INC(データ, 0.75) // または75%
自動修正機能の実装:
=IF(k>1,
PERCENTILE.INC(データ, k/100), // 1より大きい場合は100で割る
PERCENTILE.INC(データ, k))
空白セルやエラー値の処理
実際のデータには空白セルやエラー値が含まれることがあり、これらが計算に影響を与える可能性があります。
空白セルの除外
データ範囲に空白セルが含まれる場合の対処
基本的な空白除外:
=PERCENTILE.INC(FILTER(範囲, 範囲<>””), k)
より堅牢な処理(数値のみを対象):
=PERCENTILE.INC(FILTER(範囲, ISNUMBER(範囲)), k)
空白を0として扱う場合:
=PERCENTILE.INC(IF(範囲=””, 0, 範囲), k)
エラー値の処理
#DIV/0!、#VALUE!などのエラーを含むデータの処理
エラーを除外した計算:
=PERCENTILE.INC(FILTER(範囲, NOT(ISERROR(範囲))), k)
エラーと空白の両方を除外:
=PERCENTILE.INC(FILTER(範囲, (ISNUMBER(範囲))* (NOT(ISERROR(範囲)))), k)
または簡潔に 数値セルだけを抽出する方法として
=PERCENTILE.INC(FILTER(範囲, ISNUMBER(範囲)), k)
エラー処理を含む完全な式:
=IFERROR(
PERCENTILE.INC(FILTER(範囲, ISNUMBER(範囲)), k),
“有効なデータがありません”)
データ不足への対応
PERCENTILE.INC関数を使用する際は、十分なデータ数が必要です。データが少ない場合の注意点と対処法を説明します。
最小データ数の確認
統計的に意味のある結果を得るために必要なデータ数
データ数のチェック:
=IF(COUNT(範囲)<5,
“警告: データ数が5未満です。結果の信頼性が低い可能性があります”,
PERCENTILE.INC(範囲, k))
推奨データ数に基づく処理:
=IF(COUNT(範囲)<10, “データ不足”,
IF(COUNT(範囲)<30, “注意: ” & TEXT(PERCENTILE.INC(範囲, k), “#,##0”),
TEXT(PERCENTILE.INC(範囲, k), “#,##0”)))
特定の百分位数に必要なデータ数
極端な百分位数(1%や99%など)を計算する場合は、より多くのデータが必要です。
必要データ数の計算:
1パーセンタイルの場合: 最低100個のデータを推奨
0.1パーセンタイルの場合: 最低1000個のデータを推奨
動的な警告:
=IF(COUNT(範囲) < 1/k,
“警告: ” & TEXT(k*100, “0”) & “パーセンタイルには最低” & TEXT(1/k, “0”) & “個のデータが推奨されます”,
PERCENTILE.INC(範囲, k))
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルでヒストグラムを重ねる!データの傾向を比較・分析する実践ガイド
エクセルで複数のヒストグラムを重ねると、データセットごとの傾向の違いを簡単に比較・分析できます。 そもそもヒストグラムとは、数値データの「ばらつき」や「分布」を可視化するグラフのこと。これを重ね合わせることで、例えば「改善前後の品質データ」…
詳しくみるFORMULATEXT関数の使い方:セルの数式を文字列として表示する方法
FORMULATEXT関数は、指定したセルに入力されている数式を文字列として表示する関数です。ワークシートの文書化、数式の監査、エラーチェック、教育資料の作成など、数式の内容を可視化して管理する場面で活用されます。例えば、複雑な財務モデルの…
詳しくみるJIS関数の使い方:半角文字を全角文字に変換する方法
JIS関数は、文字列内の半角英数字やカタカナを全角文字に変換する関数です。データの統一性を保つために有効な手段となる関数で、顧客名簿の整理や帳票作成、システム間のデータ連携など、様々な場面で活用されています。 例えば、入力フォームで半角と全…
詳しくみるエクセルでファイルを閉じるショートカットまとめ
エクセルはビジネスや日常のデータ管理に非常に便利なツールですが、効率的に作業を進めるためにはショートカットキーの活用が欠かせません。本記事では、エクセルでファイルを閉じる際に役立つショートカットをまとめてご紹介します。基本的なファイルの閉じ…
詳しくみるSUBSTITUTE関数とは?使い方や利用シーンをわかりやすく解説
SUBSTITUTE関数は、Excelにおいて特定の文字列を別の文字列に置き換えるための非常に便利な機能です。この関数を使用することで、大量のデータにおいても迅速かつ効率的に文字列の変更が可能となります。特に、データのクリーニングや編集、フ…
詳しくみるMINIFS関数の使い方:条件付き最小値を簡単に求める方法
MINIFS関数は、Microsoft 365 と Excel 2019 以降(Excel 2021/2024、Excel for the web 含む)で利用できる、条件付き最小値を求める関数です。複数の条件を指定して、その条件に合致する…
詳しくみる