ExcelのNORM.S.INV関数の使い方|確率からzスコアを求める方法

スポンサーリンク

「95%信頼区間のzスコアって1.96だっけ?」。統計の分析でこの値が必要になるたび、正規分布表を探していませんか。

表から値を読み取る作業は手間がかかりますよね。しかも、確率の行と列を間違えると結果がずれてしまいます。

そんなときに使うのがNORM.S.INV関数です。確率を入力するだけで、対応するzスコアを一発で返してくれます。この記事では基本の書き方から信頼区間の算出まで解説しますね。NORM.S.DIST関数との逆関数の関係もあわせて整理しました。

ExcelのNORM.S.INV関数とは?確率からzスコアを返す関数

NORM.S.INV関数(読み方: ノルム・エス・インバース)は、標準正規分布の累積確率からzスコアを逆算する関数です。「NORM」は「Normal Distribution(正規分布)」、「S」は「Standard(標準)」、「INV」は「Inverse(逆関数)」の略です。

標準正規分布とは、平均0・標準偏差1に固定された正規分布のことです。NORM.S.INV関数は「下位○○%に対応するzスコアはいくつか?」を求めるときに使います。

NORM.S.DIST関数が「zスコア → 確率」を返すのに対し、NORM.S.INV関数は「確率 → zスコア」を返す逆関数の関係です。セットで覚えておくと便利ですよ。

NORM.S.INV関数でできることをまとめると、次のとおりです。

  • 信頼区間に必要なzスコアを求める
  • 品質管理の管理限界値を算出する
  • データの異常値検出の閾値を設定する
  • 正規分布表を引く代わりにExcelで確率に対応するzスコアを求める

NOTE

NORM.S.INV関数はExcel 2010以降で使えます。Microsoft 365、Excel 2013〜2024のすべてのバージョンに対応しています。

NORM.S.INV関数の書き方(構文と引数)

基本構文

=NORM.S.INV(確率)

カッコの中に、zスコアを求めたい確率を指定します。NORM.INV関数と違い、平均と標準偏差の指定は不要です(平均0・標準偏差1に固定されているため)。

引数の説明

引数必須/任意説明
確率必須zスコアを求めたい累積確率。0より大きく1より小さい値を指定する

引数は1つだけです。シンプルに使えるのがNORM.S.INV関数の特徴ですね。

TIP

確率には0と1そのものは指定できません。0より大きく1より小さい値(例: 0.025、0.5、0.975)を指定してください。0や1を指定すると#NUM!エラーになります。

NORM.S.INV関数の基本的な使い方

代表的な確率値からzスコアを求める例を見ていきましょう。

確率0.5(50%)のzスコアを求める

=NORM.S.INV(0.5)

結果は 0 です。標準正規分布のちょうど真ん中なので、下位50%に対応するzスコアは0になります。

確率0.975のzスコアを求める(両側95%信頼区間)

=NORM.S.INV(0.975)

結果は約 1.9600 です。統計でよく使う値で、「平均から上下1.96標準偏差の範囲に全体の95%が収まる」ことを意味します。両側95%信頼区間のzスコアとして覚えておくと役立ちますよ。

確率0.025のzスコアを求める

=NORM.S.INV(0.025)

結果は約 -1.9600 です。標準正規分布は左右対称なので、0.025のzスコアは0.975のzスコアの符号を反転した値と等しくなります。

よく使う確率とzスコアの対応表

信頼区間の算出やデータ分析でよく使う値を一覧にしておくと便利です。

確率=NORM.S.INV(確率)主な用途
0.800.8416片側80%信頼区間
0.901.2816片側90%信頼区間
0.951.6449片側95%・両側90%信頼区間
0.9751.9600両側95%信頼区間(最も多用)
0.992.3263片側99%・両側98%信頼区間
0.9952.5758両側99%信頼区間

TIP

両側信頼区間のzスコアを求めるときは、信頼水準の半分を1に足した値を引数にします。たとえば両側95%なら =NORM.S.INV(1 - 0.05/2) つまり =NORM.S.INV(0.975) です。

