「分散分析の結果からp値を自分で出したいけど、どの関数を使えばいいんだろう」
「古いExcelファイルに FDIST という関数が出てきた。新しいExcelでも動くのか不安」
そんな場面に遭遇したことはありませんか?
ANOVA(分散分析)やF検定の現場では、F値からp値を直接求めたい局面がよくあります。
そんなときに役立つのが、この記事で解説するFDIST関数です。
FDISTはF分布の右側累積確率(p値)を返す関数で、Excel 2007以前から使われてきた統計関数です。
Excel 2010で後継のF.DIST.RT関数に置き換わりましたが、互換性のため現行のExcelでも問題なく動きます。
この記事では基本の書き方からF.DIST.RTへの置き換え方、ANOVAやF検定での実例、よくあるエラーまでをまとめて解説します。
FDIST関数とは?F分布の右側確率を返す旧関数
FDIST関数(読み方: エフ・ディスト)は、F分布の右側累積確率(上側確率)を返す関数です。
「F」は統計学者ロナルド・フィッシャーにちなんだ「F分布(F Distribution)」、「DIST」は「Distribution(分布)」の略です。
Excel 2007以前ではFDISTが標準の関数でしたが、Excel 2010で関数名がF.DIST.RTに変更されました。
ただし、過去のブックとの互換性を維持するためにFDISTはそのまま残されており、Microsoft 365を含む現行Excelでも問題なく動作します。
関数の挿入ダイアログでは「互換性」カテゴリに分類されています。
F検定や分散分析(ANOVA)では、「群間のばらつきが群内のばらつきに対してどれくらい大きいか」をF値で表します。
F値が大きいほど「群間の差が偶然では説明しにくい」と判断できます。
そのためp値は分布の右側(上側)で評価します。
FDIST関数はこの「右側確率=p値」をダイレクトに返す、検定実務向けの関数です。
FDIST関数でできることをまとめると、次のとおりです。
- 分散分析(ANOVA)のF値からp値を一発で求める
- 2つの母集団の分散差を比較するF検定でp値を計算する
- 回帰分析のF統計量から有意性を判定する
- Excel 2007以前のブックの計算結果をそのまま再現する
- 教科書のF分布表を引かずに、任意のF値・自由度の右側確率を直接計算する
NOTE
FDIST関数は互換性関数として、Microsoft 365、Excel 2010〜2024のすべてのバージョンで使えます。
新規でF分布の計算式を作るときは、後継のF.DIST.RT関数の使用が推奨です。
ただしFDISTも完全に同じ右側確率を返すので、既存ブックを書き換える必要はありません。
FDIST関数の書き方(構文と引数)
基本構文
=FDIST(x, 自由度1, 自由度2)
カッコの中に、評価したいF値と2つの自由度をカンマで区切って指定します。
引数が3つだけのシンプルな関数で、後継のF.DIST.RTとまったく同じ書き方です。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | 評価したいF値(検定統計量)。0以上の値を指定する |
| 自由度1 | 必須 | 分子の自由度。1以上の整数を指定する |
| 自由度2 | 必須 | 分母の自由度。1以上の整数を指定する |
引数3つはすべて必須です。省略するとエラーになります。
TIP
自由度に小数を指定した場合、整数部分だけが使われます。
たとえば4.7と指定しても、内部では4として計算されます。
整数で指定するのが基本です。
「右側確率」って何?(F検定との関係)
ちょっとややこしく見えますが、考え方はシンプルです。
- 右側確率: 「x以上になる確率」を返す。FDISTやF.DIST.RTが返す値
- 左側確率: 「x以下になる確率」を返す。1から右側確率を引いた値
両者を足すとちょうど1になります。
たとえば自由度4と20でx=1の場合、右側は約0.4393、左側は約0.5607で合計1.0です。
ANOVAやF検定では「観測したF値と同じか、それより大きい値が偶然で起こる確率」を見ます。
そのため右側確率を使います。
FDISTの結果は検定のp値そのものになります。
TIP
「FDISTの結果 < 有意水準(0.05など)」なら帰無仮説を棄却できます。
FDISTの結果はp値そのものなので、判定ルールがそのまま使えます。
FDIST関数の基本的な使い方
ここからは具体的なF値と自由度を使って、FDIST関数の動きを確認していきましょう。
F値からp値を求める
分子の自由度4・分母の自由度20のF分布で、F値が3.8以上になる確率を求めます。
=FDIST(3.8, 4, 20)
結果は約 0.0188(1.88%)です。
F値が3.8以上に出る確率は約1.88%で、有意水準5%を下回っています。
このF値は「偶然では出にくい」と判断できる水準です。
別のF値も試してみましょう。
=FDIST(1, 4, 20)
結果は約 0.4308(43.08%)です。
F値が1付近のときは群間と群内のばらつきが同程度なので、p値も大きくなります。
=FDIST(0, 4, 20)
結果は 1(100%)です。
F分布は0以上の値しか取らないので、「0以上になる確率」は必ず100%になります。
自由度を変えると形が変わる
同じF値(x=3)で、自由度の組み合わせを変えるとどうなるか見てみましょう。
=FDIST(3, 1, 10) → 約 0.1138
=FDIST(3, 4, 10) → 約 0.0716
=FDIST(3, 4, 20) → 約 0.0432
=FDIST(3, 4, 100) → 約 0.0226
分母の自由度(サンプルサイズに対応)が大きくなるほど、同じF値でもp値は小さくなります。
「サンプルが多いほど、同じ程度の差でも統計的に意味がある」と判断される感覚と一致します。
有意水準5%の右側臨界値を確認する
検定でよく使う「自由度ごとの右側臨界値(α=5%)」を、FDISTで逆算してみましょう。
| 自由度1 / 自由度2 | F値 | FDIST(x, df1, df2) |
|---|---|---|
| 1 / 10 | 4.965 | 0.0500 |
| 2 / 10 | 4.103 | 0.0500 |
| 3 / 10 | 3.708 | 0.0500 |
| 4 / 10 | 3.478 | 0.0500 |
| 4 / 20 | 2.866 | 0.0500 |
統計の教科書に載っているF分布表の値とぴたりと一致します。
普段は教科書の付表をめくる場面でも、FDISTを電卓代わりに使えますね。
TIP
「有意水準5%の臨界値そのものを求めたい」場合はF.INV.RT関数(旧名: FINV)を使います。
FDISTが「F値 → p値」、FINVが「p値 → F値」と覚えておくと迷いません。
FDIST関数の実務活用パターン
一元配置分散分析(ANOVA)でp値を求める
「3つ以上の群の平均値に差があるか」を統計的に判定するのが一元配置分散分析(One-way ANOVA)です。
分散分析表からF値を計算したあと、FDIST関数でp値を一発で求められます。
たとえば、3つの製造ラインの不良率を比較したANOVAの分散分析表が次のとおりだったとします。
| 変動要因 | 平方和 | 自由度 | 平均平方 |
|---|---|---|---|
| 群間 | 24.0 | 2 | 12.0 |
| 群内(誤差) | 36.0 | 12 | 3.0 |
| 合計 | 60.0 | 14 | — |
F値は「群間の平均平方 ÷ 群内の平均平方」で求めます。
=12.0 / 3.0
結果は 4.0 です。自由度1(分子)は2、自由度2(分母)は12です。
次にp値を求めます。
=FDIST(4.0, 2, 12)
結果は約 0.0466(4.66%)です。
有意水準5%(0.05)をわずかに下回っているので、「3つの製造ラインで不良率に有意な差がある」と判断できます。
TIP
Excelの「データ分析」ツール(分析ツールアドイン)でANOVAを実行すると、F値とp値は自動で出力されます。
ただしF値だけ別途計算した場合や、レポート用に追加検証する場合は、FDIST関数で素早く確認できます。
2群の分散の差をF検定で判定する
「2つの母集団の分散が等しいか」を調べるのがF検定です。
製造機械AとBで部品サイズの分散を比較したいとき、観測したF値(大きい分散 ÷ 小さい分散)からp値を求めます。
機械Aと機械Bの分散がそれぞれ5.4と2.0、サンプルサイズが各16個(自由度15)だったとしましょう。
=5.4 / 2.0
F値は 2.7 です。両側F検定なので、片側の確率を2倍します。
=FDIST(2.7, 15, 15) * 2
結果は約 0.0567(5.67%)です。
有意水準5%をわずかに上回っているので、「2つの分散に有意な差があるとはいえない」と判断します。
NOTE
F検定では分子と分母を逆にするとF値が逆数になり、p値も変わります。
慣例として「大きい分散 ÷ 小さい分散」でF値を1以上にし、片側確率の2倍を両側p値として扱います。
回帰分析の有意性検定でF値を評価する
回帰分析では「モデル全体が有意に説明力を持つか」をF統計量で判定します。
ExcelのLINEST関数や分析ツールで得たF値と自由度から、FDISTでp値を確認できます。
たとえば、説明変数3個・サンプル数50の重回帰分析でF値が12.5だったとします。
自由度1は「説明変数の数=3」、自由度2は「n – 説明変数の数 – 1=46」です。
=FDIST(12.5, 3, 46)
結果は約 0.00000406(4.06×10⁻⁶)です。
有意水準5%を大きく下回り、「回帰モデル全体は統計的に有意」と判断できます。
古いテンプレートをそのまま使うとき
部署で長年使われてきた品質管理用テンプレートには、FDIST関数がそのまま残っていることがよくあります。
このようなテンプレートは、書き換えずにFDISTのまま使うのが安全です。
- 計算結果はF.DIST.RTと完全に同じなので、結果の信頼性に問題はない
- 数式を書き換えると、検証担当者やテンプレート管理者の確認が必要になる
- Excel 2007以前で開く可能性が残っているなら、FDISTのほうが互換性が高い
NOTE
数式を一括でF.DIST.RTに置き換えたい場合は、Ctrl+Hの「すべて置換」で
FDIST(→F.DIST.RT(を実行できます。
置換前に必ずバックアップを取り、置換後にいくつかのセルで結果を比較してから本番運用に乗せましょう。
FDIST関数とF.DIST.RT関数の違い・置き換え方
機能差はない(数値結果は同じ)
FDISTとF.DIST.RTは、引数も戻り値もまったく同じです。
同じxと2つの自由度を渡せば、両者は完全に一致した値を返します。
=FDIST(3.8, 4, 20) → 0.0188
=F.DIST.RT(3.8, 4, 20) → 0.0188
「結果が変わるかも」と心配する必要はありません。
名前が変わっただけで、計算の中身は同じ右側確率です。
Excel 2007以前との互換性
FDISTが現行Excelでも残されている主な理由は、Excel 2007以前で作成されたブックの互換性維持です。
Excel 2007時代のテンプレートや参考書のサンプル数式はFDISTで書かれているため、新しいExcelでも計算結果が再現できる必要があります。
旧関数のFDISTがそのまま使われているケースをいくつか挙げます。
- 部署で代々引き継がれている分散分析・F検定用テンプレート
- 大学・専門学校時代の統計学テキストの演習ファイル
- インターネット上で配布されている古い品質管理用Excelファイル
逆に「Excel 2007以前で開く可能性があるブック」も、FDISTで書いておく必要があります。
古いExcelではF.DIST.RT(ピリオド付きの新名称)を認識できないからです。
FDIST → F.DIST.RT 書き換え対応表
新しいExcelしか使わない環境であれば、FDIST関数はF.DIST.RTに書き換えられます。
F分布系の互換性関数の対応関係をまとめると次のとおりです。
| 旧関数(Excel 2007以前) | 新関数(Excel 2010以降) | 機能 |
|---|---|---|
| =FDIST(x, df1, df2) | =F.DIST.RT(x, df1, df2) | F分布の右側確率(p値) |
| =FINV(p, df1, df2) | =F.INV.RT(p, df1, df2) | 右側確率の逆関数(境界値) |
| =FTEST(array1, array2) | =F.TEST(array1, array2) | 2標本のF検定の両側p値 |
すべて引数の数も並び順も同じです。関数名を置換するだけで書き換えが完了します。
WARNING
旧FDISTを「F.DIST」と書き換えると結果がひっくり返ります。
FDISTは「右側確率」、F.DIST(x, df1, df2, TRUE)は「左側累積確率」で意味が逆です。
正しい後継はF.DIST.RT(末尾にRT=Right Tailが付く)です。混同しないようにしてください。
新規作成では F.DIST.RT を選ぶ理由
新規で数式を作るときは、F.DIST.RTを使うのが推奨です。
理由は以下の3つです。
- Microsoftの公式ドキュメントでF.DIST.RTが推奨されている(FDISTは「This function has been replaced」と注記される互換性関数扱い)
- 関数名から「右側(RT=Right Tail)」と意図が読み取りやすい
- 同じ統計関数のF.DIST、F.INV、F.INV.RT、F.TESTと名前のルールが揃っており、関連関数として把握しやすい
既存ブックのFDISTを慌てて書き換える必要はありません。
動いているものを変えるとリスクのほうが高いので、保守タイミングで合わせて修正するのがおすすめです。
よくあるエラーと対処法
#NUM!エラー(xや自由度が範囲外)
FDIST関数でよく見るエラーです。以下の原因が考えられます。
| 原因 | 対策 |
|---|---|
| xに負の値を指定した | F分布は0以上のみ。xに0以上の値を指定する |
| 自由度1または自由度2が1未満 | 自由度はどちらも1以上の整数を指定する |
| 自由度が0または負の値 | セルの式を見直して正の値が入るように修正する |
F分布は0以上の値しか取らず、自由度はどちらも1以上です。この2点を覚えておけば対処は簡単です。
=FDIST(-1, 4, 20) → #NUM!エラー
=FDIST(3, 0, 20) → #NUM!エラー
=FDIST(3, 4, 20) → 正常(約0.0432)
#VALUE!エラー(数値以外を渡した)
引数に文字列など数値以外を指定すると発生します。
=FDIST("abc", 4, 20) → #VALUE!エラー
セル参照を使う場合は、参照先に数値が入っているか確認してください。
空白セルが文字列扱いになっているときもエラーが出やすいです。
#NAME?エラー(関数名が認識されない)
関数名のスペルミスや、カッコの全角入力が原因で発生します。
=FDST(3, 4, 20) → #NAME?エラー(スペルミス)
=FDIST(3, 4, 20) → #NAME?エラー(カッコが全角)
FDISTは半角英字5文字(F+DIST)で、間にピリオドは入りません。
F.DIST.RTにはピリオドが入るので混同しやすいですが、旧関数FDISTは「ピリオドなし」と覚えてください。
結果がどう見ても変なとき
F値や自由度が想定と違うパターンが多いです。チェックポイントを整理しました。
| 症状 | チェックポイント |
|---|---|
| p値が予想より大きい | F値が小さすぎる可能性。分子・分母の平均平方の式を再確認 |
| p値が予想より小さい | F値が大きすぎる可能性。サンプルサイズが大きすぎないか確認 |
| 結果が0または1ちょうど | xや自由度が極端な値になっていないか確認 |
| 自由度1と2を逆に指定した | 分子→分母の順で指定。逆にすると別の確率値になる |
| 結果が小数で表示されない | セルの書式設定を「数値」または「%」に変更 |
TIP
FDISTで出した結果をすぐ確認したいときは、別のセルで
=F.DIST.RT(同じ引数)を計算して比較してみましょう。
数値が一致すれば関数の使い方は正しく、データ側に問題がある可能性が高いです。
似たF分布関数との違い・使い分け
F分布系関数の旧↔新対応表
F分布まわりには、用途の違う関数が複数あります。
旧関数(Excel 2007以前)と新関数(Excel 2010以降)の対応関係を整理しました。
| 旧関数 | 新関数 | 返す値 | 主な用途 |
|---|---|---|---|
| FDIST | F.DIST.RT | x以上になる確率(右側) | 検定のp値計算 |
| (対応なし) | F.DIST | x以下の累積確率 または PDF | 左側確率・分布のグラフ描画 |
| FINV | F.INV.RT | 右側確率 → x(逆関数) | 有意水準から臨界値を直接求める |
| (対応なし) | F.INV | 左側累積確率 → x(逆関数) | 左側臨界値の算出 |
| FTEST | F.TEST | 2配列から両側p値 | 2標本F検定を一発計算 |
旧関数は「右側系のみ」で、左側の関数(F.DISTのTRUE形式・F.INV)はExcel 2010で初めて追加されました。
旧版Excelが検定実務向けの右側関数しか提供していなかった名残です。
FDIST と FINV の違い
FDISTとFINVはどちらもF分布の関数ですが、入出力が逆です。
- FDIST: x(F値)→ 確率(p値)。検定でp値を出すときに使う
- FINV: 確率(有意水準)→ x(F値)。臨界値を逆算するときに使う
たとえば自由度4・20で有意水準5%の臨界値を知りたいときは次のようになります。
=FINV(0.05, 4, 20) → 約 2.866
=FDIST(2.866, 4, 20) → 約 0.0500
両者は逆方向の計算で、結果がぴったり対応します。
新関数で書くなら F.INV.RT と F.DIST.RT の関係になります。
FDIST と FTEST の違い
FTESTは2つのデータ配列を渡すだけで、F検定の両側p値を返す手軽な関数です。
- FDIST: 自分でF値を計算してからp値を求める
- FTEST: 2つの配列を渡せば両側p値が直接返る(F値は内部処理)
途中計算を残したいときはFDIST、p値だけ素早く出したいときはFTESTを使います。
新関数でいうと FTEST → F.TEST に対応します。
TIP
FTEST(F.TEST)は2配列から両側p値を返すので、ANOVAではなく「2群の分散の差」のF検定向けです。
ANOVAや回帰分析のF統計量からp値を出すならFDIST(F.DIST.RT)が適切です。
他の分布関数との使い分け
検定の場面ごとに使う分布関数を整理すると次のようになります。
| 検定 | 使う分布関数 | 用途 |
|---|---|---|
| 平均値の差(t検定) | T.DIST.RT / T.DIST.2T | 2群の平均値の差を判定 |
| 分散分析(ANOVA) / F検定 | FDIST / F.DIST.RT | 3群以上の平均比較・2群の分散比較 |
| 適合度・独立性検定 | CHIDIST / CHISQ.DIST.RT | 度数データのカテゴリカル検定 |
| 待ち時間・故障率 | EXPONDIST | 指数分布の確率計算 |
検定の目的に応じて使う分布関数が変わります。「いまどの分布で評価したいのか」を意識しながら使い分けましょう。
まとめ
FDIST関数は、F分布にもとづく右側確率を返す互換性関数です。
Excel 2010でF.DIST.RT関数に名前が変わりましたが、現行のExcelでも引き続き使えます。
この記事のポイント
- 構文は
=FDIST(x, 自由度1, 自由度2)の3引数 - 自由度1は分子(群間)、自由度2は分母(群内・誤差)の自由度
- 分散分析(ANOVA)やF検定のp値(右側確率)をダイレクトに返す
- FDISTとF.DIST.RTは引数も戻り値もまったく同じ(数値結果は完全一致)
- Excel 2007以前のブックとの互換性のため、FDISTは現行Excelでも残されている
- 新規で数式を作るときはF.DIST.RTが推奨。既存ブックを書き換える必要はない
- FDIST → F.DIST と書き換えると結果が逆になるので注意(正解は FDIST → F.DIST.RT)
- xが0未満、または自由度が1未満のとき #NUM! エラーが出る
- 2群の分散F検定では片側確率を2倍して両側p値として扱う
FDIST関数の使い方がわかったら、以下の関連関数もあわせて覚えてみてください。
データ分析の幅が広がりますよ。
- ExcelのF.DIST.RT関数の使い方(FDISTの後継)
- ExcelのCHIDIST関数の使い方(カイ二乗分布の右側確率)
- ExcelのEXPONDIST関数の使い方(指数分布の確率計算)
