Excel:作为COUNTIFS语句的一部分,查找列表中与另一个列表匹配的所有值

Excel:作为COUNTIFS语句的一部分,查找列表中与另一个列表匹配的所有值,excel,Excel,我正在努力将一个条件整合到我的国家声明中。我有大约5个条件,我可以很容易地工作,但我不能找出最后一个。标准范围为A1:A40000,标准将统计与表2单元格A1:A40上30个文本字符串列表中的任何值匹配的数字。这可能吗?我可以在没有其他条件的情况下得到结果。不幸的是,我没有足够的灵活性在A1:A40000旁边添加一列来检查它是否在列表中 编辑:根据请求进行澄清 我正在做的事情的简化版本。根据整个数据集中的列,我需要计算满足多个条件的项目数(A列)。因此,我需要找到B列中值为“1”的项目数量-C列

我正在努力将一个条件整合到我的国家声明中。我有大约5个条件,我可以很容易地工作,但我不能找出最后一个。标准范围为A1:A40000,标准将统计与表2单元格A1:A40上30个文本字符串列表中的任何值匹配的数字。这可能吗?我可以在没有其他条件的情况下得到结果。不幸的是,我没有足够的灵活性在A1:A40000旁边添加一列来检查它是否在列表中

编辑:根据请求进行澄清

我正在做的事情的简化版本。根据整个数据集中的列,我需要计算满足多个条件的项目数(A列)。因此,我需要找到B列中值为“1”的项目数量-C列中值为“是”-D列中值为“旧”-和-(我正在努力解决的部分)E列必须包含在完全不同范围内的任何一个值(称之为Z1:Z40)。前3个条件的公式为:

=COUNTIFS(B:B,1, C:C,"YES", D:D,"OLD")
粗体字的最终标准如下:

=COUNTIFS(B:B,1, C:C,"YES", D:D,"OLD",  **E:E,isnumber(match(E:E,Z1:Z40,0))**)          

但这不起作用…

假设所有的标题都在第1行,真正的数据从第2行开始。 我会在末尾加一列,然后输入公式

=IF(AND(B2=1, C2="YES", D2="OLD", COUNTIF($Z$1:$Z$40,E2)),"YES","NO")

然后向下复制,列F为“是”的任何行都是符合所有条件的行。

您只需将范围用作条件即可。如果您这样做,那么您的
COUNTIFS
函数将返回一个数组(在
Z1:Z40中,每个值对应一个值),因此您需要一个函数对该数组求和-我使用
SUMPRODUCT
,因为它不需要数组条目

=SUMPRODUCT(COUNTIFS(B:B,1,C:C,“yes”,D:D,“old”,E:E,Z1:Z40))

这种方法有一些局限性-您只能在一个
COUNTIFS
函数中使用两个“多项目”标准(如果您这样做,一个必须是列,另一个必须是行,或者您需要使用
TRANSPOSE
来实现),Z1:Z40中的项目不应该重复(或者您可能会得到重复计数)

要克服这两个限制,您可以使用
SUMPRODUCT
代替
COUNTIFS
,并使用
ISNUMBER(匹配
)作为多项目标准。如果您这样使用
SUMPRODUCT
,那么出于效率原因,最好限制范围,例如:

=SUMPRODUCT((B2:B100=1)*(C2:C100=“yes”)*(D2:D100=“old”)*ISNUMBER(匹配(E2:E100,Z1:Z40,0))


您可以添加任意数量的
ISNUMBER(匹配
条件),并且
Z1:Z40
可以是任何单个行/列范围

还有一种使用通配符的方法

=countifs(A1:D1;"*yes")

这包括了所有包含“是”的单元格。

我认为用这么多的信息很难理解您的真正问题……Jerry,谢谢您的反馈。我希望更新后的单元格更加清晰。B、C、D、E等栏有关于A栏中项目的详细信息。