打开导航
打开分析工作区

电子表格

用 Excel 做卡方检验(CHISQ.TEST)

Excel 可以做卡方独立性检验,但有一半工作要你自己完成。本教程使用的函数名与英文版 Excel 相同(简体中文版 Excel 也是 CHISQ.TEST),最后说明 Excel 还缺什么。

当前产品边界

不写公式:卡方检验计算器

只需输入观察频数,χ²、自由度、P 值、Cramér's V 和期望频数会立即显示;有单元格期望频数低于 5 时也会提示。免费,在浏览器中运行。

打开卡方检验计算器
01

操作步骤

下面假设观察频数的 2×2 表位于 B2:C3,行合计在 D2:D3,列合计在 B4:C4,总数在 D4,期望频数表位于 B8:C9。参数之间用英文逗号分隔。

  • 第一步,统计观察频数:插入数据透视表,把一个变量拖到“行”、另一个拖到“列”,再把任一字段以“计数”放入“值”,然后把单元格以数值粘贴到空白区域。
  • 第二步,计算期望频数:在 B8 输入 =B$4*$D2/$D$4,并复制到 B8:C9。CHISQ.TEST 不会自动计算期望值。
  • 第三步,用 CHISQ.TEST 得到 P 值:输入 =CHISQ.TEST(B2:C3,B8:C9)。结果小于 0.05,就在 5% 水平下拒绝独立性假设。
  • 第四步,补上检验统计量:χ² 用 =SUM((B2:C3-B8:C9)^2/B8:C9) 计算;旧版 Excel 需要按 Ctrl+Shift+Enter 以数组公式输入。
  • 第五步,核对临界值:=CHISQ.INV.RT(0.05,1) 返回自由度为 1 时的临界值;一般 df = (行数 − 1) × (列数 − 1)。
02

公式一览

CHITEST 是 Excel 2007 及更早版本中的旧名称,计算方式相同;CHISQ.TEST 从 Excel 2010 起提供。两者都要求观察区域和期望区域大小相同。

  • 期望频数:=B$4*$D2/$D$4
  • P 值:=CHISQ.TEST(B2:C3,B8:C9)
  • 检验统计量 χ²:=SUM((B2:C3-B8:C9)^2/B8:C9)
  • 临界值(df = 1):=CHISQ.INV.RT(0.05,1)
  • 由 P 值反推 χ²:=CHISQ.INV.RT(P,df)
03

示例:n = 100 的 2×2 表

示例数据与英文版指南相同:观察频数第一行为 20 和 30,第二行为 30 和 20。所有行合计和列合计都是 50,所以每个单元格的期望频数都是 50 × 50 ÷ 100 = 25。=CHISQ.TEST(B2:C3,B8:C9) 返回 0.0455,在 5% 水平下勉强显著。对应的检验统计量 χ² = 4.00(df = 1),临界值 =CHISQ.INV.RT(0.05,1) = 3.841。

Excel 没告诉你的是:加上 Yates 连续性校正后,χ² 降为 3.24(P = .072);Fisher 精确检验为 P = .071,两者都高于 0.05。这样接近临界的结果,措辞应当保守,并同时报告效应量:Cramér's V = 0.20。

以上数值由 Crosstabs 的统计引擎计算;Excel 中 CHISQ.TEST 的结果等于未校正的 Pearson 卡方检验 P 值。

04

CHISQ.TEST 没有提供什么

CHISQ.TEST 只返回 P 值。完整的报告还需要检验统计量、自由度、效应量,以及对期望频数的检查。单元格期望频数低于 5 时 Excel 不会提醒,2×2 表也不做连续性校正。

  • 没有效应量:Cramér's V 或 Phi 系数要自己由 χ² 计算。
  • 没有残差:Excel 不显示是哪些单元格造成了关联。
  • 没有 Fisher 精确检验:小样本 2×2 表没有内置函数可用。
  • 期望频数偏小也不提醒:请自行检查 Cochran 规则。

方法来源

参考资料与复核入口

常见问题

先确认方法,再解释结果。

CHISQ.TEST 会返回卡方统计量吗?

不会,只返回 P 值。统计量可以用 =SUM((观察-期望)^2/期望) 计算,或由 P 值用 =CHISQ.INV.RT(P,df) 反推。自由度为 (行数 − 1) × (列数 − 1)。

CHISQ.TEST 和 CHITEST 有什么区别?

计算上没有区别。CHITEST 是 Excel 2007 及以前的旧名称,为兼容而保留;CHISQ.TEST 是 Excel 2010 起的名称。简体中文版 Excel 的函数名与英文版相同。

为什么 CHISQ.TEST 需要期望值区域?

这个函数用于比较任意的观察分布和任意的期望分布。做独立性检验时,必须自己按“行合计 × 列合计 ÷ 总数”建立期望频数表。

Excel 会做 Yates 校正吗?

不会。即使是 2×2 表,CHISQ.TEST 计算的也是未校正的 Pearson 卡方检验。期望频数偏小时,Fisher 精确检验是更好的选择,但 Excel 没有提供。

结果应该怎么报告?

通常写出检验统计量、自由度、样本量、P 值和效应量。以上例来说是 χ²(1, N = 100) = 4.00,P = .046,Cramér's V = 0.20。

在完整数据上运行同样的分析。

源文件在浏览器本地处理,无需注册。基础交叉分析支持中文;部分专业功能和文档导出说明仍为英文。

打开工作区