ExcelのCHIDIST関数の使い方|カイ二乗分布の右側確率(旧: CHISQ.DIST.RT)

スポンサーリンク

「古いExcelファイルを引き継いだら、見たことのない CHIDIST という関数が入っていた」
そんな経験はありませんか?

検定の数式に出てくるのに、関数の挿入ダイアログでは「互換性」フォルダに格納されていて、いまどき情報も少なめ。
そのまま使い続けていいのか、書き換えるべきか迷うこともありますよね。

そんなときに役立つのが、この記事で解説するCHIDIST関数です。
CHIDISTはカイ二乗(χ²)分布の右側確率(p値)を返す関数で、Excel 2007以前に標準で提供されていた古典的な統計関数です。
Excel 2010で後継のCHISQ.DIST.RT関数に置き換わりましたが、互換性のため現行のExcelでも問題なく動きます。

この記事では基本の書き方からCHISQ.DIST.RTへの置き換え方、適合度検定・独立性検定での実例、よくあるエラーまでをまとめて解説します。

CHIDIST関数とは?カイ二乗分布の右側確率を返す旧関数

CHIDIST関数(読み方: カイ・ディスト)は、カイ二乗(χ²)分布の右側確率(上側確率)を返す関数です。
「CHI」は「Chi(カイ:ギリシャ文字のχ)」、「DIST」は「Distribution(分布)」の略になります。

Excel 2007以前ではこのCHIDISTが標準の関数でしたが、Excel 2010で関数名がCHISQ.DIST.RTに変更されました。
ただし、過去のブックとの互換性を維持するためにCHIDISTもそのまま残されており、Microsoft 365を含む現行Excelでも問題なく動作します。
関数の挿入ダイアログでは「互換性」カテゴリに分類されています。

カイ二乗検定では「観測値と期待値のズレが大きいほど検定統計量が大きくなる」という性質があるため、p値は分布の 右側(上側) で評価します。
CHIDIST関数はこの「右側確率=p値」をダイレクトに返してくれる、検定実務向けの関数です。

CHIDIST関数にできることをまとめると、次のとおりです。

  • カイ二乗検定のp値を一発で求める
  • 適合度検定(アンケートなど1変数の偏り判定)のp値計算
  • 独立性検定(クロス集計の関連性判定)のp値計算
  • 等質性検定(複数集団の分布比較)のp値計算
  • Excel 2007以前のブックの計算結果をそのまま再現する

NOTE

CHIDIST関数は互換性関数として、Microsoft 365、Excel 2010〜2024のすべてのバージョンで使えます。
新規でカイ二乗検定の数式を作るときは、後継のCHISQ.DIST.RT関数を使うのが推奨です。
ただし旧CHIDIST関数も完全に同じ右側確率を返すので、既存ブックを書き換える必要はありません。

CHIDIST関数の書き方(構文と引数)

基本構文

=CHIDIST(x, 自由度)

カッコの中に、評価したいカイ二乗値と自由度をカンマで区切って指定します。
引数が2つだけのシンプルな関数で、後継のCHISQ.DIST.RTとまったく同じ書き方です。

引数の説明

引数必須/任意説明
x必須評価したいカイ二乗値(検定統計量)。0以上の値を指定する
自由度必須カイ二乗分布の自由度。1以上の整数を指定する

引数2つはどちらも必須です。省略するとエラーになります。

TIP

自由度に小数を入れた場合、整数部分だけが使われます。
たとえば3.7と指定しても、内部では3として計算されます。
整数で指定するのが基本です。

「右側確率」って何?(カイ二乗検定との関係)

ちょっとややこしく見えますが、考え方はシンプルです。

  • 右側確率: 「x以上になる確率」を返す。CHIDISTやCHISQ.DIST.RTが返す値
  • 左側確率: 「x以下になる確率」を返す。1から右側確率を引いた値

両者を足すとちょうど1になります。
たとえば自由度3で x = 2 の場合、右側は約0.5724、左側は約0.4276で合計1.0です。

