スプレッドシートのTTEST関数の使い方|t検定(互換)

スポンサーリンク

「ExcelのシートにTTEST関数があるけど、スプレッドシートでも動くの?」。Excel時代のファイルを開いたときに気になる方は多いはずです。

結論からいえば、スプレッドシートでもTTEST関数はそのまま使えます。ただし互換性のために残されている旧関数です。新規に数式を組むならT.TEST関数への切り替えがおすすめですよ。

この記事ではTTEST関数の書き方から使い方、T.TESTとの違いやエラー対処法まで解説します。

スプレッドシートのTTEST関数とは

TTEST関数(読み方: ティーテスト関数)は、2つのデータ群に統計的な差があるかを判定する関数です。戻り値はp値(ピーち:偶然その差が生じる確率)です。p値が小さいほど「有意な差がある」と判断できます。

名前の「T」はt検定(ティーけんてい:2群の平均値の差を統計的に検定する手法)の「t」に由来します。もともとExcelの初期バージョンから搭載されていた関数です。Excel 2010以降に登場したT.TEST関数の前身にあたります。

Googleスプレッドシートでも動作しますが、公式には「互換関数」という位置づけです。

TTEST関数にできることを整理すると、次のとおりです。

  • 2つのグループのデータに統計的な差があるか判定する
  • 片側検定(方向あり)と両側検定(方向なし)を切り替えられる
  • 対応あり・等分散・不等分散の3タイプのt検定に対応する
  • Excelから移行した既存シートをそのまま動かす

NOTE

TTEST関数はGoogleスプレッドシートの全バージョンで使えます。ExcelにもTTEST関数があり、動作は同じです。

T.TESTの互換関数である理由

Excel 2010で統計関数が刷新されました。TTEST関数はドット付きのT.TESTに置き換えられています。Googleスプレッドシートも同じ方針を採用しています。

互換関数は「古いシートが壊れないように残してある関数」です。新旧で結果はまったく同じですが、Googleの公式ヘルプではT.TESTの使用を推奨しています。

TTEST関数の書き方

基本構文と4つの引数

=TTEST(範囲1, 範囲2, tails, type)

カッコの中に4つの引数を指定します。すべて必須です。

引数必須/任意説明
範囲1必須1つ目のデータ範囲(例: A2:A11)
範囲2必須2つ目のデータ範囲(例: B2:B11)
tails必須1 = 片側検定、2 = 両側検定
type必須1 = 対応あり、2 = 等分散、3 = 不等分散(ウェルチ)

tails引数の選び方

  • tails=2(両側検定): 「AとBに差があるか?」を調べます。方向は問いません
  • tails=1(片側検定): 「AはBより大きいか?」など方向が決まっている場合に使います

迷ったらtails=2を選んでください。実務では両側検定が標準です。

type引数の選び方

  • type=1(対応あり): 同じ対象の前後比較に使います。例: 同じ社員の研修前後テスト
  • type=2(等分散): 2群が独立で、分散(ばらつき)が等しいとき
  • type=3(不等分散): 2群が独立で、分散が等しいか不明なとき。ウェルチのt検定(分散が異なるデータにも使える検定)と呼ばれます

実務ではtype=3が安全です。等分散でも不等分散でも正しく機能しますよ。

TIP

tails・typeに小数を指定した場合は整数に切り捨てられます。たとえばtails=2.9は2として扱われます。また、範囲内の数値以外の要素(文字列や空白セル)は無視されます。

TTEST関数の基本的な使い方

対応のあるt検定の例

同じ5人の社員に対して、研修前後のテストスコアを比較する例です。

 A列(研修前)B列(研修後)
2行目6572
3行目7078
4行目5560
5行目8085
6行目6070

同じ社員の前後データなので、type=1(対応あり)を使います。差の方向は問わないので、tails=2(両側検定)です。

=TTEST(A2:A6,B2:B6,2,1)

結果は約0.0018です。有意水準(ゆういすいじゅん:判定の基準となる確率)5%(0.05)より小さいですね。「研修前後で有意な差がある」と判断できます。

NOTE

