「スプレッドシートで手早く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.TESTとZTESTの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.TEST | T.TEST |
|---|---|---|
| 検定の種類 | z検定(1標本) | t検定(主に2標本の平均差) |
| 母標準偏差 | 既知を前提(省略可能) | 不要 |
| 標本サイズ | 大標本向け(n >= 30目安) | 小標本でも可 |
| 比較対象 | 1標本 vs 仮説値 | 2標本間の平均差 |
| 返り値 | 片側P値 | 引数で片側/両側指定可 |
使い分けの目安
現場のビジネスデータでは母標準偏差がわかっていることは少ないので、実務では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! エラー
標準偏差は必ず正の値を指定してください。
計算結果がおかしいと感じたら
エラーは出ないのに期待と違う結果になるケースもあります。
- P値が0.5を超えている: 標本平均が仮説値より小さい可能性があります。左片側検定なら
=1 - Z.TEST(...)で判定しましょう - 両側検定で判定したいのに0.05と比較している: Z.TESTは右片側P値を返すだけです。両側検定なら
=2 * MIN(Z.TEST(...), 1 - Z.TEST(...))を使います - 標本サイズが小さい(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.TEST と ZTEST はまったく同じ結果を返します。互換性のために両方用意されているだけなので、どちらを使ってもかまいません。新規に数式を書くなら、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.TESTとZTESTはスプレッドシートではまったく同じ関数
品質検査やA/Bテストで1標本の平均値を検定したいときは、Z.TEST関数を使ってみてくださいね。2グループの比較ならT.TEST関数、分散の比較ならF.TEST関数、カテゴリの偏りならCHISQ.TEST関数と、目的に合わせて統計関数を使い分けていきましょう。
