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

我正在努力将条件集成到我的COUNTIFS语句中。 我有5个条件,我已经能够轻松地工作,但我无法弄清楚最后一个。 标准范围将是A1:A40000,并且标准将计算与工作表2,单元格A1:A40中的30个文本string列表中的任何值匹配的编号。 这可能吗? 没有其他条件我可以得到结果。 不幸的是,我没有灵活性在A1:A40000旁边添加一列来检查它是否在列表中。

编辑:澄清每个请求。

我正在做的简化版本。 我需要根据整个数据集中的列来计数满足几个条件的数字项(列A)。 因此,我需要find在列B中具有值“1”的项目的数量,以及在列“C”中的AND值和“是”的值,以及在列“D”中的“OLD”的值。和 – (我正在挣扎的部分)列“E”必须包含任何一个完全独立的值(称之为Z1:Z40)。 前三个条件的公式是:

=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))**) 

但是这是行不通的…

您可以简单地使用范围作为标准。 如果你这样做,那么你的COUNTIFS函数将返回一个数组( Z1:Z40每个值为一个值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(MATCH为多项目标准)如果你使用SUMPRODUCT ,那么最好是限制效率原因的范围,例如

=SUMPRODUCT((B2:B100=1)*(C2:C100="yes")*(D2:D100="old")*ISNUMBER(MATCH(E2:E100,Z1:Z40,0)))

您可以添加尽可能多的ISNUMBER(MATCH标准), Z1:Z40可以是任何单个行/列范围

假设所有的标题都在第一行,真正的数据从第二行开始。我会在结尾添加一列,并把公式

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

然后将其复制下来,其中列F为“是”的行是符合所有条件的行。

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

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

计算所有包含“是”的单元格