Microsoft Excel:使用 OR 逻辑和 COUNTIF 的多个范围

Microsoft Excel:使用 OR 逻辑和 COUNTIF 的多个范围

我正在分析一些表单回复,想计算是否有人在一系列不同的框中填写了特定答案。我附上了一个例子来解释逻辑。

回应表

在填写地址详细信息时,人们经常将他们的县/地区填错,或填入多个框中,或留空多个框。我想在表格中记录人们的回答,例如:

COUNTIF 表

因此,对于所在地区为白金汉郡且喜欢吃鱼的人数,我希望 Excel 能够计算 A:D 列中是否有任何列包含“白金汉郡”,以及 E 列中是否包含“是”。本质上,我想要:

=COUNTIFS(OR(A:A,B:B,C:C,D:D),"Buckinghamshire",E:E,"Yes")

但这样做不行;你不能在 COUNTIF 范围内使用 OR。有些人建议对多个 countif 求和,但在这个例子中,这意味着在两个不同的列中列出其国家/地区的人会被计算两次,这不是我想要的。

有没有一种巧妙的解决方案可以消除这些重复的回复?或者在 COUNTIF 中应用 OR 逻辑的替代方法?

答案1

当其他用户回复时,我正要回复,但无论如何,您也可以使用 SUM,如下所示:

=SUM((((A$2:A$5=$G$2)+(B$2:B$5=$G$2)+(C$2:C$5=$G$2)+(D$2:D$5=$G$2))>0)*($E$2:$E$5="Yes"))

在此处输入图片描述

答案2

您可以使用 SUMPRODUCT 来实现您的目标:

  • 对于鱼类爱好者:=SUMPRODUCT((($A$2:$A$12=$G2)+($B$2:$B$12=$G2)+($C$2:$C$12=$G2)+(D2:D12=$G2))*($E$2:$E$12="Yes"))
  • 不喜欢吃鱼的人:=SUMPRODUCT((($A$2:$A$12=$G2)+($B$2:$B$12=$G2)+($C$2:$C$12=$G2)+(E2:E12=$G2))*($E$2:$E$12="No"))

不幸的是,这不是一个非常简单的公式,它只是实现了你在问题中描述的逻辑。

在此处输入图片描述

答案3

另一个可能的解决方案是根据区域标准过滤列以返回结果(是/否),然后对与答案(是/否)相对应的行求和:

=SUM(IF(FILTER(E:E,(A:A=$G2)+(B:B=$G2)+(C:C=$G2)+(D:D=$G2))="Yes",1,"0"))

在此处输入图片描述

相关内容