スプレッドシートのZ.TEST関数の使い方|z検定の片側P値を求める

スポンサーリンク

「スプレッドシートで手早くz検定をしたい」「ExcelのZ.TEST関数はスプレッドシートでも使えるの?」。統計検定をビジネスで使いたいときに気になるポイントですよね。

結論からいうと、GoogleスプレッドシートでもZ.TEST関数はそのまま使えます。データ範囲と仮説値を指定するだけで、z検定の片側P値を一発で返してくれる便利な関数です。ただし返ってくるのは右片側の値だけなので、両側検定をしたいときはひと工夫が必要ですよ。

この記事ではスプレッドシートのZ.TEST関数の書き方から実践例、両側P値への変換、T.TESTとの使い分け、エラーの対処法まで解説しますね。

Z.TEST関数とは?スプレッドシートでz検定のP値を求める統計関数

Z.TEST関数(読み方: ゼットテスト関数)は、1標本のz検定の右片側P値を返す関数です。標本データと仮説の母平均を指定すると、「標本平均がその仮説値よりも偶然大きくなる確率」をP値として返してくれます。

z検定(ゼットけんてい:母集団が正規分布に従うと仮定したうえで母平均を検証する検定)は、「母集団の平均がある特定の値といえるか」を調べたいときに使う基本的な統計手法です。品質検査、A/Bテスト、アンケート集計など、平均値の差を確かめたい場面で活躍しますよ。

Z.TEST関数にできることを整理すると、次のとおりです。

  • 製品の平均重量が仕様値からずれていないかを検定する
  • ある施策の前後で平均値に変化があったかを判定する
  • 標本平均と仮説値の差がどのくらい珍しいかをP値で数値化する
  • Excelから移行したシートのZ.TEST数式をそのまま動かす

NOTE

スプレッドシートには Z.TESTZTEST の2種類が用意されていますが、どちらを使ってもまったく同じ結果になります。Excelでは ZTEST が互換関数扱いですが、スプレッドシートでは両方とも現役で使える関数ですよ。

Z.TESTが返すのは「片側P値」だけ

Z.TEST関数でいちばん気をつけたいのが、返り値が右片側のP値である点です。一般的な仮説検定では両側P値を使うことが多いので、そのまま0.05と比較すると判定を間違える可能性があります。

  • 標本平均 > 仮説値 のとき → P値 < 0.5
  • 標本平均 < 仮説値 のとき → P値 > 0.5

「P値が0.9だから有意差なし」と早合点してしまう方がいますが、0.5を超えるP値は「標本平均が仮説値より小さい」ことを示しているだけです。両側検定で判定したいときは、後述する変換式を使ってくださいね。

Z.TEST関数の構文と引数の意味

基本構文

=Z.TEST(データ, 値, [標準偏差])

カッコの中に3つの引数を指定します。最初の2つは必須、3つ目は省略できますよ。

引数必須/任意説明
データ必須標本データの配列またはセル範囲
必須検定する仮説の母平均(μ0)
標準偏差任意母集団の既知標準偏差。省略時は標本標準偏差を使用

引数のポイント

データには検定したい標本のセル範囲を指定します。範囲内の数値だけが対象で、文字列や空白セルは無視されますよ。

は「このあたりに母平均があるはず」という仮説値です。たとえば製品の目標重量が500gなら500を指定します。

標準偏差は母集団の標準偏差がわかっているときに指定します。省略すると、データから計算した標本標準偏差(STDEV相当)が代わりに使われます。

TIP

Z.TEST関数は内部で「z = (標本平均 – 仮説値) / (標準偏差 / √n)」を計算し、そのzの右側確率を返しています。つまり、=1 - NORM.S.DIST(z, TRUE) と同じ結果になりますね。自分でz値を計算した場合は、NORM.S.DIST関数と組み合わせて使う方法もありますよ。

Z.TEST関数の基本的な使い方【実践例: 製品重量の品質検査】

実際のデータを使って使い方を確認しましょう。工場で生産される製品の目標重量は500gです。ランダムに10個を抽出して重量を測定し、母平均が500gといえるかを検定しますね。

サンプルデータの準備

次のデータをスプレッドシートに入力します。

 A列(製品重量 g)