NORM.S.INV関数の実務活用例

信頼区間を算出する

売上データの母平均の95%信頼区間を求めてみましょう。標本平均が500万円、標本標準偏差が80万円、サンプルサイズが30の場合です。

まずNORM.S.INV関数で両側95%のzスコアを求めます。

=NORM.S.INV(0.975)

結果は約 1.96 です。次に、信頼区間の上限と下限を計算します。

上限: =500 + 1.96 * 80 / SQRT(30)   → 約528.6(万円)
下限: =500 - 1.96 * 80 / SQRT(30)   → 約471.4(万円)

「母集団の平均は471.4万円〜528.6万円の範囲にある」と95%の信頼度で推定できます。SQRT関数は平方根を求める関数です。

1つの数式にまとめると、次のようになります。

上限: =500 + NORM.S.INV(0.975) * 80 / SQRT(30)
下限: =500 - NORM.S.INV(0.975) * 80 / SQRT(30)

品質管理の管理限界を設定する

製造業の品質管理では、「平均から3シグマ以内を管理範囲とする」のが一般的です。NORM.S.INV関数を使えば、任意の信頼水準に対応する管理限界を柔軟に設定できます。

たとえば99.7%の管理範囲(3シグマ相当)のzスコアを求める場合です。

=NORM.S.INV(1 - 0.003/2)

結果は約 2.9677 です。これは「3シグマ」の正確な値に近い数値ですね。

製品の重量が平均500g、標準偏差5gの場合、管理限界は次のように計算できます。

上限: =500 + NORM.S.INV(0.9985) * 5  → 約514.8g
下限: =500 - NORM.S.INV(0.9985) * 5  → 約485.2g

この範囲を外れた製品を「要検査」としてフラグを立てる運用に使えます。

データの異常値を検出する

売上データや測定データから異常値を検出するとき、「上位・下位○%を外れたら異常」という基準を設定できます。

たとえば上下2.5%を異常値とする場合(合計5%)の閾値を求めてみましょう。平均100、標準偏差15のデータを想定します。

下側閾値: =100 + NORM.S.INV(0.025) * 15  → 約70.6
上側閾値: =100 + NORM.S.INV(0.975) * 15  → 約129.4

70.6未満または129.4を超えるデータを「異常値」と判定できます。

IF関数と組み合わせて判定式を作ると、次のようになります。

=IF(OR(A2 < 100 + NORM.S.INV(0.025) * 15, A2 > 100 + NORM.S.INV(0.975) * 15), "異常", "正常")

NORM.S.DIST関数との検算で正確性を確認する

NORM.S.INV関数とNORM.S.DIST関数は逆関数の関係です。この性質を使って、計算結果の検算ができます。

=NORM.S.DIST(NORM.S.INV(0.95), TRUE)   → 0.95
=NORM.S.INV(NORM.S.DIST(1.6449, TRUE)) → 1.6449

一方の結果をもう一方に渡すと、元の値に戻ります。計算結果に不安があるときは、このパターンで検算してみてください。

よくあるエラーと対処法

#NUM!エラー

確率に0以下または1以上の値を指定すると発生します。

=NORM.S.INV(0)    → #NUM!エラー
=NORM.S.INV(1)    → #NUM!エラー
=NORM.S.INV(-0.5) → #NUM!エラー
=NORM.S.INV(1.5)  → #NUM!エラー

NORM.S.INV関数の引数は「0より大きく1より小さい値」に限定されています。0と1そのものは指定できないので注意してください。

セル参照を使う場合は、参照先の値が0〜1の範囲内か確認しましょう。

#VALUE!エラー

引数に数値以外の文字列を指定すると発生します。

=NORM.S.INV("abc")  → #VALUE!エラー

セル参照を使う場合は、参照先に数値が入っているか確認してください。空白セルを参照すると0として扱われ、#NUM!エラーになります。

#NAME?エラー

関数名のスペルミスで発生します。

