「2つの工程のばらつきに、本当に差があるんだろうか?」
こんな悩みを持ったことはありませんか?
データのばらつき(分散)を比較したいときに使うのがF分布です。
ただ、F分布の表を見ながら手計算するのは正直しんどいですよね。
そんなときに使うのがF.DIST関数です。
この記事では基本の書き方から実務での活用例まで解説します。
F.DIST.RT関数や旧FDIST関数との使い分け、F検定や分散分析でのp値計算もあわせて整理しました。
F.DIST関数とは?F分布の確率を返す関数
F.DIST関数(読み方: エフ・ディスト)は、F分布にもとづく確率を返す関数です。
「F」は統計学者フィッシャー(Fisher)に由来し、「DIST」は「Distribution(分布)」の略です。
F分布は0以上の値しか取らない、右に裾を引く非対称な分布です。
2つの不偏分散の比がどんな値になりやすいかを表した分布で、F検定や分散分析(ANOVA)の土台になっています。
釣り鐘型で左右対称なt分布とはまったく違う形をしているのが特徴です。
F.DIST関数では、cumulative引数を切り替えることで次の2つの値を求められます。
- 累積分布関数(CDF): 「ある値以下になる確率」を返す。cumulative = TRUE
- 確率密度関数(PDF): 「ある値における確率密度」を返す。cumulative = FALSE
実務で使う場面のほとんどはCDF(累積分布関数)です。
F検定や分散分析のp値を求めたり、F分布の臨界値を確認したりするときに活躍します。
F.DIST関数にできることをまとめると、次のとおりです。
- F値の左側累積確率を計算する(cumulative = TRUE)
- F分布の確率密度を求めてグラフを描画する(cumulative = FALSE)
- F検定で2グループの分散に差があるかを判定する
- 一元配置分散分析(ANOVA)でグループ間の平均差を検定する
- 重回帰分析でモデル全体の有意性を判定する
NOTE
F.DIST関数はExcel 2010以降で使えます。
Microsoft 365、Excel 2013〜2024のすべてのバージョンに対応しています。
Excel 2007以前では旧FDIST関数(右側確率のみ)を使ってください。
F.DIST関数の書き方(構文と引数)
基本構文
=F.DIST(x, 自由度1, 自由度2, 関数形式)
カッコの中に、評価したい数値、自由度を2つ、出力の形式を指定します。
T.DIST関数とは違って自由度を2つ渡すのが特徴です。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | 確率を求めたい数値(F値)。0以上の値を指定する |
| 自由度1 | 必須 | 分子の自由度。1以上の整数を指定する |
| 自由度2 | 必須 | 分母の自由度。1以上の整数を指定する |
| 関数形式 | 必須 | TRUEで累積分布関数(CDF)、FALSEで確率密度関数(PDF) |
4つの引数はすべて必須です。省略するとエラーになります。
TIP
自由度に小数を入れると、整数部分だけが使われます。
たとえば10.7と指定しても、内部では10として計算されます。
累積分布関数(CDF)と確率密度関数(PDF)の違い
ちょっとややこしく見えますが、やっていることはシンプルです。
- CDF(TRUE): 「x以下になる確率」を返す。0〜1の値になる
- PDF(FALSE): 「xにおける確率密度」を返す。グラフ描画で使う
たとえば自由度(5, 20)で x = 2 のとき、CDFは「2以下になる確率(約0.8950)」を返します。
PDFは「x = 2 における曲線の高さ(約0.1948)」を返します。
TIP
F分布は0以上の値しか取りません。
xに負の値を入れると#NUM!エラーになるので注意してください。
F.DIST関数の基本的な使い方
ここからは具体的なF値と自由度を使って、F.DIST関数の動きを確認していきましょう。
「F値以下になる確率」を求める(CDF)
自由度(3, 20)の条件で、F値3.49以下になる確率を求めます。
=F.DIST(3.49, 3, 20, TRUE)
結果は約 0.9500(95.0%)です。F値3.49以下になる確率は約95%ということになります。
逆に、F値が3.49を超える確率は約5%です。
この3.49は自由度(3, 20)・有意水準5%の右側臨界値にあたります。
別のF値も試してみましょう。
=F.DIST(1, 5, 20, TRUE)
結果は約 0.4563(45.63%)です。
F値が1付近にあるとき、累積確率は半分弱になります。
=F.DIST(0, 5, 20, TRUE)
結果は 0(0%)です。
F分布は0以上の値しか取らないため、0以下になる確率はちょうど0になります。
自由度を変えて確認する
同じF値(x=2)で、分母の自由度を変えるとどうなるか見てみましょう。
=F.DIST(2, 5, 10, TRUE) → 約 0.8408
=F.DIST(2, 5, 20, TRUE) → 約 0.8950
=F.DIST(2, 5, 100, TRUE) → 約 0.9145
サンプルサイズが大きくなるほど、F分布のピークが1付近に集中していきます。
そのため同じx=2でも、自由度が大きいほうが「2以下になる確率」が高く出ます。
確率密度関数(PDF)の値を確認する
=F.DIST(1, 5, 20, FALSE)
結果は約 0.5868 です。F分布のカーブは1付近で最も高くなる傾向があります。
=F.DIST(2, 5, 20, FALSE)
結果は約 0.1948 です。x = 2 における曲線の高さです。
PDFの値そのものは「確率」ではないので、グラフ描画やカーブの比較に使います。
TIP
CDFの結果が0.95より大きいなら、そのF値は「右側5%の棄却域」に入っていることになります。
F検定や分散分析で帰無仮説を棄却できる目安として使えますよ。
F.DIST関数の実践的な使い方・応用例
F検定で2グループの分散に差があるかを判定する
「拠点Aと拠点Bの売上のばらつきに差があるか」を判定するのがF検定です。
t検定を使う前に、等分散性を確認したいときによく使います。
たとえば拠点A(10件)と拠点B(12件)の売上データがあるとします。
VAR.S関数で分散を求めたところ、分散A = 250、分散B = 100 でした。
F値は「大きいほうの分散 / 小さいほうの分散」で求めます。
=250 / 100
結果は 2.5 です。次にこのF値の右側確率(p値)を求めます。
=1 - F.DIST(2.5, 9, 11, TRUE)
結果は約 0.0808(8.08%)です。
p値が0.05より大きいので、「ばらつきに統計的な差があるとはいえない」と判断できます。
等分散を仮定したt検定を使ってよいということですね。
ここで自由度1は「サンプル数A – 1 = 9」、自由度2は「サンプル数B – 1 = 11」です。
同じ計算はF.DIST.RT関数で一発で求められます。
=F.DIST.RT(2.5, 9, 11)
こちらも約 0.0808 で、結果は同じです。
一元配置分散分析(ANOVA)でグループ間の平均差を検定する
3つ以上のグループに平均の差があるかを調べるのが分散分析(ANOVA)です。
F.DIST関数はANOVAのp値を手動で求めるときに使えます。
拠点A・B・Cの月間売上(各5件ずつ、合計15件)を分析する例です。
分散分析表を作成した結果、次の値が得られたとします。
| 変動要因 | 自由度 | 分散 |
|---|---|---|
| グループ間 | 2 | 600 |
| グループ内 | 12 | 200 |
F値 = グループ間分散 / グループ内分散 = 600 / 200 = 3.0 です。
=1 - F.DIST(3.0, 2, 12, TRUE)
結果は約 0.0876(8.76%)です。
有意水準5%を超えているので、「3拠点の平均に有意な差があるとはいえない」となります。
自由度の決め方は次のとおりです。
| 検定の種類 | 自由度1 | 自由度2 |
|---|---|---|
| F検定(等分散性) | n1 – 1 | n2 – 1 |
| 一元配置ANOVA | グループ数 – 1 | 全データ数 – グループ数 |
| 重回帰のF検定 | 説明変数の数 k | n – k – 1 |
重回帰分析の有意性を判定する
回帰分析の結果で「このモデルが統計的に意味を持つか」を判断するときにもF値を使います。
たとえば説明変数3つ、サンプル数30の重回帰分析でF値が5.2だったとします。
自由度1 = 説明変数の数 = 3、自由度2 = サンプル数 – 説明変数の数 – 1 = 26 です。
=1 - F.DIST(5.2, 3, 26, TRUE)
結果は約 0.0062(0.62%)です。
有意水準5%を大きく下回るので、「この回帰モデルは統計的に有意」と判断できますね。
よくあるエラーと対処法
#NUM!エラー
F.DIST関数で最もよく見るエラーです。以下の原因が考えられます。
| 原因 | 対策 |
|---|---|
| xに負の値を指定した | F分布は0以上のみ。xに正の値を指定する |
| 自由度1または自由度2が1未満 | 自由度は1以上の整数を指定する |
| 自由度が0または負の値 | セルの式を見直して、正の値が入るように修正する |
F分布が0以上の値しか取らないことと、自由度が1以上であることを覚えておけば対処は簡単です。
=F.DIST(-1, 5, 20, TRUE) → #NUM!エラー
=F.DIST(2, 0, 20, TRUE) → #NUM!エラー
=F.DIST(2, 5, 20, TRUE) → 正常(約0.8950)
#VALUE!エラー
引数に数値以外の文字列を指定すると発生します。
=F.DIST("abc", 5, 20, TRUE) → #VALUE!エラー
セル参照を使う場合は、参照先に数値が入っているかを確認してください。
空白セルが文字列扱いになっている場合もエラーが出やすいです。
#NAME?エラー
Excel 2007以前で F.DIST を使うと、ピリオド付きの関数名を認識できずに発生します。
=F.DIST(2, 5, 20, TRUE) → #NAME?エラー(Excel 2007以前)
このときは旧 FDIST 関数を使うか、Excelを2010以降にアップデートしてください。
旧FDIST関数は仕様が異なるので、後述の比較表を参考にしてください。
TIP
「関数形式」の引数を忘れると引数不足でエラーになります。
CDFを求めるならTRUE、PDFを求めるならFALSEを必ず指定してください。
F.DIST.RT・F.INV・F.TEST・旧FDIST関数との違い・使い分け
F分布関連関数の使い分け早見表
F分布関連には、用途の違う関数がいくつかあります。
求めたい値や検定の種類に合わせて選びます。
| 関数 | 返す値 | cumulative引数 | 主な用途 |
|---|---|---|---|
| F.DIST | x以下になる累積確率 または PDF | あり(TRUE/FALSE) | 左側確率・PDF描画 |
| F.DIST.RT | x以上になる確率(右側) | なし | 検定のp値計算 |
| F.INV | 累積確率 → F値(左側の逆関数) | なし | 左側臨界値の算出 |
| F.INV.RT | 確率 → F値(右側の逆関数) | なし | 有意水準から臨界値を直接求める |
| F.TEST | データ範囲から直接F検定のp値(両側) | なし | データ配列から一発で計算 |
実務シナリオ別の使い分けは次のとおりです。
- 検定のp値を素早く求めたい: F.DIST.RT
- 有意水準から臨界値を逆算したい: F.INV.RT(例: 自由度(3, 20)・5%水準なら約3.10)
- データ範囲から直接F検定したい: F.TEST
- F分布のカーブをグラフにしたい: F.DIST(x, df1, df2, FALSE)
TIP
F.DIST.RTを使うと
=1 - F.DIST(x, df1, df2, TRUE)と同じ結果が一発で得られます。
p値を求めるときはF.DIST.RTのほうがシンプルですよ。
旧FDIST関数との互換性
旧FDIST関数(Excel 2007以前)は、新F.DIST関数とは仕様がかなり違います。
移行時には注意が必要です。
| 項目 | F.DIST(新) | FDIST(旧) |
|---|---|---|
| 引数 | (x, df1, df2, 関数形式) | (x, df1, df2) |
| 返す確率 | 左側累積 または PDF | 右側累積のみ |
| cumulative指定 | あり(TRUE/FALSE) | なし |
| 導入バージョン | Excel 2010 | Excel 2003以前 |
旧関数の代替は次のとおりです。
| 旧書き方 | 新書き方 |
|---|---|
| =FDIST(x, df1, df2) | =F.DIST.RT(x, df1, df2) |
| =FDIST(x, df1, df2) | =1 – F.DIST(x, df1, df2, TRUE) |
| =FINV(p, df1, df2) | =F.INV.RT(p, df1, df2) |
| =FTEST(arr1, arr2) | =F.TEST(arr1, arr2) |
旧FDIST関数で作られたブックは、計算結果を変えないかぎり書き換える必要はありません。
新規で数式を作るときはF.DIST関数群を使いましょう。
TIP
旧FDISTは「右側」、新F.DIST(TRUE)は「左側」と意味が逆になります。
混同して使うと検定結果がひっくり返るので、移行時はとくに注意してください。
関連関数の一覧
| 関数 | 説明 |
|---|---|
| F.DIST | F分布の左側累積確率または確率密度 |
| F.DIST.RT | F分布の右側累積確率 |
| F.INV | F分布の逆関数(確率→F値)。左側 |
| F.INV.RT | F分布の逆関数。右側 |
| F.TEST | データ範囲から直接F検定のp値(両側) |
| FDIST | F.DIST.RTの旧名(右側のみ) |
| T.DIST | t分布の左側確率(少サンプルの平均差検定) |
| T.TEST | t検定のp値を直接計算 |
| VAR.S | 標本分散(F値の計算で使う) |
| STDEV.S | 標本標準偏差 |
| AVERAGE | 標本平均 |
まとめ
F.DIST関数は、F分布にもとづいて左側累積確率または確率密度を返す関数です。
この記事のポイント
- 構文は
=F.DIST(x, 自由度1, 自由度2, 関数形式)の4つの引数を指定する - F分布は0以上のみで右に裾を引く非対称分布。2つの分散の比を扱う
- 関数形式をTRUEにすると累積分布関数(CDF)、FALSEにすると確率密度関数(PDF)
- 検定のp値は右側確率なので、
=1 - F.DIST(...)または F.DIST.RT を使う - 自由度1は分子(n1-1 や グループ数-1 など)、自由度2は分母(n2-1 や 全データ数-グループ数 など)
- F検定・一元配置ANOVA・重回帰モデルの有意性検定で活躍する
- 旧FDIST関数は右側を返すので、新F.DIST(TRUE)(左側)と仕様が異なる点に注意
F.DIST関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。
データ分析の幅が広がりますよ。
