スプレッドシートのT.DIST.2T関数の使い方|t分布の両側確率でp値を求める

スポンサーリンク

「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個サンプリングしたとします。

  • サンプル数: 10
  • 平均値: 50.3mm(AVERAGE関数で算出)
  • 標準偏差: 0.5mm(STDEV関数で算出)
  • 目標値: 50mm

まず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.2T0.0903
片側検定(右側)T.DIST.RT0.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値を確認してみてくださいね。

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