「t値は計算できたけど、p値はどうやって求めるの?」。スプレッドシートで統計処理をしていると、こんな場面に出くわすことがありますよね。
t分布表を引く方法もありますが、自由度やt値が中途半端な値だとぴったりの数字が見つかりません。
そんなときに便利なのがT.DIST.2T関数です。この記事ではGoogleスプレッドシートでのT.DIST.2T関数の使い方を、基本構文から実務活用まで解説します。片側/両側検定の判断フローやT.DISTとの等価式もあわせて紹介しますよ。
スプレッドシートのT.DIST.2T関数とは
T.DIST.2T関数(読み方: ティー・ディスト・ツー・ティー関数)は、t分布の両側確率を返す関数です。「2T」は「Two-Tailed(両側)」の略で、t分布の左右両端の面積を合計した値を求めます。
ひとことでいうと、両側検定のp値(ピー値)を直接求められる関数です。p値とは「たまたまこの結果が出る確率」のことで、この値が小さいほど統計的に意味のある差だと判断できます。
T.DIST.2T関数でできることをまとめると、次のとおりです。
- t統計量と自由度から、両側検定のp値を直接求める
- 2グループの平均に差があるかどうかを判定する
- 小サンプルデータでの仮説検定を手軽に行う
NOTE
T.DIST.2T関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
T.DIST関数が左側累積確率や確率密度を返すのに対して、T.DIST.2T関数は両側確率だけに特化しています。引数も2つだけなので、両側検定のp値を求めたいときはこちらのほうがシンプルですよ。
T.DIST.2T関数の基本構文と引数
=T.DIST.2T(x, 自由度)
カッコの中に2つの引数を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | t統計量の値(正の数値のみ) |
| 自由度(degrees_freedom) | 必須 | 自由度(1以上の正の整数) |
引数はたった2つです。T.DIST関数のようにTRUE/FALSEを選ぶ必要がありません。
xには正の値だけを渡せます。負の値を指定すると#NUM!エラーになるので注意してください。t統計量がマイナスになった場合はABS()で絶対値に変換しましょう。
=T.DIST.2T(ABS(B2), C2)
こう書けば、t統計量が正でも負でもエラーなく計算できます。
TIP
自由度(データから自由に値を決められる個数)は、1標本t検定ならサンプル数 – 1です。たとえばサンプル10個なら自由度は9になります。対応なし2標本t検定の場合は n₁+n₂-2 です。小数を渡した場合は整数部分だけが使われます。
具体的な使用例|サンプルデータでp値を求める
実際のデータを使って、T.DIST.2T関数の使い方を見ていきましょう。
例1: 製品の寸法が規格どおりか検定する
部品の目標寸法が50mmのラインから、10個サンプリングしたとします。
まずt統計量を計算します。
=(50.3 - 50) / (0.5 / SQRT(10))
結果は約1.8974です。次にT.DIST.2T関数でp値を求めます。自由度はサンプル数 – 1 = 9です。
=T.DIST.2T(1.8974, 9)
結果は約0.0903です。有意水準(「ここより小さければ差がある」と判断する基準)を5%(0.05)とすると、p値0.09は有意水準0.05を上回るため、「目標値と有意な差があるとはいえない」という判断になります。
例2: t値と自由度が与えられている場合
論文や教科書で「t = 2.306、自由度 = 8」と出てきたら、p値はこれだけで求められます。
=T.DIST.2T(2.306, 8)
結果は約0.0500です。ちょうど有意水準5%の境界線ですね。
もうひとつ試してみましょう。t = 1.96、自由度 = 60の場合です。
=T.DIST.2T(1.96, 60)
結果は約0.0546です。自由度60でも、t = 1.96だと5%をわずかに超えます。正規分布ならt = 1.96で両側確率がちょうど5%ですが、t分布では裾が厚い分だけ確率がやや大きくなるんですよ。
片側検定と両側検定の使い分け
T.DIST.2T関数は「両側検定」のp値を返します。でも、そもそも両側と片側はどう違うのでしょうか?ここを押さえておくと、関数の選び方で迷いません。
両側検定を使うケース
両側検定は「差があるかどうか」だけを調べる検定です。差の方向(大きいか小さいか)は問いません。
- 帰無仮説: μ₁ = μ₂(2つの平均に差はない)
- 対立仮説: μ₁ ≠ μ₂(差がある)
たとえば「新しい製造工程で、製品の重さが変わったかどうかを調べたい」という場面です。重くなったか軽くなったかは問わず、変化があったかを知りたいときに使います。
こちらが実務で迷ったときの安全な選択肢です。 両側検定は片側より棄却しにくい(有意差が出にくい)ため、保守的な判断になります。
片側検定を使うケース(T.DIST.RTとの使い分け)
片側検定は「特定の方向に差があるか」を調べます。
- 帰無仮説: μ₁ ≤ μ₂
- 対立仮説: μ₁ > μ₂(方向が決まっている)
たとえば「新薬が旧薬より効果が高いか」のように、方向が明確な場合に使います。
片側検定のp値を求めるには、T.DIST.RT関数を使います。
=T.DIST.RT(1.8974, 9)
結果は約0.0451です。先ほどの両側検定では0.0903だったのが、片側だと半分の値になります。
つまり両側p値 = 片側p値 × 2という関係があります。t分布は左右対称なので、両側は片側の2倍です。
| 検定の種類 | 使う関数 | 計算例(t=1.8974, df=9) |
|---|---|---|
| 両側検定 | T.DIST.2T | 0.0903 |
| 片側検定(右側) | T.DIST.RT | 0.0451 |
検定の方向が決まっていないなら、T.DIST.2Tを使いましょう。
T.DISTで同じ結果を得る等価式
T.DIST.2T関数を使わなくても、T.DIST関数で同じ結果を計算できます。等価式を知っておくと、数式の意味を理解する手がかりになりますよ。
等価式一覧
=T.DIST.2T(x, df)
=2 * T.DIST.RT(x, df)
=2 * (1 - T.DIST(x, df, TRUE))
=TDIST(x, df, 2)
4つの書き方はすべて同じ値を返します。
| 数式 | 考え方 |
|---|---|
T.DIST.2T(x, df) | 両側確率を直接取得 |
2 * T.DIST.RT(x, df) | 右側確率を2倍 |
2 * (1 - T.DIST(x, df, TRUE)) | 左側累積を1から引いて2倍 |
TDIST(x, df, 2) | 旧関数。3番目の引数2が「両側」 |
どれを使うべき?
新しく数式を書くならT.DIST.2Tが一番シンプルです。引数が2つだけで、意図も明確ですよね。
TDISTは互換性のために残されている旧関数です。既存のシートで見かけたら、そのまま使っても問題ありません。ただし新規で使う理由はないので、T.DIST.2Tに置き換えるのがおすすめです。
TIP
等価式の検算をするときは、同じxと自由度で4つの式を並べてみましょう。すべて同じ値になれば正しく理解できている証拠です。
よくあるエラーと対処法
T.DIST.2T関数でつまずきやすいポイントを3つまとめました。
xに負の値を渡して#NUM!エラー
T.DIST.2T関数はxに正の値のみを受け付けます。t統計量がマイナスのときはABS()で絶対値に変換してください。
=T.DIST.2T(-2.5, 10) ← #NUM! エラー
=T.DIST.2T(ABS(-2.5), 10) ← OK(結果: 約0.0316)
t分布は左右対称なので、絶対値にしても両側確率は変わりません。ABS()でラップするクセをつけておくと安全ですよ。
自由度に0以下を指定して#NUM!エラー
自由度は1以上の正の整数です。0や負の値を渡すとエラーになります。
=T.DIST.2T(2, 0) ← #NUM! エラー
=T.DIST.2T(2, -1) ← #NUM! エラー
自由度 = サンプル数 – 1 なので、サンプルが1個しかないとき(自由度0)はT.DIST.2T関数は使えません。最低でもサンプル2個(自由度1)が必要です。
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーです。セル参照を使うときは、参照先が数値になっているか確認しましょう。空白セルを参照した場合は0として扱われ、xが0だと#NUM!エラーになります。
=T.DIST.2T("abc", 10) ← #VALUE! エラー
=T.DIST.2T(0, 10) ← #NUM! エラー(xは正の値のみ)
まとめ
T.DIST.2T関数は、t分布の両側確率(p値)を直接求める関数です。
- 引数はxと自由度の2つだけ。シンプルに使える
- xには正の値のみ指定可能。負の値にはABS()を使う
- 両側検定のp値に直結する。p < 0.05 なら有意差ありと判断
- 片側検定にはT.DIST.RT、累積確率にはT.DISTを使い分ける
2 T.DIST.RT(x, df)や2 (1 - T.DIST(x, df, TRUE))でも同じ結果が出る- 自由度は1以上。1標本ならサンプル数 – 1、対応なし2標本なら n₁+n₂-2 で求める
「2つのグループに本当に差があるのか?」を判断したいとき、T.DIST.2T関数はたった1行で答えを出してくれます。検定の方向に迷ったら、まずはT.DIST.2Tで両側p値を確認してみてくださいね。