2行目502.3
3行目498.7
4行目503.5
5行目501.2
6行目499.8
7行目504.1
8行目500.9
9行目502.8
10行目501.5
11行目503.0

標本の平均は約501.78g、標準偏差は約1.80gです。目標値の500gから少しずれているように見えますが、この差が偶然の範囲かどうかを検定していきますね。

数式を入力する

適当な空きセル(たとえばC2)に次の数式を入力します。

=Z.TEST(A2:A11, 500)

結果は約0.000879です。

結果を読み取る

返ってきた0.000879は右片側P値です。「標本平均が今回測定された501.78g以上になる確率が約0.088%」という意味ですね。

この値は有意水準5%(0.05)をはるかに下回るので、右片側検定なら「母平均は500gより大きい」と判断できます。ただし「ずれているかどうか」を調べたい品質検査では、両側検定を使うのが一般的ですよ。

両側P値を求める場合

両側検定で判定したいときは、次の変換式を使います。

=2 * MIN(Z.TEST(A2:A11, 500), 1 - Z.TEST(A2:A11, 500))

結果は約0.001758です。両側P値でも有意水準5%を大きく下回るので、「母平均が500gからずれている」と判断できますね。

TIP

Z.TEST関数の第3引数を省略すると、データから計算した標本標準偏差(STDEV)が使われます。製品のばらつきが過去のデータから既知なら、=Z.TEST(A2:A11, 500, 2) のように明示的に指定した方が精度の高い検定ができますよ。

片側検定と両側検定の違い・使い分け

z検定には片側検定と両側検定の2種類があります。目的に応じて選ぶのがポイントです。

片側検定(右片側)

対立仮説が「母平均は仮説値より大きい」のとき使います。

  • 帰無仮説 H0: μ = μ0
  • 対立仮説 H1: μ > μ0
  • 数式: =Z.TEST(データ, 値)

使用例: 「改善後の平均売上は改善前より大きいか」

片側検定(左片側)

対立仮説が「母平均は仮説値より小さい」のとき使います。

  • 対立仮説 H1: μ < μ0
  • 数式: =1 - Z.TEST(データ, 値)

使用例: 「改善後の不良品率は改善前より小さいか」

両側検定

対立仮説が「母平均は仮説値と異なる(大きいか小さいかは問わない)」のとき使います。

  • 対立仮説 H1: μ ≠ μ0
  • 数式: =2 * MIN(Z.TEST(データ, 値), 1 - Z.TEST(データ, 値))

使用例: 「製品の平均重量が目標値からずれていないか」

判定の基準

どの検定も判定の仕方はシンプルです。

  • P値 < 有意水準(通常0.05) → 帰無仮説を棄却(有意差あり)
  • P値 >= 有意水準 → 帰無仮説を棄却できない(有意差とはいえない)

NOTE

「帰無仮説を棄却できない」ことと「帰無仮説が正しい」ことは別の話です。P値が大きいからといって「母平均は仮説値に等しい」と断定することはできませんよ。

Z.TEST関数 vs T.TEST関数の使い分け

z検定とt検定はどちらも平均値に関する検定ですが、使い分けのポイントがあります。

観点Z.TESTT.TEST
検定の種類z検定(1標本)t検定(主に2標本の平均差)
母標準偏差既知を前提(省略可能)不要
標本サイズ大標本向け(n >= 30目安)小標本でも可
比較対象1標本 vs 仮説値2標本間の平均差
返り値片側P値引数で片側/両側指定可

使い分けの目安

  • 母集団の標準偏差が既知 or 大標本(n >= 30) → Z.TEST
  • 小標本 or 母集団の標準偏差が不明T.TEST
  • 2グループの平均を比較したいT.TEST

現場のビジネスデータでは母標準偏差がわかっていることは少ないので、実務ではT.TEST関数を使う場面の方が多いかもしれません。ただし標本サイズが大きく、過去データから標準偏差がわかっている品質管理などでは、Z.TEST関数が適していますよ。

TIP

平均値の検定以外にも、分散を比較したいならF.TEST関数、カテゴリの偏りを検定したいならCHISQ.TEST関数と使い分けます。目的に合った検定関数を選んでみてくださいね。

