「スプレッドシートでFTEST関数って今でも使えるの?」「F.TEST関数とどう違うの?」。Excel時代のシートを開いたときに、こんな疑問を持つ方は多いはずです。
結論からいえば、スプレッドシートのFTEST関数はそのまま使えますよ。ただしF.TEST関数の互換用に残された旧関数なので、新規の数式ならF.TEST関数への切り替えがおすすめです。
この記事では、FTEST関数の書き方から実務での使い方、F.TESTとの違いと一括置換による移行手順、よくあるエラー対処までを解説します。
スプレッドシートのFTEST関数とは
スプレッドシートのFTEST関数(読み方: エフテスト関数)は、2つのデータ群の分散(ばらつき)が等しいかを検定する関数です。統計学では「F検定(エフけんてい)」と呼ばれます。
戻り値はp値(ピーち:偶然その差が生じる確率)です。p値が小さいほど「分散に有意な差がある」と判断できますよ。
名前の由来は統計学者フィッシャー(Fisher)の頭文字「F」です。もともとExcelの初期バージョンから搭載されていた関数で、Excel 2010以降に登場したF.TEST関数の前身にあたります。Googleスプレッドシートでも動作しますが、公式には「互換関数」という位置づけです。
FTEST関数にできることを整理すると、次のとおりです。
- 2つのデータ群の分散が等しいかを判定する
- T.TEST関数のtype引数を決める前段チェックに使える
- データ範囲を渡すだけでp値を自動計算できる
- Excelから移行した既存シートをそのまま動かせる
NOTE
FTEST関数はGoogleスプレッドシートの全バージョンで使えます。ExcelにもFTEST関数があり、計算結果はまったく同じです。
F.TESTの互換関数である理由
Excel 2010で統計関数が刷新されました。FTEST関数はドット付きのF.TESTに置き換えられ、Googleスプレッドシートも同じ方針を採用しています。
互換関数は「古いシートが壊れないように残してある関数」ですよ。新旧で結果はまったく同じですが、Googleの公式ヘルプではF.TESTの使用を推奨しています。
そもそもF検定とは
F検定は「2群のばらつきが等しいか」を判定する手法です。仮説検定(かせつけんてい:データから仮説の正否を判断する統計手法)の一種ですね。
- 帰無仮説 H0: 2群の母分散は等しい
- 対立仮説 H1: 2群の母分散は異なる
検定統計量はF値(2群の分散の比)です。F値が1に近ければ「分散は同じくらい」、1から大きく外れるほど「分散に差がある」と判断します。
FTEST関数の書き方
基本構文と引数
=FTEST(範囲1, 範囲2)
カッコの中に2つの引数を指定します。どちらも必須です。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 範囲1 | 必須 | 1つ目のデータ範囲(例: A2:A11) |
| 範囲2 | 必須 | 2つ目のデータ範囲(例: B2:B11) |
TTEST関数のように tails や type を指定する必要はありません。データ範囲を2つ渡すだけで検定が完了しますよ。
範囲1と範囲2のデータ数が異なっていても問題ありません。範囲内の文字列や空白セルは自動で無視されます。
FTEST関数が内部で行っている計算
FTEST関数は、渡されたデータから次の計算を自動で行います。
- 範囲1と範囲2それぞれの分散(VAR関数)を計算する
- 分散の比(F値)を求める: F値 = VAR(範囲1) / VAR(範囲2)
- F値と自由度(じゆうど:データから推定するパラメータの個数を反映した値)からF分布の両側確率(p値)を返す
TIP
FTEST関数は「両側検定」のp値を返します。「分散1が大きい場合」も「分散2が大きい場合」も含めた確率ですよ。片側のp値が必要なときは、FTESTの結果を2で割ってみてください。
FTEST関数の基本的な使い方
拠点Aと拠点Bの月間売上データで、ばらつきに差があるかを調べてみましょう。
| A列(拠点A・万円) | B列(拠点B・万円) | |
|---|---|---|
| 2行目 | 120 | 95 |
| 3行目 | 138 | 108 |
| 4行目 | 108 | 103 |
| 5行目 | 132 | 100 |
| 6行目 | 142 | 105 |
| 7行目 | 110 | 99 |
拠点Aは108〜142万円に散らばり、拠点Bは95〜108万円にまとまっています。この「ばらつきの差」が統計的に意味のある差かを検定してみましょう。
空いているセル(例: D2)に次の数式を入力します。
=FTEST(A2:A7,B2:B7)
- A2:A7: 拠点Aの売上データ(範囲1)
- B2:B7: 拠点Bの売上データ(範囲2)
Enterキーを押すとp値が表示されます。この例では約 0.026 が返りますよ。
有意水準(ゆういすいじゅん:判定の基準値)5%(0.05)より小さいですね。「2つの拠点の分散に有意な差がある(等分散ではない)」と判断できます。
p値の判断基準
| p値の範囲 | 判断 | 意味 |
|---|---|---|
| p < 0.01 | 高度に有意 | 99%の信頼水準で分散に差がある |
| p < 0.05 | 有意 | 95%の信頼水準で分散に差がある |
| p >= 0.05 | 有意差なし | 分散が等しいとみなせる |
p値が0.05以上なら「等分散」、0.05未満なら「不等分散」と判断するのが一般的です。
p値が極端に小さいときの読み方
データのばらつきに大きな差があると、p値が指数表記(例: 1.5E-5)で表示されることがあります。これは 1.5×10⁻⁵ の意味で、極めて小さい確率を表します。
読みやすく整形したいときは、TEXT関数を使ってみてください。
=TEXT(FTEST(A2:A7,B2:B7),"0.000000")
小数点6桁で表示できますよ。
FTEST関数の結果からT.TESTのtype引数を決める
FTEST関数の最も実務的な使い方は、T.TEST関数の前段として等分散かどうかを判定することです。
T.TEST関数の第4引数typeは、type=2が「等分散」、type=3が「不等分散(ウェルチ)」です。FTESTの結果でどちらを使うか決められますよ。
判断フロー
FTESTのp値 >= 0.05 → 等分散とみなす → T.TESTのtype=2
FTESTのp値 < 0.05 → 不等分散 → T.TESTのtype=3
数式で自動判定する
IF関数を使えば、FTESTの結果に応じてT.TESTのtypeを自動で切り替えられます。
=T.TEST(A2:A7, B2:B7, 2, IF(FTEST(A2:A7,B2:B7)>=0.05, 2, 3))
この数式は次のように動作します。
FTEST(A2:A7,B2:B7)でp値を求める- p値が0.05以上なら type=2(等分散)、0.05未満なら type=3(不等分散)を選ぶ
- 選ばれたtypeでT.TEST関数を実行する
これで「F検定 → t検定」の一連の流れを1つのセルで完結できますよ。
TIP
実務では type=3(ウェルチのt検定)をデフォルトで使う流派もあります。等分散でも不等分散でも正しく機能するためですね。ただし「等分散を確認してからt検定した」と報告書に書くなら、FTESTでの事前チェックがあると説得力が増しますよ。
FTESTとF.TESTの違いと移行手順
FTEST関数とF.TEST関数の違いを一覧にまとめます。
| 比較項目 | FTEST(旧) | F.TEST(新) |
|---|---|---|
| 構文 | =FTEST(範囲1,範囲2) | =F.TEST(範囲1,範囲2) |
| 引数の数 | 2つ | 2つ(同じ) |
| 戻り値 | 両側p値 | 両側p値(同じ) |
| 位置づけ | 互換関数(旧) | 推奨関数(新) |
| Excel対応 | 全バージョン | 2010以降 |
結論として機能はまったく同じです。引数も結果も一致します。違いは名前だけですよ。
=FTEST(A2:A7,B2:B7)
=F.TEST(A2:A7,B2:B7)
この2つの数式はまったく同じ値を返します。
FTEST関数を使う場面があるとすれば、古いExcelファイル(.xls形式)を受け取った場合ですね。ファイル内の既存数式に合わせてそのまま使えばよいでしょう。新しく数式を書くときはF.TEST関数を使ってみてください。
一括置換でF.TESTに移行する手順
既存シートのFTEST数式を移行するのは簡単ですよ。検索と置換を使えば一発で完了します。
- 検索と置換を開く: Ctrl + H(Macは Cmd + Shift + H)
- 検索:
FTEST( - 置換:
F.TEST( - 「すべて置換」をクリック
- 計算結果が変わらないことを確認
カッコ「(」を含めて置換することがポイントです。これで他の関数名(例: SUMPRODUCT 等)を誤って書き換える心配がありませんよ。
TIP
置換前にシートを複製してバックアップを取っておくと安心です。万が一の誤置換にも対応できますよ。
実務でのFTEST関数の活用シーン
FTEST関数は単独で使うよりも、t検定や品質管理と組み合わせて活躍します。具体的な活用シーンを見てみましょう。
製造ラインの品質ばらつき比較
ラインAとラインBで作った製品の寸法を計測し、ばらつきに差があるかを検定します。
| A列(ラインA寸法・mm) | B列(ラインB寸法・mm) | |
|---|---|---|
| 2行目 | 10.1 | 9.5 |
| 3行目 | 10.0 | 10.5 |
| 4行目 | 9.9 | 9.0 |
| 5行目 | 10.2 | 11.0 |
| 6行目 | 10.0 | 9.8 |
| 7行目 | 9.8 | 10.7 |
| 8行目 | 10.1 | 9.2 |
| 9行目 | 9.9 | 10.8 |
=FTEST(A2:A9,B2:B9)
このケースではp値が約 0.0007 と非常に小さい値になります。「ラインBの品質ばらつきはラインAよりも有意に大きい」と判断できますね。工程改善が必要なサインです。
A/Bテストの前段チェック
ウェブサイトのバージョンAとBで取得したコンバージョン数のばらつきを比較し、t検定の type を決める前段に使います。
=FTEST(コンバージョンA範囲, コンバージョンB範囲)
p値が0.05未満なら、後段のt検定は type=3(ウェルチ)を選びます。ばらつきが大きく違う2群を、強引に等分散として扱わずに済みますよ。
教育・研修の比較実験
教育法Aと教育法Bを試したクラスで、試験点数のばらつきを比較します。
- ばらつきが大きい群: 理解度の個人差が大きい
- ばらつきが小さい群: 全員が同じくらいの理解度
これにより「どちらの教育法が均一に効果があるか」を判断できますね。
投資商品のリスク比較
商品Aと商品Bの月次リターンのばらつき(リスク)を比較します。FTEST関数でばらつきの差が有意かを検定すれば、「商品Bは商品Aよりリスクが高い」を統計的に裏付けられますよ。
よくあるエラーと対処法
FTEST関数で出やすいエラーをまとめます。
#N/A エラー
範囲内に数値データが2つ未満のときに発生します。文字列や空白セルは無視されるため、数値が足りなくなるケースに注意してくださいね。セル範囲の中身がすべて文字列や空白の場合もこのエラーが出ます。
対処: 範囲指定が正しいか、データ件数が十分かを確認しましょう。
#DIV/0! エラー
いずれかの範囲の分散が0のときに発生します。全データが同じ値だと分散が0になり、分散の比を計算できません。
対処: データに変動がない列がないか確認してみてください。テスト用のダミーデータでよくあるケースですよ。
#VALUE! エラー
引数に数値以外(文字列など)が直接入力されている場合に発生します。
対処: セル参照ではなく、引数そのものに文字列を渡していないか確認しましょう。=FTEST("a","b") のような書き方はNGです。
#NUM! エラー
F分布の計算で極端な値が出たときに発生することがあります。データ件数が極端に少ない場合や、外れ値が大きい場合に起きやすいですよ。
対処: データ件数を増やすか、外れ値を見直してみてください。
結果がおかしいと感じたら
エラーは出ないのに期待と違う結果になるケースもあります。次の3点をチェックしてみてください。
- 外れ値の影響: 極端な値が1つあると分散が大きくなり、p値が小さくなります。外れ値を除外して再検定するのも有効です
- サンプル数が少なすぎないか: データが3件未満だと検定の信頼性が低くなります。最低5件以上は欲しいところですよ
- データに空白行がないか: 空白セルは無視されますが、範囲がずれる原因になります
FTEST関数のよくある質問(FAQ)
Q1. F検定とt検定の違いは何ですか?
F検定は2群の分散(ばらつき)を比較する手法で、t検定は2群の平均値を比較する手法です。実務では「F検定で等分散性を確認 → t検定で平均値の差を検定」という流れで使い分けますよ。
Q2. p値が0.05より大きい場合はどう解釈しますか?
「分散に有意な差があるとは言えない」と解釈します。これは「分散が完全に等しい」とは違う点に注意してください。あくまで「差があるとは断言できない」という消極的な結論ですね。
Q3. 片側検定はできますか?
FTEST関数は両側検定のp値しか返しません。片側のp値が必要なときは、FTESTの結果を2で割ってみてください。「ラインBの方がばらつきが大きい」のように方向を限定したい場合に使えますよ。
Q4. データ数が違っても使えますか?
使えます。範囲1と範囲2のデータ数は異なっていても問題ありません。FTEST関数が内部で自由度を別々に計算してくれますよ。
Q5. Excelとの互換性はありますか?
Excel・スプレッドシートともFTEST関数を持ち、計算結果は完全に一致します。既存のExcelファイルをそのままスプレッドシートで開いても動作しますよ。
Q6. FTESTとF.TESTのどちらを使うべきですか?
新規に数式を作るならF.TEST関数(公式推奨)が無難です。既存シートのメンテナンスではFTESTのままでもOKですが、統一性のため新旧の混在は避けたほうがよいですね。
Q7. p値が「1.5E-5」のように表示されました
これは 1.5×10⁻⁵ の指数表記で、極めて小さい確率を表します。「分散に高度に有意な差がある」という意味ですよ。読みやすく整形したいときは =TEXT(FTEST(範囲1,範囲2),"0.000000") を試してみてください。
Q8. FTEST関数とCHITEST関数の違いは何ですか?
FTEST関数は2群の分散を比較し、CHITEST関数は観測値と期待値の適合度を検定します。FTESTは量的データのばらつき比較、CHITESTはクロス集計表の独立性検定で使い分けますよ。
まとめ
スプレッドシートのFTEST関数は、2群のデータの分散(ばらつき)が等しいかを検定する互換関数です。要点を整理しておきましょう。
- FTEST(範囲1, 範囲2) でF検定の両側p値を返す
- p値が0.05未満なら「不等分散」、0.05以上なら「等分散」と判断する
- T.TEST関数のtype引数を決める前段チェックに最適
- F.TEST関数と引数・結果はまったく同じ
- 新規に数式を書くならドット付きのF.TESTがおすすめ
- 既存シートの移行は
FTEST(→F.TEST(の一括置換でOK - 製造品質・A/Bテスト・投資リスク比較など実務で幅広く使える
Excelから移行したシートでFTEST関数を見かけたら、この記事を参考に読み解いてみてください。新しく作る数式ではF.TEST関数を使ってみましょう。
