具有多个条件和表的COUNTIF公式

我有一个四位开发人员的名单(A1 =“Dev1”,A2 =“Dev2”,A3 =“Dev3”和A4 =“Dev3”)。

在工作周的日程表中,我有5个栏目,每周一个(C1 =“星期一”,D1 =“星期二”,E1 =“星期三”,F1 =“星期四,G1 =”星期五“)。

如果开发者Dev3在星期二rest一天,我会去D2并input:“Dev3”。

在H2上,我有下面的公式:

= COUNTIF(C2:G2, “* DEV1 *”)+ COUNTIF(C2:G2, “* DEV2 *”)+ COUNTIF(C2:G2, “* DEV3 *”)+ COUNTIF(C2:G2,“* DEV4 * “)

在上面的场景中,我将H2的值设置为“1”。 如果我编辑D2单元格到这样的:“Dev3,Dev4”,H2的结果将是“2”。

这个公式适用于我所需要的,但是我知道有一种更优雅的方式,我可以使用A:列中的开发人员列表,而不是为每个开发人员创build一个COUNTIF元素。

任何人都可以帮助我实现列表的使用A:而不是为每个开发人员创build一个单一的COUNTIF元素,而不是?

sheet的屏幕截图:

OP采样数据图像

SUM / COUNTIF函数数组公式1或SUMPRODUCT函数应该能够正确计数,只要在Dev12中找不到像Dev1那样的“误报”。

'array formula =SUM(COUNTIF(C2:G2, "*"&A$1:INDEX(A:A, MATCH("zzz",A:A ))&"*")) 'SUMPRODUCT =SUMPRODUCT(--ISNUMBER(SEARCH(A$1:INDEX(A:A, MATCH("zzz",A:A )), C2:G2))) 

请注意,在这两种情况下,列A中的开发人员列表已被减less到最less的单元数量,

 A$1:INDEX(A:A, MATCH("zzz",A:A )) 

Dev1_Dev2


¹ 数组公式需要使用Ctrl + Shift + Enter 来完成。 一旦正确input第一个单元格,就可以像其他任何公式一样向下或向右填充或复制它们。 尝试和减less您的全列引用范围更接近代表实际数据的范围。 数组公式将计算周期对数化,所以最好将参考范围缩小到最小。 有关更多信息,请参阅数组公式的示例 。