【问题标题】:COUNTIF formula with multiple criteria and table具有多个条件和表格的 COUNTIF 公式
【发布时间】:2015-12-24 11:47:43
【问题描述】:

我有四个开发人员的列表(A1="Dev1"、A2="Dev2"、A3="Dev3" 和 A4="Dev3")。

在工作周历中,我有 5 列,一周中的每一天(C1="Monday"、D1="Tuesday"、E1="Wednesday"、F1="Thursday、G1="Friday" )。

如果开发者 Dev3 周二放假,我会去 D2 输入:“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:A 列上的开发人员列表,而不是为每个开发人员创建一个 COUNTIF 元素。

谁能帮我实现列表 A:A 的使用,而不是为每个开发人员创建单个 COUNTIF 元素?

sheet's screenshot:

   

【问题讨论】:

  • 除了每个开发者之外,您可以在B列中收集结果吗?在这种情况下,您可以轻松地对每一行使用以下公式:=COUNTIF(C$2:G$2,""&A1&"")
  • @Michele,好点,但是我需要基于周的总数,而不是。如果我收集每个开发人员的结果,我将无法跟踪一周的结果,而是单独跟踪每个开发人员,不知道他们在给定的一周内缺席的结果。
  • 好的,现在我更清楚你想做什么了。如果您的格式始终相同(开发人员是 4 个字符的字符串,并且如果同一单元格中有多个开发人员,则他们用逗号分隔,您可以在日历末尾应用此公式:{=SUM(LEN(SUBSTITUTE (C2:G2,",",""))/4)}
  • 嗨@Michele,我正在尝试附加您提到的公式,但是没有任何反应。即使在我按 CTRL + SHIFT + ENTER 后,公式也只是显示在单元格中。我在这里做错了吗?
  • 我测试了这个公式,它可以在我的电脑上运行。然后我把它贴在这里。你在屏幕上看到了什么?会不会是具有文本格式的单元格?

标签: excel excel-formula vlookup countif


【解决方案1】:

SUM/COUNTIF function 数组¹ 公式或 SUMPRODUCT function 应该能够正确计数,前提是在 Dev12 中找不到像 Dev1 这样的“误报” em>。

'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 列中的开发人员列表都已被缩减到最少的单元格数,

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

    


¹ 数组公式需要使用 Ctrl+Shift+Enter↵ 完成。一旦正确输入第一个单元格,它们就可以像任何其他公式一样被填充或向下或向右复制。尝试将全列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将引用范围缩小到最小值。更多信息请参见Guidelines and examples of array formulas

【讨论】:

  • 感谢您的帮助@Jeeped!这正是我一直在寻找的。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2015-10-21
  • 1970-01-01
  • 2013-06-17
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多