カイ二乗検定では「観測したXと同じか、それより極端な値が偶然で起こる確率」を見たいので、右側確率を使います。
だからCHIDISTの結果は検定のp値そのものになるんですね。

TIP

「CHIDISTの結果 < 有意水準(0.05など)」なら帰無仮説を棄却できます。
CHIDISTの結果はp値そのものなので、判定ルールがそのまま使えます。

CHIDIST関数の基本的な使い方

ここからは具体的なカイ二乗値と自由度を使って、CHIDIST関数の動きを確認していきましょう。

カイ二乗値からp値を求める

自由度1のカイ二乗分布で、3.84以上になる確率を求めます。

=CHIDIST(3.84, 1)

結果は約 0.0500(5.00%)です。
カイ二乗値が3.84以上に出る確率は約5%ということになります。
この3.84は自由度1・有意水準5%の右側臨界値として有名な値です。
CHIDISTの結果がぴったり0.05になることが確認できますね。

別のカイ二乗値も試してみましょう。

=CHIDIST(2, 3)

結果は約 0.5724(57.24%)です。
自由度3で2以上になる確率は半分以上、というイメージですね。

=CHIDIST(0, 3)

結果は 1(100%)です。
カイ二乗分布は0以上の値しか取らないので、「0以上になる確率」は必ず100%になります。

自由度を変えると形が変わる

同じカイ二乗値(x=5)で、自由度を変えるとどうなるか見てみましょう。

=CHIDIST(5, 2)    → 約 0.0821
=CHIDIST(5, 3)    → 約 0.1718
=CHIDIST(5, 5)    → 約 0.4159
=CHIDIST(5, 10)   → 約 0.8912

自由度が大きくなるほど、カイ二乗分布のピークは右にずれていきます。
そのため同じx=5でも、自由度が大きいほうが「5以上になる確率」が大きくなる関係になります。

有意水準5%の右側臨界値を確認する

検定でよく使う「自由度ごとの右側臨界値(α=5%)」を、CHIDISTで逆算してみましょう。

自由度カイ二乗値CHIDIST(x, df)
13.840.0500
25.990.0500
37.810.0500
49.490.0500
511.070.0500

統計の教科書に載っている右側臨界値とぴたりと一致します。
普段は教科書の付表をめくる場面でも、CHIDISTで電卓代わりに使えますね。

TIP

逆に「有意水準5%の臨界値そのものを求めたい」場合はCHISQ.INV.RT関数(旧名: CHIINV)を使います。
CHIDISTが「x → p値」、CHISQ.INV.RTが「p値 → x」と覚えておくと迷いません。

CHIDIST関数とCHISQ.DIST.RT関数の違い・置き換え方

機能差はない(数値結果は同じ)

CHIDISTとCHISQ.DIST.RTは、引数も戻り値もまったく同じです。
同じ x と自由度を渡せば、両者は完全に一致した値を返します。

=CHIDIST(3.84, 1)        → 0.0500
=CHISQ.DIST.RT(3.84, 1)  → 0.0500

なので「結果が変わるかも」と心配する必要はありません。
名前が変わっただけで、計算の中身は同じ右側確率を返す関数です。

Excel 2007以前との互換性

CHIDIST関数が現行Excelでも残されている主な理由は、Excel 2007以前で作成されたブックの互換性維持です。
Excel 2007時代のテンプレートやサンプルファイル、参考書のサンプル数式はすべてCHIDISTで書かれているため、新しいExcelでも開いて計算結果が再現できる必要があります。

そのため、たとえばこんなケースでは旧関数のCHIDISTがそのまま使われています。

  • 部署で代々引き継がれている検定用テンプレート
  • 大学・専門学校時代の統計学テキストの演習ファイル
  • インターネット上で配布されている古い品質管理用Excelファイル

逆に「Excel 2007以前のExcelで開く可能性があるブック」も、CHIDISTで書いておく必要があります。
古いExcelではCHISQ.DIST.RT(ピリオド付きの新名称)を認識できないからです。

CHIDIST → CHISQ.DIST.RT 書き換え対応表