=NORMS.INV(0.975)    → #NAME?エラー(ピリオドの位置が違う)
=NORM.S.INV.(0.975)  → #NAME?エラー(末尾に余計なピリオド)

正しい関数名は NORM.S.INV です。ピリオドの位置に注意してください。Excel 2007以前をお使いの場合は、旧関数名の NORMSINV を使ってください。

結果がマイナスになるケース

エラーではありませんが、確率が0.5未満のとき結果はマイナスになります。

=NORM.S.INV(0.1)   → 約-1.2816
=NORM.S.INV(0.025) → 約-1.9600

これは標準正規分布の性質どおりの正しい結果です。確率0.5が平均(zスコア = 0)に対応するので、0.5未満ならzスコアはマイナスになります。

NORM.INV関数・NORM.S.DIST関数との違い

NORM.S.INV関数とNORM.INV関数の違い

項目NORM.S.INVNORM.INV
引数の数1(確率のみ)3(確率・平均・標準偏差)
分布の指定平均0・標準偏差1に固定任意の平均・標準偏差を指定できる
使う場面zスコアを求めるとき任意の正規分布の値を逆算するとき

NORM.INV関数で平均0、標準偏差1を指定すると、NORM.S.INV関数と同じ結果になります。

=NORM.S.INV(0.975)          → 1.9600
=NORM.INV(0.975, 0, 1)      → 1.9600(同じ結果)

どちらを使えばいいか迷ったら

以下の基準で判断してみてください。

  • NORM.S.INV関数を使う場面: 信頼区間のzスコアを求めたい、統計的検定の臨界値を求めたい
  • NORM.INV関数を使う場面: 実データの平均・標準偏差がわかっていて、確率から元の値を直接逆算したい(例: 上位10%のボーダーラインが何点か)

実務で「上位○%のボーダーはいくつ?」を手軽に求めたいだけなら、NORM.INV関数のほうが便利です。平均と標準偏差を直接指定できるので、zスコアを経由する必要がありません。

NORM.S.DIST関数との逆関数の関係

方向関数入力 → 出力
順方向NORM.S.DISTzスコア → 確率
逆方向NORM.S.INV確率 → zスコア
=NORM.S.DIST(1.96, TRUE) → 0.975(z → 確率)
=NORM.S.INV(0.975)        → 1.96(確率 → z)

この逆関数の関係を使えば、計算結果の検算が簡単にできます。

旧NORMSINV関数との互換性

NORM.S.INV関数はExcel 2010で導入された「新しい名前」の関数です。旧NORMSINV関数と計算結果はまったく同じです。

項目NORM.S.INVNORMSINV(旧)
導入バージョンExcel 2010Excel 2003以前
計算結果同一同一
引数の数1(同じ)1(同じ)
今後のサポート推奨互換性のために残存

Microsoftは新しい関数名の使用を推奨しています。新規で数式を作るときはNORM.S.INV関数を使いましょう。

関連関数の一覧

関数説明
NORM.S.INV標準正規分布の逆関数(確率→zスコア)
NORM.S.DIST標準正規分布の確率(zスコア→確率)
NORM.INV正規分布の逆関数(確率→値)
NORM.DIST正規分布の確率(任意の平均・標準偏差)
NORMSINVNORM.S.INVの旧名称
STANDARDIZEデータをzスコアに変換する

まとめ

NORM.S.INV関数は、標準正規分布(平均0・標準偏差1)の累積確率からzスコアを逆算する関数です。

この記事のポイント

  • 構文は =NORM.S.INV(確率) の引数1つだけ。シンプルに使える
  • 引数の確率は0より大きく1より小さい値を指定する(0と1は指定不可)
  • 確率0.975を指定すると約1.96が返る(両側95%信頼区間のzスコア)
  • NORM.S.DIST関数の逆関数。セットで覚えると検算にも使える
  • NORM.INV関数の特殊ケース(平均0・標準偏差1を固定)で、引数が少なくシンプル

関連記事

NORM.S.INV関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。統計分析の幅が広がりますよ。

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