【Excel】TDIST関数の使い方|t分布のp値を求めて仮説検定する方法

スポンサーリンク

A/Bテストの有意差判定や品質管理の母平均検定で「p値を計算して」と言われたとき、Excelで使える関数のひとつが TDIST関数 です。

ただ、Excelには T.DIST / T.DIST.RT / T.DIST.2T という似た名前の新関数も並んでいて、どれを使えばよいか迷うことが多いですよね。

この記事では、TDIST関数の基本的な使い方から、A/Bテストや品質管理の実務例、新関数や TINV・TTEST との使い分けまでを、まとめて整理します。

ExcelのTDIST関数とは?

ExcelのTDIST関数(読み方:ティーディスト)は、スチューデントの t分布における確率(p値)を返す関数です。関数名は「TDistribution(t分布)」の略で、統計学者ウィリアム・ゴセットが「Student」という筆名で1908年に発表した分布に由来します。

ざっくり言うと、t値(標本から計算した検定統計量)と自由度を渡すと、「その値以上の極端な結果が出る確率」を返してくれる関数です。仮説検定でいう p値 のことですね。

TDIST関数は、Excel 2007以前から提供されている 旧式の関数で、Excel 2010以降では「互換性関数」のグループに分類されています。後継として T.DIST / T.DIST.RT / T.DIST.2T の3つの新関数が用意されていますが、TDIST関数も後方互換性のために引き続き使えます。

NOTE

「互換性関数」は古いブックでも問題なく動くように維持されている関数群です。新規作成のワークブックでは新関数(T.DIST.RT / T.DIST.2T)が推奨されますが、既存のテンプレートやマクロでTDISTを見かけても、結果は新関数とまったく同じです。

TDIST関数の書き方(構文と引数)

TDIST関数の構文は次のとおりです。

=TDIST(x, deg_freedom, tails)

引数は3つで、すべて必須です。

引数必須説明
x必須分布を評価する数値(t値)。0以上の値のみ指定可
deg_freedom必須自由度を表す正の整数(1以上)
tails必須裾の数を指定(1=片側分布、2=両側分布)

ポイントは2つあります。

  1. x には負の値を渡せません。t値が負になった場合は ABS関数 で絶対値を取って渡します。
  2. tails は1か2のみです。「右側だけの確率がほしいか(1)」「両側の確率がほしいか(2)」を選びます。

戻り値は次のように決まります。

  • tails=1 のとき → P(T ≥ x)、つまり 右側(上側)累積確率
  • tails=2 のとき → P(|T| ≥ x)、つまり 両側累積確率

TDIST関数の基本的な使い方

具体例で動かしてみましょう。

t値が「2.0」、自由度が「20」のとき、片側のp値と両側のp値を求める数式は次のとおりです。

=TDIST(2.0, 20, 1)   → 約 0.0299(片側のp値)
=TDIST(2.0, 20, 2)   → 約 0.0598(両側のp値)

両側のp値は片側の約2倍になっています。t分布が左右対称なので、両側は両端の確率を合計するためです。

セル参照で書くこともできます。

セル
B22.0(t値)
B320(自由度)
=TDIST(B2, B3, 2)

TIP

t値が負になることがあった場合は、ABS関数で絶対値を取って渡します。
=TDIST(ABS(B2), B3, 2) のように書けば、負のt値でも #NUM! エラーを防げます。

【実務例】A/BテストでCV率の有意差を判定する

WebサイトのABテストで、デザインAとデザインBのコンバージョン率(CV率)に差があるかを検定する例です。

グループサンプル数CV率
A100人5.0%
B100人6.5%

「AとBに差があるか」は方向性を問わない検定なので、両側検定(tails=2) を使います。

事前に標準誤差からt値を求めると、約1.85になります(自由度は n_A + n_B − 2 = 198)。

=TDIST(1.85, 198, 2)   → 約 0.066

p値が約0.066なので、有意水準5%(=0.05)と比較すると 0.066 > 0.05。よって「AとBに有意な差があるとは言えない」と判定します。

もし「Bの方が高い」と方向性を仮定する片側検定なら、=TDIST(1.85, 198, 1) で約0.033となり、5%水準で有意差ありと判定できます。検定の方向性で結論が変わるので、tailsの指定は慎重に決めましょう。

【実務例】品質管理で母平均が基準値と異なるか検定する

製品の重量基準が500gの工場で、サンプル20個を測定した結果、平均502g、標準偏差3gだったとします。「実際の母平均は基準より重いのか?」を検定する例です。

帰無仮説は「母平均 = 500g」、対立仮説は「母平均 > 500g」(重い方向のみを仮定)なので、片側検定(tails=1) を使います。

t値は次のように計算できます。

t = (標本平均 − 基準値) ÷ (標準偏差 ÷ √サンプル数)
  = (502 − 500) ÷ (3 ÷ √20)
  ≒ 2.98