新しいExcelしか使わない環境であれば、CHIDIST関数はCHISQ.DIST.RT関数に書き換えられます。
カイ二乗系の互換性関数の対応関係をまとめると次のとおりです。

旧関数(Excel 2007以前)新関数(Excel 2010以降)機能
=CHIDIST(x, df)=CHISQ.DIST.RT(x, df)カイ二乗分布の右側確率(p値)
=CHIINV(p, df)=CHISQ.INV.RT(p, df)右側確率の逆関数(境界値)
=CHITEST(actual, expected)=CHISQ.TEST(actual, expected)データ範囲から直接p値計算

すべて引数の数も並び順も同じなので、関数名を置換するだけで書き換えが完了します。

WARNING

旧CHIDISTを「CHISQ.DIST」と書き換えると結果がひっくり返ります。
CHIDISTは「右側確率」、CHISQ.DIST(x, df, TRUE)は「左側確率」で意味が逆です。
正しい後継はCHISQ.DIST.RT(末尾にRT=Right Tailが付く)なので、混同しないようにしてください。

新規作成では CHISQ.DIST.RT を選ぶ理由

新規で数式を作るときは、CHISQ.DIST.RTを使うのが推奨です。
理由は以下の3つです。

  • Microsoftの公式ドキュメントでもCHISQ.DIST.RTが推奨されている(CHIDISTは「This function has been replaced」と注記される互換性関数扱い)
  • 関数名から「右側(RT=Right Tail)」と意図が読み取りやすい
  • 同じ統計関数のCHISQ.DIST、CHISQ.INV、CHISQ.INV.RT、CHISQ.TESTと名前のルールが揃って、関連関数として把握しやすい

ただし、既存ブックのCHIDISTを慌てて書き換える必要はありません。
動いているものを変えるとリスクのほうが高いので、保守タイミングで合わせて修正するのがおすすめです。

CHIDIST関数の実務活用パターン

適合度検定で5択アンケートのp値を求める

「5つの選択肢に均等に回答が分かれているか」を統計的に判定するのが適合度検定です。
CHIDIST関数を使えば、カイ二乗値からp値を一発で求められます。

たとえば5択アンケート(回答数合計100)の結果が次のとおりだったとします。

選択肢観測度数期待度数(均等なら)
A2820
B1520
C2220
D1820
E1720

まずカイ二乗統計量を求めます。
各カテゴリの「(観測値 – 期待値)² / 期待値」を合計する計算です。

=(28-20)^2/20 + (15-20)^2/20 + (22-20)^2/20 + (18-20)^2/20 + (17-20)^2/20

結果は 5.3 です。自由度は「カテゴリ数 – 1 = 4」になります。

次にp値を求めます。

=CHIDIST(5.3, 4)

結果は約 0.2578(25.78%)です。
有意水準5%(0.05)よりはるかに大きいので、「回答に有意な偏りがあるとはいえない」と判断できます。

TIP

観測値と期待値の範囲があるなら =SUMPRODUCT((A1:A5-B1:B5)^2/B1:B5) の1式でカイ二乗統計量がまとめて計算できます。
その結果をそのままCHIDISTに渡せば、p値計算が2ステップで完了しますよ。

独立性検定で2×2クロス集計のp値を求める

「性別と商品の好みに関連はあるか」のように、2つのカテゴリ変数の関連を調べるのが独立性検定です。

たとえば、次のクロス集計表があるとします。

 商品A商品B合計
男性302050
女性153550
合計4555100

期待度数は「行合計 × 列合計 ÷ 総合計」で求めます。
たとえば男性×商品Aの期待度数は 50 × 45 ÷ 100 = 22.5 です。
同様に計算すると、4セルの期待度数は 22.5 / 27.5 / 22.5 / 27.5 になります。

カイ二乗統計量を計算します。

=(30-22.5)^2/22.5 + (20-27.5)^2/27.5 + (15-22.5)^2/22.5 + (35-27.5)^2/27.5

