「古いExcelファイルを引き継いだら、FINVっていう関数が使われていた…これって今でも動くの?」
そんな疑問を抱いて、このページにたどり着いた方も多いのではないでしょうか。
ANOVAやF検定の臨界値を求める数式によく登場するFINV関数。
しかしExcelの関数挿入ダイアログでは「互換性」フォルダに分類されており、少し不安になるかもしれません。
F.INV.RTに書き換えるべきか、それともF.INVを使うのが正解なのか、判断に迷う場面もあるでしょう。
そんなときに役立つのが、この記事で解説するFINV関数です。
FINVはF分布の右側確率の逆関数で、「有意水準」を入れるだけで検定の臨界値(棄却域の境界値)を返す関数です。
この記事ではFINVの基本構文と、後継のF.INV.RTやF.INVとの違いを解説します。
ANOVA(分散分析)の臨界値計算やF検定の棄却域を求める実践例、よくあるエラーの対処法もまとめて掲載しています。
分散分析や等分散検定の現場でそのまま使える内容になっているので、ぜひ最後までご覧ください。
FINV関数とは?F分布の右側確率の逆関数
FINV関数(読み方: エフ・インバース)は、F分布の右側確率の逆関数を返す関数です。
「F」はR.A.フィッシャーが考案したF分布のF、「INV」は「Inverse(逆)」の略です。
合わせて「F分布の逆関数」という意味になります。
Excel 2007以前ではこのFINVが標準の関数でした。
Excel 2010で関数名がF.INV.RTに変更されています。
ただし互換性のためFINVもそのまま残されており、Microsoft 365を含む現行のExcelで問題なく動作します。
NOTE
FINVは「互換性関数」フォルダに分類されています。新しく数式を組む場合は後継のF.INV.RT関数の利用が推奨されます。既存のブックでFINVを使い続けても結果は同じです。Microsoft公式は「将来のExcelバージョンで利用できなくなる可能性がある」と注意喚起しているため、長期運用するブックでは置き換えておくと安心です。
FINVが返す値のイメージ
F分布のグラフをイメージしてみてください。
横軸にFの値、縦軸に確率密度をとると、右側に長い裾を引いた山型のグラフになります。
FINVは、「右側に分布の何%を残すか」を指定すると、その境界となるFの値を返す関数です。
たとえば「右側に5%を残す境界(=有意水準5%の臨界値)」を求めるなら、=FINV(0.05, df1, df2) と入力します。
つまり、ANOVAやF検定でいう棄却域の境界値(臨界値)を、関数ひとつで取り出せます。
FDIST関数(右側確率)との関係
FINVは、対になる関数 FDIST関数の使い方 のちょうど逆の働きをします。
| 関数 | 入力 | 出力 |
|---|---|---|
| FDIST | Fの値, 自由度1, 自由度2 | 右側確率(p値) |
| FINV | 右側確率, 自由度1, 自由度2 | Fの値(臨界値) |
実務での使い分けは次のようになります。
FDISTで観測されたF統計量のp値を出し、FINVでその有意水準の臨界値を出して比較するイメージです。
数値で見ると分かりやすいので、双方向の対応を確認してみましょう。
=FDIST(2.866, 4, 20) → 0.05 (F値2.866のとき右側確率は5%)
=FINV(0.05, 4, 20) → 2.866(右側5%に対応するF値は2.866)
このように、FDIST と FINV はぴったり逆の変換を行います。
FINV関数の構文と引数
FINV関数は3つの引数を取ります。
カイ二乗分布のCHIINVが2引数だったのに対し、F分布は2つの自由度(分子・分母)を扱うため引数が1つ多くなる点に注意してください。
構文
=FINV(probability, deg_freedom1, deg_freedom2)
| 引数 | 必須 | 内容 |
|---|---|---|
| probability | 必須 | F分布の右側確率(0より大きく1以下: 0 < p ≤ 1) |
| deg_freedom1 | 必須 | 分子の自由度(1以上、10^10未満。整数以外は切り捨て) |
| deg_freedom2 | 必須 | 分母の自由度(1以上、10^10未満。整数以外は切り捨て) |
第1引数に「右側確率(=有意水準)」、第2引数に「分子の自由度」、第3引数に「分母の自由度」を渡します。
ANOVAでの自由度の対応
実務でFINVを使う場面の多くは、ANOVA(分散分析)かF検定です。
それぞれの場面での自由度の対応関係を整理しておきます。
| シーン | deg_freedom1(分子) | deg_freedom2(分母) |
|---|---|---|
| 一元配置ANOVA | 群数 – 1 | 全データ数 – 群数 |
| 二元配置ANOVA(要因A) | 要因Aの水準数 – 1 | 誤差項の自由度 |
| 等分散F検定 | サンプル1のデータ数 – 1 | サンプル2のデータ数 – 1 |
「どっちの自由度を1番目に入れるんだっけ?」と迷ったときは、F統計量の分子と分母を思い出してください。
F = (群間分散 / 群内分散)の分子側がdeg_freedom1、分母側がdeg_freedom2です。
FINV関数の基本的な使い方
シンプルな例
有意水準5%(α=0.05)、分子自由度4、分母自由度20のFINVを求めてみましょう。
=FINV(0.05, 4, 20)
結果は 約 2.8661 です。
これは「自由度(4, 20)のF分布で、右側に5%を残す境界のF値が2.8661である」という意味になります。
つまり、検定統計量Fを計算してこの値以上であれば、有意水準5%で帰無仮説(=群間に差がない)を棄却できます。
Microsoft公式の計算例
Microsoftのリファレンスに載っている標準例も確認しておきましょう。
=FINV(0.01, 6, 4) → 15.20687
有意水準1%、分子自由度6、分母自由度4のとき、臨界値は約15.21になります。
分母自由度が小さいと右側の裾が重くなるため、臨界値はかなり大きな値になります。
確率と臨界値の関係を可視化
同じ自由度(4, 20)で、有意水準を変えるとFINVの戻り値がどう変わるか確認してみましょう。
| 有意水準 α | =FINV(α, 4, 20) |
|---|---|
| 0.10 | 2.2489 |
| 0.05 | 2.8661 |
| 0.025 | 3.5147 |
| 0.01 | 4.4307 |
| 0.005 | 5.1743 |
有意水準が小さくなる(厳しくなる)ほど、戻り値は大きくなります。
「より厳しい基準で検定する=より大きなFでないと棄却できない」という関係が、数値からも読み取れます。
FINV関数の実践的な使用例
一元配置ANOVAの臨界値を求める
例として「3つの店舗の月別売上に差があるか」を一元配置ANOVAで検定するケースを考えます。
- 店舗数(群数) k = 3
- 各店舗の月数(データ数) n = 8
- 全データ数 N = 24
- 有意水準 α = 0.05
このとき、自由度は次のように計算します。
- 分子の自由度 df1 = k – 1 = 2
- 分母の自由度 df2 = N – k = 24 – 3 = 21
臨界値は次のように求められます。
=FINV(0.05, 2, 21) → 約 3.4668
ANOVAで計算したF統計量がこの3.4668を超えていれば、「3店舗の売上には有意差がある」と結論づけられます。
ANOVA分散分析表のテンプレート
ANOVAをExcelで手計算するときは、次のような分散分析表を組むと臨界値の自動計算が便利です。
| 項目 | セル例 | 数式 |
|---|---|---|
| 群間平方和 SSb | B2 | (手計算または SUMPRODUCT) |
| 群内平方和 SSw | B3 | (手計算または SUMPRODUCT) |
| 分子自由度 df1 | C2 | =群数-1 |
| 分母自由度 df2 | C3 | =全データ数-群数 |
| 群間平均平方 MSb | D2 | =B2/C2 |
| 群内平均平方 MSw | D3 | =B3/C3 |
| F統計量 | E2 | =D2/D3 |
| 有意水準α | F1 | 0.05 |
| 臨界値 | F2 | =FINV(F1, C2, C3) |
| 判定 | G2 | =IF(E2>F2,”棄却”,”採択”) |
「臨界値」のセルに =FINV(F1, C2, C3) を入れておけば、有意水準や自由度を変えるたびに自動で臨界値が再計算されます。
分散分析表のテンプレートに組み込んでおくと、サンプル数や群数が変わっても使い回せて便利です。
等分散F検定の棄却域を求める
「2つのサンプルの分散が等しいか」を判定する等分散F検定でも、FINVで臨界値を求められます。
たとえばサンプル1(n1=10)とサンプル2(n2=15)の分散を比較する場合:
- 分子自由度 df1 = n1 – 1 = 9
- 分母自由度 df2 = n2 – 1 = 14
- 有意水準 α = 0.05(両側検定なら0.025を渡す)
=FINV(0.05, 9, 14) → 約 2.6458
F統計量(=サンプル1の不偏分散 / サンプル2の不偏分散)が2.6458を超えれば、有意水準5%で「2群の分散は異なる」と結論づけられます。
TIP
両側検定のときは α/2 をFINVに渡します。
たとえば「両側5%」なら=FINV(0.025, df1, df2)のように、有意水準を半分にして渡しましょう。
FDIST関数との逆関数関係を実証する
p値↔臨界値の対応がぴったり噛み合っていることを、Excel上で確認してみましょう。
A1: =FINV(0.05, 4, 20) → 2.8661 (臨界値)
A2: =FDIST(A1, 4, 20) → 0.05 (元の確率に戻る)
B1: =FDIST(2.5, 4, 20) → 0.0743 (F=2.5のp値)
B2: =FINV(B1, 4, 20) → 2.5 (元のFに戻る)
このように、FINV と FDIST を続けて使うと元の値に戻ります。
「片方が確率→F値の変換」「もう片方がF値→確率の変換」という対応を覚えておけば、どちらを使うか迷わなくなります。
FINV / F.INV.RT / F.INV の違い
F分布の逆関数は、Excelに3つ用意されています。
似た名前で混乱しやすいので、ここで整理しておきましょう。
三者比較表
| 関数 | 入力する確率 | 返す値 | Excel 2007以前 | 状態 | 反復上限 |
|---|---|---|---|---|---|
| FINV | 右側確率 | Fの臨界値 | 対応 | 互換性関数(旧) | 100回 |
| F.INV.RT | 右側確率 | Fの臨界値 | 非対応 | 推奨(新) | 64回 |
| F.INV | 左側確率 | Fの臨界値 | 非対応 | 推奨(新) | 64回 |
FINVとF.INV.RTは引数・計算結果が同じで、内部の反復計算上限のみ異なります。
F.INVは「左側確率」を入力する関数なので、用途が異なります。
数値で違いを確認
同じ引数 (0.01, 6, 4) を3つの関数に渡すと、どうなるでしょうか。
| 関数 | 計算結果 | 意味 |
|---|---|---|
| =FINV(0.01, 6, 4) | 15.20687 | 右側1%の臨界値 |
| =F.INV.RT(0.01, 6, 4) | 15.20687 | 同上(後継関数) |
| =F.INV(0.01, 6, 4) | 0.10931 | 左側1%に対応するF値 |
FINVとF.INV.RTは完全に同じ値を返します。
一方、F.INVは「左側に1%を残す境界」を返すため、まったく異なる値(1未満の小さな値)になります。
右側と左側はこう変換できる
F.INV.RT と F.INV は次の関係で互いに変換可能です。
F.INV.RT(p, df1, df2) = F.INV(1 - p, df1, df2)
具体例で確認してみましょう。
| 関数 | 計算結果 |
|---|---|
| =F.INV.RT(0.05, 4, 20) | 2.8661 |
| =F.INV(0.95, 4, 20) | 2.8661 |
確かに同じ値が返ってきます。
ANOVAやF検定の臨界値は基本的に「右側」を扱うので、FINV / F.INV.RT を覚えておけば実務では十分です。
どちらを使うべきか
迷ったときは次の基準で選びましょう。
- 新規でブックを作る場合: F.INV.RT を使う(Microsoft公式推奨)
- Excel 2007以前と互換性が必要なブック: FINV を使う
- 既存ブックに残っているFINV: 無理に書き換えなくてもOK(結果は同じ)
- 左側確率を扱いたい特殊なケース: F.INV を使う
詳しくは F.INV.RT関数の使い方 で解説しています。
FINVをF.INV.RTに置き換える方法
旧FINVをF.INV.RTに書き換える手順は、関数名を変えるだけのシンプルな作業です。
引数の順序・意味はまったく同じなので、機械的に置き換えられます。
=FINV(0.05, 4, 20) ← 旧
=F.INV.RT(0.05, 4, 20) ← 新(推奨)
シート全体を一括置換する場合は、次の手順が便利です。
- 置換したいシート(または範囲)を選択する
Ctrl + Hで「検索と置換」ダイアログを開く- 検索する文字列に
FINV(、置換後の文字列にF.INV.RT(を入力 - 「すべて置換」をクリック
IMPORTANT
検索文字列に末尾の
(を含めるのがポイントです。FINVだけで検索すると、説明テキストに「FINV関数とは…」のような文言があった場合まで誤って置換してしまいます。FINV(まで含めれば、関数として使われている箇所だけを安全に置換できます。
よくあるエラーと対処法
FINV関数で出やすい代表的なエラーと、その対処法をまとめました。
| エラー | 主な原因 | 対処法 |
|---|---|---|
#NUM! | probability が 0以下 or 1超(0 < p ≤ 1 の範囲外) | 0より大きく1以下の値に修正する |
#NUM! | deg_freedom1 / deg_freedom2 が 1未満 | 自由度を1以上に修正 |
#NUM! | 自由度が 10^10 以上 | 参照ミスを疑う。データ件数のセルを誤参照していないか確認 |
#VALUE! | 引数が文字列になっている | 数値が入ったセルを参照しているか確認 |
#N/A | 100回の反復計算で収束しない | 極端な引数を見直す。F.INV.RTに書き換えても改善しない可能性あり |
| 結果が想定と大きく違う | 引数の順序間違い | 第1引数=確率、第2引数=分子自由度、第3引数=分母自由度の順を確認 |
#NUM!エラーが出るケース
最も多いのが、第1引数と第2引数の取り違えです。
=FINV(4, 0.05, 20) ← #NUM! エラー(確率が4は不正)
=FINV(0.05, 4, 20) ← OK
「最初は確率(0より大きく1以下の小数)、次に分子自由度、最後に分母自由度」の順序を意識してください。
また、自由度に小数を指定した場合はエラーにはならず、整数部分のみが採用されて小数部分は切り捨てられます。
たとえば =FINV(0.05, 4.7, 20.3) は =FINV(0.05, 4, 20) と同じ結果になります。
意図しない切り捨てを防ぐため、自由度には整数を渡すようにしましょう。
#VALUE!エラーが出るケース
セル参照先が空白だったり、文字列が入っているとこのエラーが出ます。
A1: 0.05 A2: "四" A3: 20
=FINV(A1, A2, A3) ← #VALUE! エラー(A2が文字列)
特にCSVから取り込んだデータでは、見た目は数字でも文字列扱いになっていることがあります。ISNUMBER 関数でセルの中身を確認したり、VALUE 関数で数値変換するなどの対処をしてください。
#N/Aエラーが出るケース(収束しない)
極端な確率や自由度を渡すと、内部の反復計算が収束せず #N/A が返ることがあります。
FINVは100回まで反復しますが、後継のF.INV.RTは64回までと上限が異なります。
=FINV(0.0000001, 1, 1) ← #N/A になる可能性
実務では有意水準を1e-7まで小さくすることはまずないので、参照ミスや桁の取り違えを疑うのが先決です。
まとめ|FINVは右側確率からF値の臨界値を逆算する関数
FINV関数のポイントを最後に整理しておきます。
- FINVはF分布の右側確率の逆関数で、ANOVAやF検定の棄却域の境界値(臨界値)を返す
- 構文は
=FINV(probability, deg_freedom1, deg_freedom2)。右側確率→分子自由度→分母自由度の順 - Excel 2010以降はF.INV.RTが推奨。書き換えは関数名だけ変えればOK(引数は同じ)
- 「右側」を扱うのがFINV / F.INV.RT、「左側」を扱うのがF.INV
- 対関数の FDIST関数の使い方 と組み合わせると、p値も臨界値も同じシートで完結する
- 同じ「逆関数系の互換性関数」として CHIINV関数の使い方 も理解しておくと統計関数の全体像がつかめる
実務でANOVAや等分散F検定をする場面は、思いのほか多くあります。
FINVは有意水準と2つの自由度を入れるだけで臨界値が出る、シンプルで強力な関数です。
分散分析表のテンプレートに =FINV(α, df1, df2) を組み込んでおくと、サンプル数や群数が変わっても使い回せて便利です。
新規ブックでは F.INV.RT関数の使い方 で紹介している後継関数を使うのがおすすめです。
既存ブックのFINVは無理に書き換えなくてもよく、そのまま使い続けるのが最もシンプルで実務的な運用です。