Z.TEST関数でよく起きるエラーと対処法

#N/A エラー

データ範囲が空だったり、指定したセル範囲に有効な数値が1つもなかったりすると発生します。

=Z.TEST(A2:A11, 500)   ← A2:A11が空だと #N/A エラー

範囲内に数値が入っているかを確認してみてください。

#NUM! エラー

データのばらつきがまったくない(全値が同一でSTDEVが0になる)ときや、計算過程で数値が扱えない範囲になると発生します。

=Z.TEST(A2:A11, 500)   ← A2:A11が全部500だと #NUM! エラー

標本に多様性がないとz検定自体が意味をなさないので、データを見直してみてくださいね。

#VALUE! エラー

引数に文字列を渡したり、第3引数の標準偏差に0以下の値を指定したりすると発生します。

=Z.TEST(A2:A11, 500, 0)   ← 標準偏差が0だと #VALUE! エラー

標準偏差は必ず正の値を指定してください。

計算結果がおかしいと感じたら

エラーは出ないのに期待と違う結果になるケースもあります。

  1. P値が0.5を超えている: 標本平均が仮説値より小さい可能性があります。左片側検定なら =1 - Z.TEST(...) で判定しましょう
  2. 両側検定で判定したいのに0.05と比較している: Z.TESTは右片側P値を返すだけです。両側検定なら =2 * MIN(Z.TEST(...), 1 - Z.TEST(...)) を使います
  3. 標本サイズが小さい(n < 30): z検定ではなくT.TEST関数の使用を検討してください

Z.TEST関数に関するよくある質問

Q1. Z.TEST関数の結果が0.5前後になるのはなぜ?

標本平均が仮説値とほぼ同じときに起こる正常な結果です。「標本平均が仮説値以上になる確率」が半々なので、P値は0.5付近になります。この場合は有意差なしと判断してOKですよ。

Q2. 両側検定をしたい場合の数式は?

次の変換式を使います。

=2 * MIN(Z.TEST(範囲, 値), 1 - Z.TEST(範囲, 値))

Z.TEST関数が片側P値しか返さないので、小さい方の片側確率を2倍することで両側P値を計算できます。

Q3. 母標準偏差がわからないときはどうすればいい?

第3引数を省略すれば、データから計算した標本標準偏差が自動的に使われます。ただし標本サイズが小さい(n < 30)場合は、T.TEST関数の使用をおすすめします。

Q4. ExcelのZ.TEST関数と結果は同じ?

同じデータと同じ引数を指定すれば、結果は完全に一致します。Excelから移行したシートのZ.TEST数式もそのまま動きますよ。

Q5. ZTEST関数(ドットなし)との違いは?

スプレッドシートでは Z.TESTZTEST はまったく同じ結果を返します。互換性のために両方用意されているだけなので、どちらを使ってもかまいません。新規に数式を書くなら、Excelとの統一感もあるドット付きの Z.TEST の方が読みやすいでしょう。

Q6. カイ二乗検定をしたい場合は?

カテゴリの偏りや独立性を検定したいときは、CHISQ.TEST関数CHITEST関数を使います。用途が違うので、目的に合った関数を選んでみてください。

まとめ

Z.TEST関数は、1標本のz検定の片側P値をデータ範囲から直接求められる便利な関数です。要点を整理しておきましょう。

  • Z.TEST(データ, 値, [標準偏差]) で右片側P値を返す
  • 標本データと仮説値を指定するだけでP値が得られる
  • 返り値は右片側P値なので、両側検定には変換式が必要
  • 両側P値は =2 * MIN(Z.TEST(範囲, 値), 1 - Z.TEST(範囲, 値)) で計算する
  • P値 < 0.05 なら有意差あり、P値 >= 0.05 なら有意差とはいえない
  • 小標本や母標準偏差不明ならT.TEST関数を検討する
  • Z.TESTZTEST はスプレッドシートではまったく同じ関数

品質検査やA/Bテストで1標本の平均値を検定したいときは、Z.TEST関数を使ってみてくださいね。2グループの比較ならT.TEST関数、分散の比較ならF.TEST関数、カテゴリの偏りならCHISQ.TEST関数と、目的に合わせて統計関数を使い分けていきましょう。

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