ExcelのF.DIST関数の使い方|F分布の確率を求める方法

スポンサーリンク

「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件)を分析する例です。
分散分析表を作成した結果、次の値が得られたとします。

変動要因自由度分散
グループ間2600
グループ内12200

F値 = グループ間分散 / グループ内分散 = 600 / 200 = 3.0 です。

=1 - F.DIST(3.0, 2, 12, TRUE)

結果は約 0.0876(8.76%)です。
有意水準5%を超えているので、「3拠点の平均に有意な差があるとはいえない」となります。

自由度の決め方は次のとおりです。

検定の種類自由度1自由度2
F検定(等分散性)n1 – 1n2 – 1
一元配置ANOVAグループ数 – 1全データ数 – グループ数
重回帰のF検定説明変数の数 kn – 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.DISTx以下になる累積確率 または PDFあり(TRUE/FALSE)左側確率・PDF描画
F.DIST.RTx以上になる確率(右側)なし検定の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 2010Excel 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.DISTF分布の左側累積確率または確率密度
F.DIST.RTF分布の右側累積確率
F.INVF分布の逆関数(確率→F値)。左側
F.INV.RTF分布の逆関数。右側
F.TESTデータ範囲から直接F検定のp値(両側)
FDISTF.DIST.RTの旧名(右側のみ)
T.DISTt分布の左側確率(少サンプルの平均差検定)
T.TESTt検定の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関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。
データ分析の幅が広がりますよ。

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