「ExcelのシートにCHITEST関数があるけど、スプレッドシートでも動くの?」。Excel時代のファイルを開いたときに気になる方は多いですよね。
結論からいえば、スプレッドシートでもCHITEST関数はそのまま使えます。ただし互換性のために残されている旧関数です。新規に数式を組むならCHISQ.TEST関数への切り替えがおすすめですよ。
この記事ではスプレッドシートのCHITEST関数の書き方から使い方、CHISQ.TESTとの違いやエラー対処法まで解説しますね。
スプレッドシートのCHITEST関数とは
CHITEST関数(読み方: カイテスト関数)は、カイ二乗検定のp値を直接返す関数です。p値(ピーち:偶然その差が生じる確率)が小さいほど「有意な偏りがある」と判断できます。
名前の「CHI」はギリシャ文字のカイ(χ)に由来します。カイ二乗検定(ギリシャ文字のχを2乗した統計量を使う検定)の「χ二乗」の意味ですね。「TEST」は検定の略です。もともとExcelの初期バージョンから搭載されていた関数で、Excel 2010以降に登場したCHISQ.TEST関数の前身にあたります。
Googleスプレッドシートでも動作しますが、公式には「互換関数」という位置づけです。
CHITEST関数にできることを整理すると、次のとおりです。
- アンケートの回答に偏りがあるかを判定する(適合度検定)
- 2つのカテゴリに関連があるかを調べる(独立性検定)
- カイ二乗統計量の手計算を省いてp値を一発で求める
- Excelから移行した既存シートのCHITEST数式をそのまま動かす
NOTE
CHITEST関数はGoogleスプレッドシートの全バージョンで使えます。ExcelにもCHITEST関数があり、動作は同じですよ。
CHISQ.TESTの互換関数である理由
Excel 2010で統計関数が刷新されました。CHITEST関数はドット付きのCHISQ.TESTに置き換えられています。Googleスプレッドシートも同じ方針を採用しています。
互換関数は「古いシートが壊れないように残してある関数」です。新旧で結果はまったく同じですが、Googleの公式ヘルプではCHISQ.TESTの使用を推奨しています。
CHITEST関数の書き方
基本構文と2つの引数
=CHITEST(実測範囲, 期待範囲)
カッコの中に2つの引数を指定します。どちらも必須です。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 実測範囲(observed_range) | 必須 | 実際に観測されたデータの範囲 |
| 期待範囲(expected_range) | 必須 | 帰無仮説のもとで期待されるデータの範囲 |
引数はどちらもセル範囲で指定します。2つの範囲は同じ行数・列数でなければなりません。
TIP
CHITEST関数が内部で行っている計算は「各セルの (実測値 – 期待値)^2 / 期待値 を合計してカイ二乗統計量を求め、その右側確率を返す」という処理です。自由度は範囲のサイズから自動的に決まります。行数と列数がともに1より大きい場合は (行数 – 1) x (列数 – 1)、それ以外は 行数 x 列数 – 1 ですね。
CHITEST関数の基本的な使い方
まずはシンプルな例で使い方を確認しましょう。サイコロを60回振った結果が均等かどうかを検定します。
サンプルデータの準備
次のデータをスプレッドシートに入力します。
| A列(目) | B列(実測値) | C列(期待値) | |
|---|---|---|---|
| 1行目 | 1 | 8 | 10 |
| 2行目 | 2 | 12 | 10 |
| 3行目 | 3 | 7 | 10 |
| 4行目 | 4 | 15 | 10 |
| 5行目 | 5 | 9 | 10 |
| 6行目 | 6 | 9 | 10 |
サイコロが公正なら各目が10回ずつ出るはずです。実際の出目にばらつきがあるので、これが偶然の範囲かどうかを調べますよ。
数式を入力する
適当な空きセルに次の数式を入力します。
=CHITEST(B1:B6, C1:C6)
結果は約0.4457です。
結果を読み取る
p値が0.4457ということは、「この程度のばらつきは偶然で約44.6%の確率で起こりうる」という意味です。
一般的な有意水準5%(0.05)よりはるかに大きいので、「サイコロに偏りがあるとはいえない」と判断できます。
判定の基準はシンプルです。
- p値 < 0.05 → 有意な偏りあり(帰無仮説を棄却)
- p値 >= 0.05 → 偶然の範囲(帰無仮説を棄却できない)
TIP
有意水準は分野や目的によって異なります。医学系では0.01を使うこともあります。ビジネスの場面では0.05が一般的ですよ。
独立性検定の例
2つのカテゴリに関連があるかを調べるケースも見てみましょう。「性別と商品の好みに関連はあるか」のような分析です。
実測値(B2:C3)
| B列(商品A) | C列(商品B) | |
|---|---|---|
| 2行目(男性) | 30 | 20 |
| 3行目(女性) | 15 | 35 |
期待値(E2:F3)
期待値は「行合計 x 列合計 / 総合計」で計算します。男女とも商品Aと商品Bは45:55の比率になるので、次のとおりですね。
| E列(商品A) | F列(商品B) | |
|---|---|---|
| 2行目(男性) | 22.5 | 27.5 |
| 3行目(女性) | 22.5 | 27.5 |
=CHITEST(B2:C3, E2:F3)
結果は約0.0026です。有意水準5%を大きく下回るので、「性別と商品の好みには関連がある」と判断できますね。
TIP
独立性検定では、実測値と期待値を同じ行列構造(この例では2行2列)で渡すのがポイントです。1列に並べ替えてしまうと自由度の計算が変わり、正しい結果が得られませんよ。
CHITESTとCHISQ.TESTの違い
CHITEST関数とCHISQ.TEST関数の違いを一覧にまとめます。
| 比較項目 | CHITEST(旧) | CHISQ.TEST(新) |
|---|---|---|
| 構文 | =CHITEST(実測範囲,期待範囲) | =CHISQ.TEST(実測範囲,期待範囲) |
| 引数の数 | 2つ | 2つ(同じ) |
| 戻り値 | p値 | p値(同じ) |
| 位置づけ | 互換関数(旧) | 推奨関数(新) |
| Excel対応 | 全バージョン | 2010以降 |
結論として機能はまったく同じです。引数も結果も一致します。違いは名前だけですね。
=CHITEST(B1:B6, C1:C6)
=CHISQ.TEST(B1:B6, C1:C6)
この2つの数式はまったく同じ値を返します。
CHITEST関数を使う場面があるとすれば、古いExcelファイル(.xls形式)を受け取った場合です。ファイル内の既存数式に合わせてそのまま使えばよいでしょう。新しく数式を書くときはCHISQ.TEST関数を使ってみてくださいね。
TIP
既存シートのCHITEST数式を移行するのは簡単です。「検索と置換」(Ctrl + H)で
CHITEST(をCHISQ.TEST(に一括置換するだけでOKですよ。引数の順番も個数も変わりません。
よくあるエラーと対処法
CHITEST関数で出やすいエラーを整理しておきましょう。
#N/A エラー
実測範囲と期待範囲の行数・列数が異なると発生します。
=CHITEST(B1:B5, C1:C6) ← #N/A エラー(行数が違う)
2つの範囲が同じサイズかを確認してみてください。
#NUM! エラー
期待値に0が含まれると、内部計算で0による除算が発生して#NUM!エラーになります。
=CHITEST(B1:B3, C1:C3) ← C2が0だと #NUM! エラー
期待値が0になるカテゴリは、分析対象から除外するか他のカテゴリと統合しましょう。
#VALUE! エラー
範囲内に文字列や論理値などの数値以外が含まれているときに発生します。セル参照先がすべて数値になっているか確認してみてくださいね。
計算結果がおかしいと感じたら
エラーは出ないのに期待と違う結果になるケースもあります。
- 範囲の指定を見直す: 実測範囲と期待範囲がずれていませんか。ラベル行や合計行を巻き込んでいないか確認します
- 期待値の計算を見直す: 独立性検定では「行合計 x 列合計 / 総合計」で期待値を求める必要があります
- 期待度数が5未満のセルがないか確認: カイ二乗検定は各セルの期待度数が5以上あることが前提です。5未満があると精度が下がりますよ
NOTE
期待度数が5未満のセルがある場合は、隣接カテゴリを統合して期待度数を5以上にするか、フィッシャーの正確検定(少数データ向けの厳密な検定手法)を検討しましょう。
カイ二乗分布関数ファミリーとの使い分け
スプレッドシートには、カイ二乗分布に関連する関数がいくつかあります。CHITEST関数との違いを整理しておきましょう。
| 関数 | 何を返すか | 入力 | 主な用途 |
|---|---|---|---|
| CHITEST(この記事) | p値(右側確率) | 実測範囲, 期待範囲 | 旧互換関数でカイ二乗検定 |
| CHISQ.TEST | p値(右側確率) | 実測範囲, 期待範囲 | 新関数でカイ二乗検定(推奨) |
| CHISQ.DIST | 左側累積確率 or 確率密度 | x, 自由度, 累積 | 累積確率の計算、グラフ描画 |
| CHISQ.DIST.RT | 右側累積確率 | x, 自由度 | カイ二乗統計量からp値を算出 |
| CHISQ.INV.RT | カイ二乗値(右側から逆算) | 確率, 自由度 | 有意水準から臨界値を算出 |
使い分けのポイントをまとめます。
- Excelから来た既存シートで数式を維持したい → CHITEST(この記事の関数)
- 新規にデータ範囲から手軽にp値がほしい → CHISQ.TEST
- カイ二乗統計量を自分で計算済みでp値がほしい → CHISQ.DIST.RT
- 有意水準から臨界値を求めたい → CHISQ.INV.RT
新規に数式を書くなら、ドット付きのCHISQ.TEST関数を使うのが安心ですよ。
まとめ
CHITEST関数は、カイ二乗検定のp値をデータ範囲から直接求められる互換関数です。要点を整理しておきましょう。
- CHITEST(実測範囲, 期待範囲) でp値を返す
- 実測値と期待値の2つの範囲を指定するだけでp値が得られる
- 適合度検定(偏りの判定)にも独立性検定(関連の判定)にも使える
- p値 < 0.05 なら有意な偏りあり、p値 >= 0.05 なら偶然の範囲と判断
- CHISQ.TEST関数と引数・結果はまったく同じ
- 新規に数式を書くならドット付きのCHISQ.TESTがおすすめ
- 既存シートの置き換えは
CHITEST(→CHISQ.TEST(の一括置換でOK
Excelから移行したシートでCHITEST関数を見かけたら、この記事を参考に読み解いてみてくださいね。新しく作る数式ではCHISQ.TEST関数を使ってみましょう。
