2013-12-12 56 views
1

我正在努力将条件集成到我的COUNTIFS语句中。我有5个条件可以轻松工作,但我无法弄清楚最后一条。条件范围应为A1:A40000,并且条件将计算与工作表2,单元格A1:A40上的30个文本字符串列表中的任何值相匹配的数字。这可能吗?我可以在没有其他条件的情况下得到结果。不幸的是,我无法灵活地在A1:A40000旁边添加一列来检查它是否在列表中。Excel:在列表中查找与另一个列表匹配的所有值作为COUNTIFS语句的一部分

编辑:每个请求澄清。

我正在做的简化版本。我需要根据整个数据集中的列来计数满足多个条件的数字项(列A)。因此,我需要找到列B中具有值“1”的项的数量 - AND“ - ”列中的“是”值 - AND - 列“D”中的“OLD”的值 - AND - (我正在努力的部分)列“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))**)   

但是,这并不工作...

+0

我觉得很难理解你真正的问题, f信息... – Jerry

+0

杰里,感谢您的反馈。我更新了它,希望更清楚。 – redstang423

+0

目前还不清楚,有什么'= COUNTIFS(B:B,1,C:C,“是”,D:D,“老”)与列(A)希望数数? – pnuts

回答

1

您可以简单地使用范围作为标准。如果你这样做,那么你COUNTIFS函数会返回一个数组(各为Z1:Z40每个值一个值),所以你需要一个函数来概括这个数组 - 我用SUMPRODUCT,因为它不需要数组项

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

该方法有一些局限性 - 您只能在一个COUNTIFS函数中使用两个“多项”条件(并且如果您必须是一列,另一列必须使用,或者您需要使用TRANSPOSE以使其成为这种方式),并且Z1:Z40中的项目不应该重复(或者您可能会重复计数)。

为了克服这些要么限制,你可以代替COUNTIFS使用SUMPRODUCT - 与ISNUMBER(MATCH为多项目的标准。如果您使用SUMPRODUCT,那么最好限制范围以提高效率,例如

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

,只要你想你可以添加尽可能多的ISNUMBER(MATCH标准和Z1:Z40可以是任何单个行/列范围

+0

这是完美的。谢谢! – redstang423

0

比方说,所有的标题在第1行,真正的数据从第2行开始。 我会在结尾添加一列并放入公式

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

然后将其复制下来,其中列F为“是”的任何行都满足所有条件。

0

也有使用通配符

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

其计数方式所有包含'是'的单元格

相关问题