自由度は n − 1 = 19 なので、

=TDIST(2.98, 19, 1)   → 約 0.0039

p値は0.0039で、有意水準5%より小さいため 「母平均は500gより有意に大きい」 と判定できます。

NOTE

「両側か片側か」は検定の前に決めておくのが原則です。結果を見てから tails を切り替えると、p値ハッキングと呼ばれる統計的な誤りにつながります。

T.DIST / T.DIST.RT / T.DIST.2T との違い・使い分け

TDIST関数と新関数3つの違いを整理します。

関数名戻り値引数対応バージョン
TDIST右側 or 両側確率(x≥0必須)(x, df, tails)Excel 2007以前~(互換性関数)
T.DIST左側累積確率 / 確率密度(x, df, cumulative)Excel 2010以降
T.DIST.RT右側累積確率(x, df)Excel 2010以降
T.DIST.2T両側累積確率(x≥0必須)(x, df)Excel 2010以降

数学的には次の関係が成り立ちます。

  • TDIST(x, df, 1)T.DIST.RT(x, df)(右側のp値)
  • TDIST(x, df, 2)T.DIST.2T(x, df)(両側のp値)
  • T.DIST(x, df, TRUE)1 − T.DIST.RT(x, df)(左側のp値)

つまりTDIST関数の代わりに新関数を使うなら、tails=1 → T.DIST.RTtails=2 → T.DIST.2T に置き換えればまったく同じ結果になります。

TIP

新関数の T.DIST(無印)だけは「左側」の累積確率を返すので、TDIST と同じ感覚で使うと結果が反転します。新関数で「TDIST と同じ右側の値」を出したいなら T.DIST.RT を使うのが安全です。

どちらを選ぶべきか

状況推奨
既存のテンプレート・マクロを保守するときTDIST(書き換え不要)
新規ワークブックを作るときT.DIST.RT / T.DIST.2T
古いExcel(2007以前)を使う人と共有するときTDIST(互換性が高い)
左側のp値が必要なときT.DIST(無印)

TINV関数・TTEST関数との使い分け

t分布まわりの関数は3つセットで覚えると整理しやすいです。

関数入力出力使う場面
TDISTt値 + 自由度p値計算済みのt値からp値を求める
TINVp値(両側)+ 自由度t値(臨界値)信頼区間の臨界値を求める
TTEST2つのデータ範囲p値データから一気にp値を出す

実務では使い分けが次のようになります。

  • 「2つのデータの差を検定したい」 → TTEST関数 が最速
  • 「自分でt値を計算してからp値を出したい」 → TDIST関数
  • 「95%信頼区間の臨界値を求めたい」 → TINV関数

NOTE

TINV関数は「両側のp値」から t値を逆算する関数です。片側の臨界値が必要なときは、有意水準を2倍してから渡します(例: 片側5%なら =TINV(0.10, df))。

新関数では TDIST → T.DIST.RT / T.DIST.2T、TINV → T.INV / T.INV.2T、TTEST → T.TEST という対応関係になっています。

TDIST関数のよくあるエラーと対処法

TDIST関数で発生しやすいエラーをまとめました。

エラー原因対処法
#NUM!x が負の値ABS(x) で絶対値を渡す
#NUM!deg_freedom が0以下自由度を1以上の整数で指定する
#NUM!tails が 1 または 2 以外1か2のみを指定する
#VALUE!引数に文字列が含まれる数値(またはセル参照)を指定する
結果が想定と違うtails の指定ミス検定の方向性(片側/両側)を確認する

NOTE

deg_freedom は内部で整数に切り捨てられるので、19.7 を渡しても 19 として扱われます。とはいえ、可読性のために整数値で書くのがおすすめです。

まとめ:TDIST関数で仮説検定をマスターしよう

TDIST関数のポイントを最後にまとめます。

  • TDIST関数 = t値からp値を返す関数(仮説検定のp値計算に使う)
  • 引数は =TDIST(x, deg_freedom, tails)、x は0以上の値のみ
  • tails=1 で片側のp値、tails=2 で両側のp値が返る
  • 新関数の T.DIST.RT / T.DIST.2T と完全に同じ結果になる(後方互換)
  • 既存のテンプレートを保守するならTDIST、新規ならT.DIST.RT / T.DIST.2Tがおすすめ
  • 2標本のデータから直接p値を出したい場合は TTEST関数 が便利

A/Bテストや品質管理など、実務で「有意差があるかどうか」を判定する場面はこれから増えていきます。TDIST関数を一度マスターしておけば、新関数に切り替わっても考え方はそのまま使えるので安心です。

t分布まわりの関連関数として、信頼区間の臨界値を求める ExcelのTINV関数 や、母集団全体の標準偏差を求める ExcelのSTDEVP関数ExcelのSTDEV関数 もあわせて押さえておくと、Excelで一通りの統計処理ができるようになります。

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