我向人们发了一项调查。其中一个问题问他们的性别,另一个问题问他们是否会头痛。我现在有一个 Excel 文件,我正在尝试分析它。
但我无法计算统计数据。
我想要计算出患有头痛的人中男性占比是多少,女性占比是多少。
我知道这个概念是
# people that are men AND experience headaches /
# of people that experience headaches
我如何获得这些百分比?
答案1
常规方法countif
无法将多个列作为依赖项。请使用SUMPRODUCT
。
此公式将计算所有行男性和头痛是真的。
=SUMPRODUCT((A1:A100=1)*(B1:B100=1))
请注意,如果您愿意,可以扩展公式以具有第三个或更多个依赖项 »
...*(C1:C100=x)...
示例输出 = 2
要获取头痛人数,请使用
COUNTIF
,因为这里我们只需要查找一列COUNTIF(B:B,1)
示例输出 = 6
现在你只需要把这两个公式结合起来
=SUMPRODUCT((A1:A100=1)*(B1:B100=1)) / COUNTIF(B:B,1) =SUMPRODUCT((A1:A100=2)*(B1:B100=1)) / COUNTIF(B:B,1)
示例输出 = 2/6 = 0,333333 = 33,33 %
示例输出 = 4/6 = 0,666667 = 66,67 %第一个配方适用于男性头痛,第二个配方适用于女性头痛
第一个公式有几种替代方法=SUMPRODUCT((A1:A100=1)*(B1:B100=1))
,它们都会给出相同的结果。选择您最喜欢的一种:
{=SUM(IF((A1:A100=1)*(B1:B100=1),1))}
{=SUM((A1:A100=1)*(B1:B100=1))}
{=SUM(N(A1:A100&B1:B100=1&1))}
=COUNTIFS(A:A;1,B:B,1)
» 在 Excel 2003 中不可用{=SUM((A:A=1)*(B:B=1))}
» 在 Excel 2003 中不可用
请注意,其中大多数都是数组公式 {...}
使用CTRL++输入SHIFTENTER
答案2
另一种方法是使用AVERAGE
这样的函数
=AVERAGE(IF(B2:B100=1,IF(A2:A100=1,1,0)))
已确认CTRL++SHIFTENTER
当 B2:B100 = 1(经历过头痛)时,将根据他们是男性还是女性返回 1 或 0,取平均值即可得出正确的百分比