type=1(対応あり)では範囲1と範囲2のデータ数を揃えてください。1行目と1行目がペアになります。データ数が異なると#N/Aエラーが出ます。

対応のないt検定の例

東京支店と大阪支店の月間売上を比較する例です。支店数が異なる2グループの比較です。

A列(東京支店・万円)B列(大阪支店・万円)
320280
350310
310290
340300
330270
360

東京は6か月分、大阪は5か月分のデータです。異なるグループなのでtype=3(不等分散)を使います。データ数が違っても問題ありません。

=TTEST(A2:A7,B2:B6,2,3)

結果は約0.0012です。0.05よりかなり小さいので「2拠点の売上に有意な差がある」と判断できます。

tails=2(両側検定)なので、わかることは「差がある」ということだけです。「東京のほうが高い」と言いたい場合は、平均値の差もあわせて確認してくださいね。

TTESTとT.TESTの違い

TTEST関数とT.TEST関数の違いを一覧にまとめます。

比較項目TTEST(旧)T.TEST(新)
構文=TTEST(範囲1,範囲2,tails,type)=T.TEST(範囲1,範囲2,tails,type)
引数の数4つ4つ(同じ)
戻り値p値p値(同じ)
位置づけ互換関数(旧)推奨関数(新)
Excel対応全バージョン2010以降

結論として機能はまったく同じです。引数も結果も一致します。違いは名前だけです。

=TTEST(A2:A6,B2:B6,2,3)
=T.TEST(A2:A6,B2:B6,2,3)

この2つの数式はまったく同じ値を返します。

TTEST関数を使う場面があるとすれば、古いExcelファイル(.xls形式)を受け取った場合です。ファイル内の既存数式に合わせてそのまま使えばよいでしょう。新しく数式を書くときはT.TEST関数を使ってみてください。

TIP

既存シートのTTEST数式を移行するのは簡単です。「検索と置換」(Ctrl + H)で TTEST(T.TEST( に一括置換するだけでOKですよ。引数の順番も個数も変わりません。

よくあるエラーと対処法

TTEST関数で出やすいエラーを3つ紹介します。

#N/A エラー

type=1(対応あり)で範囲1と範囲2のデータ数が異なると発生します。対応ありt検定はペアでの比較が前提です。データ数を揃えるか、type=3(不等分散)に変更してください。

#NUM! エラー

引数の数値が範囲外のときに発生します。原因は次のいずれかです。

  • tailsが1でも2でもない: tailsには1か2だけを指定できます
  • typeが1・2・3のいずれでもない: typeは1〜3の整数です

#VALUE! エラー

引数に数値以外(文字列など)が入っている場合に発生します。tails や type に文字列を渡していないか確認してみてください。セル参照先が空白や文字列になっているケースも多いですよ。

計算結果がおかしいと感じたら

エラーは出ないのに期待と違う結果になるケースもあります。

  1. typeの選択を見直す: 前後比較なのにtype=3を使っていませんか。同じ対象の前後データならtype=1です
  2. tailsの選択を見直す: 片側(tails=1)と両側(tails=2)ではp値が約2倍異なります
  3. データに空白行がないか確認: 空白セルは無視されますが、範囲がずれる原因になります

TIP

t検定の結果をさらに深掘りしたい場合は、TDIST関数TINV関数も活用できます。p値から臨界値を求めたり、t分布の確率を確認したりできますよ。新関数のT.DIST関数T.INV関数もあわせてチェックしてみてください。

まとめ

TTEST関数は、2群のデータに統計的な差があるかを判定する互換関数です。要点を整理しておきましょう。

  • TTEST(範囲1, 範囲2, tails, type) でp値を返す
  • tails: 1=片側検定、2=両側検定。迷ったら2
  • type: 1=対応あり、2=等分散、3=不等分散。迷ったら3
  • T.TEST関数と引数・結果はまったく同じ
  • 新規に数式を書くならドット付きのT.TESTがおすすめ
  • 既存シートの置き換えは TTEST(T.TEST( の一括置換でOK

Excelから移行したシートでTTEST関数を見かけたら、この記事を参考に読み解いてみてください。新しく作る数式ではT.TEST関数を使ってみましょう。

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