「ある確率に対応する値って、Excelで逆算できないかな?」。こんな場面に出くわしたことはありませんか?
NORM.DIST関数で「ある値以下になる確率」はわかったけれど、逆に「確率○%に対応する値はいくつ?」を求めるのは手計算では大変ですよね。正規分布表を逆引きするのは現実的ではありません。
そんなときに使うのがExcelのNORM.INV関数です。この記事では基本の書き方から実務での活用例まで解説します。NORM.DIST関数との逆関数の関係やNORM.S.INV関数との違いもあわせて整理しました。
ExcelのNORM.INV関数とは?確率から値を逆算する関数
NORM.INV関数(読み方: ノルム・インバース)は、正規分布の累積確率から対応する値を逆算する関数です。「NORM」は「Normal Distribution(正規分布)」、「INV」は「Inverse(逆関数)」の略です。
ひとことで言うと、NORM.DIST関数の「逆」の計算をする関数です。NORM.DIST関数が「値→確率」を求めるのに対し、NORM.INV関数は「確率→値」を求めます。
- NORM.DIST関数: 「80点以下になる確率は89.4%」(値→確率)
- NORM.INV関数: 「上位10%に入る点数は何点?」(確率→値)
このように、知りたい方向が逆のときにNORM.INV関数を使います。たとえば以下のような場面で活躍しますよ。
- 品質管理で「下位5%にあたる製品重量」を逆算して規格下限値を設定する
- 「達成確率80%」の売上水準を逆算して現実的な目標値を決める
- 人事評価で「上位20%」の境界スコアを求めてA評価の基準値を設定する
NOTE
NORM.INV関数はExcel 2010以降で使えます。Microsoft 365、Excel 2013〜2024のすべてのバージョンに対応しています。
NORM.INV関数の書き方(構文と引数)
基本構文
=NORM.INV(確率, 平均, 標準偏差)
カッコの中に、逆算したい確率値、分布の平均と標準偏差を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 確率 | 必須 | 逆算したい累積確率。0より大きく1より小さい値(0 < 確率 < 1) |
| 平均 | 必須 | 正規分布の平均値 |
| 標準偏差 | 必須 | 正規分布の標準偏差。0より大きい値を指定する |
3つの引数はすべて必須です。省略するとエラーになります。
TIP
確率に0や1を指定すると#NUM!エラーになります。「ちょうど0%」や「ちょうど100%」に対応する値は、正規分布ではマイナス無限大・プラス無限大になるためです。
NORM.DIST関数との逆関数の関係
NORM.INV関数とNORM.DIST関数は逆関数の関係にあります。次の式が成り立ちますよ。
NORM.DIST(x, 平均, 標準偏差, TRUE) = p
↔ NORM.INV(p, 平均, 標準偏差) = x
つまり、NORM.DISTで求めた確率をNORM.INVに入れると元の値に戻ります。この関係を使って検算ができるので覚えておくと便利です。
NORM.INV関数の基本的な使い方
テストの点数データでNORM.INV関数を使ってみましょう。クラス全体の平均点が65点、標準偏差が12点だとします。
上位10%に入る点数を求める
「上位10%」は「下位90%(=確率0.9)」の境界値です。
=NORM.INV(0.9, 65, 12)
結果は約 80.4点 です。つまり80.4点以上を取れば、クラスの上位10%に入ることがわかります。
下位5%の閾値を求める
赤点ラインの目安として「下位5%」の境界を求めてみます。
=NORM.INV(0.05, 65, 12)
結果は約 45.3点 です。45.3点以下の生徒は全体の下位5%に入ります。
検算(NORM.DISTとの往復)
NORM.INVで求めた値をNORM.DISTに戻すと、元の確率になるか確認できます。
=NORM.DIST(NORM.INV(0.9, 65, 12), 65, 12, TRUE)
結果は 0.9 です。きちんと元の確率に戻りました。計算結果に不安があるときは、この方法で検算してみてください。
TIP
「上位○%」を求めるときは確率を「1 – 上位の割合」で指定します。上位10%なら0.9、上位5%なら0.95、上位1%なら0.99です。
NORM.INV関数の実践的な使い方・応用例
品質管理で規格値を逆算する
製品の重量が正規分布に従い、平均500g、標準偏差5gだとします。「下位2.5%にあたる重量」と「上位2.5%にあたる重量」を求めて管理限界値を設定してみましょう。
=NORM.INV(0.025, 500, 5)
結果は約 490.2g(管理下限値: LCL)です。
=NORM.INV(0.975, 500, 5)
結果は約 509.8g(管理上限値: UCL)です。
この2つの値の範囲に全体の95%が収まります。範囲外の製品を不良品として検出する基準に使えますよ。
NOTE
NORM.DIST関数の記事では「規格内に収まる確率」を求めました。NORM.INV関数では逆に「確率から規格値そのもの」を逆算できます。セットで覚えておくと品質管理の幅が広がりますよ。
売上目標を確率から設定する
過去データから月間売上の平均が800万円、標準偏差が120万円だとします。「達成確率80%の売上水準」を求めてみましょう。
達成確率80%ということは「この値以下になる確率が80%」なので、確率0.8を指定します。
=NORM.INV(0.8, 800, 120)
結果は約 901万円 です。901万円を目標にすれば、過去の実績パターンでは80%の月で達成できる水準です。
厳しめの目標として達成確率50%も確認してみます。
=NORM.INV(0.5, 800, 120)
結果は 800万円(=平均値)です。確率50%はちょうど平均に一致します。目標のストレッチ度合いを確率で比較できるので、予算設定の根拠として活用できますよ。
評価ランクの境界値を自動計算する
従業員の評価スコアが平均70点、標準偏差10点の正規分布に従うとします。「上位20%をA評価、下位20%をC評価」とする場合の境界値を求めます。
A評価の下限(上位20% = 下位80%の境界):
=NORM.INV(0.8, 70, 10)
結果は約 78.4点 です。78.4点以上がA評価となります。
C評価の上限(下位20%の境界):
=NORM.INV(0.2, 70, 10)
結果は約 61.6点 です。61.6点以下がC評価となります。
このように確率ベースで境界値を自動計算すれば、評価者の主観に頼らない基準を作れます。
よくあるエラーと対処法
#NUM!エラー
NORM.INV関数で最もよく見るエラーです。以下の原因が考えられます。
| 原因 | 対策 |
|---|---|
| 確率に0以下または1以上の値を指定した | 0より大きく1より小さい値を指定する |
| 標準偏差に0以下の値を指定した | 標準偏差は0より大きい正の値を指定する |
=NORM.INV(0, 50, 10) → #NUM!エラー(確率が0)
=NORM.INV(1, 50, 10) → #NUM!エラー(確率が1)
=NORM.INV(0.5, 50, 0) → #NUM!エラー(標準偏差が0)
=NORM.INV(0.5, 50, 10) → 正常(50)
確率に0や1を指定できないのは、正規分布で「確率0%の値」はマイナス無限大、「確率100%の値」はプラス無限大になるためです。実務では0.001〜0.999の範囲で使えば問題ありません。
#VALUE!エラー
引数に数値以外の文字列を指定すると発生します。
=NORM.INV("abc", 50, 10) → #VALUE!エラー
セル参照を使う場合は、参照先に数値が入っているか確認してください。
#NAME?エラー
関数名のスペルを間違えると発生します。「NORM.INV」のピリオドを忘れて「NORMINV」と入力した場合、Excel 2010以降では旧関数名として認識されるためエラーにはなりません。ただし、それ以外のスペルミス(「NORM.IN」など)では#NAME?エラーになります。
=NORM.IN(0.5, 50, 10) → #NAME?エラー(スペルミス)
TIP
関数名を入力するときはExcelの候補リスト(オートコンプリート)を活用すると、スペルミスを防げますよ。
NORM.S.INV関数・旧NORMINV関数との違い・使い分け
NORM.INV関数とNORM.S.INV関数の違い
NORM.S.INV関数は「標準正規分布」(平均0、標準偏差1)に特化した関数です。
| 項目 | NORM.INV | NORM.S.INV |
|---|---|---|
| 引数の数 | 3(確率, 平均, 標準偏差) | 1(確率のみ) |
| 分布の指定 | 任意の平均・標準偏差を指定できる | 平均0・標準偏差1に固定 |
| 戻り値 | 指定した正規分布での値 | zスコア(標準化された値) |
| 使う場面 | 実データの値を逆算するとき | zスコアを求めるとき |
NORM.INV関数で平均0、標準偏差1を指定すると、NORM.S.INV関数と同じ結果になります。
=NORM.INV(0.975, 0, 1) → 1.96
=NORM.S.INV(0.975) → 1.96(同じ結果)
どちらを使えばいいか迷ったら
以下の基準で判断してみてください。
- NORM.INV関数を使う場面: 実データの平均・標準偏差がわかっていて、具体的な値(点数、重量、売上額など)を逆算したい
- NORM.S.INV関数を使う場面: zスコア(標準化された値)を求めたい、または統計の教科書的な計算をしたい
実務ではNORM.INV関数のほうが使う場面が多いです。引数が確率1つだけのNORM.S.INV関数は、統計学の演習向けですよ。
旧NORMINV関数との互換性
NORM.INV関数はExcel 2010で導入された「新しい名前」の関数です。旧NORMINV関数と計算結果はまったく同じです。
| 項目 | NORM.INV | NORMINV(旧) |
|---|---|---|
| 導入バージョン | Excel 2010 | Excel 2003以前 |
| 計算結果 | 同一 | 同一 |
| 今後のサポート | 推奨 | 互換性のために残存 |
新規で数式を作るときはNORM.INV関数を使いましょう。旧NORMINVで作られたブックはそのまま使い続けて大丈夫です。
関連関数の一覧
| 関数 | 説明 |
|---|---|
| NORM.DIST | 正規分布の確率を求める(値→確率) |
| NORM.S.DIST | 標準正規分布の確率を求める(zスコア→確率) |
| NORM.INV | 正規分布の逆関数(確率→値)※この記事 |
| NORM.S.INV | 標準正規分布の逆関数(確率→zスコア) |
| NORMINV | NORM.INVの旧名称 |
| STANDARDIZE | データをzスコアに変換する |
| AVERAGE | 平均値を求める |
| STDEV.P | 母集団の標準偏差を求める |
まとめ
NORM.INV関数は、正規分布の累積確率から対応する値を逆算する関数です。
この記事のポイント
- 構文は
=NORM.INV(確率, 平均, 標準偏差)の3つの引数を指定する - 確率は0より大きく1より小さい値(0 < 確率 < 1)を指定する
- NORM.DIST関数の逆関数。「確率→値」を求めるときに使う
- 品質管理の規格値設定・売上目標の逆算・評価基準の算出で活躍する
- NORM.S.INV関数は標準正規分布(平均0・標準偏差1)に特化した関数
関連記事
NORM.INV関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。データ分析の幅が広がりますよ。