結果は約 9.0909 です。自由度は (2-1) × (2-1) = 1 です。

=CHIDIST(9.0909, 1)

結果は約 0.0026(0.26%)です。
有意水準5%を大きく下回るので、「性別と商品の好みには有意な関連がある」と判断できますね。

古いテンプレートをそのまま使うとき

部署で長年使われている検定用テンプレートには、CHIDIST関数がそのまま生きていることがよくあります。
このようなテンプレートを使うときは、書き換えずにCHIDISTのまま使うのが安全です。

  • 計算結果はCHISQ.DIST.RTと完全に同じなので、結果の信頼性に問題はない
  • 数式を書き換えると、検証担当者やテンプレート管理者の確認が必要になる
  • Excel 2007以前のExcelで開く可能性が残っているなら、CHIDISTのほうが互換性が高い

NOTE

もし数式を一括でCHISQ.DIST.RTに置き換えたい場合は、Ctrl+Hの「すべて置換」で CHIDIST(CHISQ.DIST.RT( を実行できます。
ただし置換前に必ずバックアップを取り、置換後にいくつかのセルで結果を比較してから本番運用に乗せましょう。

自由度の決め方早見表

実務でカイ二乗検定を使うとき、自由度の決め方は次のように整理できます。

検定の種類自由度の式
適合度検定カテゴリ数 – 15択アンケート → 4
独立性検定(クロス集計)(行数 – 1) × (列数 – 1)2×2 → 1、3×4 → 6
等質性検定(行数 – 1) × (列数 – 1)独立性検定と同じ
分散の検定(1標本)n – 1n=20 → 19

TIP

適合度検定や独立性検定では、すべてのセルの期待度数が5以上あることが前提です。
5未満のセルがある場合はカテゴリを統合するか、フィッシャーの正確検定への切り替えを検討してくださいね。

よくあるエラーと対処法

#NUM!エラー(xや自由度が範囲外)

CHIDIST関数で最もよく見るエラーです。以下の原因が考えられます。

原因対策
xに負の値を指定したカイ二乗分布は0以上のみ。xに正の値を指定する
自由度が1未満自由度は1以上の整数を指定する
自由度が0または負の値セルの式を見直して、正の値が入るように修正する

カイ二乗分布が0以上の値しか取らないことと、自由度が1以上であることを覚えておけば対処は簡単です。

=CHIDIST(-1, 3)   → #NUM!エラー
=CHIDIST(2, 0)    → #NUM!エラー
=CHIDIST(2, 3)    → 正常(約0.5724)

#VALUE!エラー(数値以外を渡した)

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

=CHIDIST("abc", 3)  → #VALUE!エラー

セル参照を使う場合は、参照先に数値が入っているかを確認してください。
空白セルが文字列扱いになっている場合もエラーが出やすいです。

#NAME?エラー(関数名が認識されない)

関数名のスペルミスや、ピリオドの全角入力が原因で発生します。

=CHDIST(2, 3)     → #NAME?エラー(スペルミス)
=CHIDIST(2, 3)  → #NAME?エラー(カッコが全角)

CHIDISTは半角英字8文字(CHI+DIST)で、間にピリオドは入りません。
CHISQ.DIST.RTのほうにピリオドが入っているので混同しやすいですが、旧関数のCHIDISTは「ピリオドなし」と覚えてください。

結果がどう見ても変なとき

カイ二乗値や自由度が想定と違うパターンが多いです。チェックポイントを整理しました。

症状チェックポイント
p値が予想より大きいカイ二乗値が小さすぎる可能性。観測値と期待値の式を再確認
p値が予想より小さいカイ二乗値が大きすぎる可能性。サンプルサイズが大きすぎないか確認
結果が0または1ちょうどxや自由度が極端な値になっていないか確認
結果が小数で表示されないセルの書式設定を「数値」または「%」に変更

TIP

CHIDISTで出した結果をすぐ確認したいときは、別のセルで =CHISQ.DIST.RT(同じ引数) を計算して比較してみましょう。
数値が一致すれば、関数の使い方は正しく、データ側に問題がある可能性が高いです。

似たカイ二乗関数との違い・使い分け

カイ二乗系6関数の旧↔新対応表

カイ二乗分布まわりには、用途の違う関数が複数あります。
旧関数(Excel 2007以前)と新関数(Excel 2010以降)の対応関係を整理しました。

旧関数新関数返す値主な用途
CHIDISTCHISQ.DIST.RTx以上になる確率(右側)検定のp値計算
(対応なし)CHISQ.DISTx以下の累積確率 または PDF左側確率・分布のグラフ描画
CHIINVCHISQ.INV.RT右側確率 → x(逆関数)有意水準から臨界値を直接求める
(対応なし)CHISQ.INV左側累積確率 → x(逆関数)左側臨界値の算出
CHITESTCHISQ.TESTデータ範囲から直接p値観測値・期待値の配列から一発計算

旧関数は「右側系のみ」しかなく、「左側」の関数(CHISQ.DISTのTRUE形式・CHISQ.INV)はExcel 2010で初めて追加されました。
これは旧版Excelが検定実務向けの右側関数しか提供していなかった名残です。

CHIDIST と CHIINV の違い

CHIDISTとCHIINVはどちらもカイ二乗分布の関数ですが、入出力が逆です。

  • CHIDIST: x(カイ二乗値)→ 確率(p値)。検定でp値を出すときに使う
  • CHIINV: 確率(有意水準)→ x(カイ二乗値)。臨界値を逆算するときに使う

たとえば自由度4で有意水準5%の臨界値を知りたいときは次のようになります。

=CHIINV(0.05, 4)   → 約 9.488
=CHIDIST(9.488, 4) → 約 0.0500

両者は逆方向の計算で、結果がぴったり対応します。
新関数で書くなら CHISQ.INV.RT と CHISQ.DIST.RT の関係になります。

CHIDIST と CHITEST の違い

CHITESTは観測値と期待値の 範囲を渡すだけ でp値を返してくれる、もっと手早い関数です。

  • CHIDIST: 自分でカイ二乗値を計算してから p値を求める
  • CHITEST: 観測値と期待値の範囲を渡せば p値が直接返る(カイ二乗値は内部処理)

途中計算を残したいときはCHIDIST、p値だけ素早く出したいときはCHITESTを使います。
新関数でいうと CHITEST → CHISQ.TEST に対応します。

TIP

CHITEST(CHISQ.TEST)は内部で自由度も自動計算してくれるので、入力ミスが起きにくいです。
ただ「カイ二乗値そのものも結果に残したい」「途中計算を見せたい」場面ではCHIDISTやCHISQ.DIST.RTのほうが便利です。

まとめ

CHIDIST関数は、カイ二乗(χ²)分布にもとづく右側確率を返す互換性関数です。
Excel 2010でCHISQ.DIST.RT関数に名前が変わりましたが、現行のExcelでも引き続き使えます。

この記事のポイント

  • 構文は =CHIDIST(x, 自由度) の2つの引数を指定する
  • カイ二乗検定のp値(右側確率)をダイレクトに返してくれる
  • CHIDIST と CHISQ.DIST.RT は引数も戻り値もまったく同じ(数値結果は完全一致)
  • Excel 2007以前のブックや配布ファイルとの互換性のため、CHIDIST は現行Excelでも残されている
  • 新規で数式を作るときは CHISQ.DIST.RT が推奨だが、既存ブックを書き換える必要はない
  • 旧→新の置き換えで CHIDIST → CHISQ.DIST と書くと結果が逆になるので注意(正解は CHIDIST → CHISQ.DIST.RT)
  • 自由度は適合度検定なら「カテゴリ数 – 1」、独立性検定なら「(行 – 1) × (列 – 1)」
  • 期待度数が5未満のセルがあると検定の精度が落ちるため、カテゴリ統合や別検定への切り替えを検討する

CHIDIST関数の使い方がわかったら、以下の関連関数もあわせて覚えてみてください。
データ分析の幅が広がりますよ。

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