【问题标题】:Count IF multiple critera in multiple cells计算多个单元格中的多个条件
【发布时间】:2019-03-06 19:33:19
【问题描述】:

我对 excel 还很陌生。我可以为我的问题制定基本公式或研究解决方案,但这让我很难过。

我正在尝试计算该日历月有多少张“WIP(正在进行中)”的票。现在,它基于“状态”在 WIP 中以及“接收日期”日期范围是否在日历月之间进行计数。但我还需要添加一个条件,如果票处于关闭“状态”并且“响应日期”中的日期范围大于该日历月。我试图写一个公式,但它不正确,因为它只是返回 0。

我附上了我的电子表格的截图。

=COUNTIFS(Table_query[Status], "=WIP", Table_query[Date Received],">=1/1/2019", Table_query[Date Received], "<=1/31/2019", Table_query[Date Responded], ">=1/31/2019", Table_query[Status], "=CLOSED")

【问题讨论】:

  • 尝试从数据透视表中复制值。数据透视表结果在公式中的表现通常很有趣。
  • 这只是一张桌子,但我用“f2:f1172”等重新做了,仍然得到相同的结果。我认为我的公式正在做的是查看第二列中是否有 CLOSED 和 WIP,而不是寻找其中一个或。不过我可能是错的。

标签: excel excel-formula


【解决方案1】:
  1. Countif() 仅在每个条件都返回真(逻辑“与”)时计算一个项目。如果你想有一个“或”,你必须将两个或多个 countif() 相加或使用 sum(countif(Range,{orCondition_1, orCondition_2, orCondition_i})

  2. Excel 不会自动理解,您将日期列与之比较的日期字符串是日期。

将 ">=1/31/2019" 更改为 ">="&DATEVALUE("01/31/2019")

(每个日期都类似)

背景:Excel 将日期实际存储为数字,请参阅www.myonlinetraininghub.com/excel-date-and-time

检查以下是否符合您的逻辑需求

=SUM(COUNTIFS(
  Table_query[Status], {"WIP", "Closed"},
  Table_query[Date Received], ">="&datevalue("01/01/2019"), Table_query[Date Received], "<="&datevalue("01/31/2019"),
  Table_query[Date Responded], ">="&datevalue(01/31/2019")))

=SUM(
 COUNTIFS(
  Table_query[Status], "WIP",
  Table_query[Date Received], ">="&DATEVALUE("2/1/2019"), Table_query[Date Received], "<="&DATEVALUE("2/28/2019"))
 ,COUNTIFS(
  Table_query[Status], "Closed",
  Table_query[Date Received], ">="&DATEVALUE("2/1/2019"), Table_query[Date Received], "<="&DATEVALUE("2/28/2019"),
  Table_query[Date Responded], ">"&DATEVALUE("2/28/2019"))
)

【讨论】:

  • 感谢您的建议。我继续将公式更改为:=COUNTIFS(B2:B1172,"=WIP",F2:F1172,"&gt;="&amp;DATEVALUE("1/1/2019"),F2:F1172,"&lt;="&amp;DATEVALUE("1/31/2019"),B2:B1172,"=Closed",H2:H1172,"&gt;="&amp;DATEVALUE("01/31/2019")),但它仍然没有返回在 1/31 之后关闭且状态为 Closed 的那 2 条记录(Flextronics 和 BMW)。它应该算作 WIP,因为它没有在日历月内关闭
  • 我一开始没有意识到这两个相互排斥的状态条件,对不起。将两个 [status] 条件对替换为 Table_query[Status], {“WIP”,”CLOSED”} 并将整个 countif 部分包装在 sum()
  • 我最终将两个countifs 相加,因为我需要多个条件。没有你的帮助,我无法完成逻辑。我想出的最终公式是=SUM(COUNTIFS(Table_query[Status], "WIP",Table_query[Date Received], "&gt;="&amp;DATEVALUE("2/1/2019"), Table_query[Date Received], "&lt;="&amp;DATEVALUE("2/28/2019")),COUNTIFS(Table_query[Date Received], "&gt;="&amp;DATEVALUE("2/1/2019"), Table_query[Date Received], "&lt;="&amp;DATEVALUE("2/28/2019"), Table_query[Status], "Closed", Table_query[Date Responded], "&gt;"&amp;DATEVALUE("2/28/2019"))) 如果您将它添加到您的答案中,我会将其标记为答案。
猜你喜欢
  • 1970-01-01
  • 2022-12-20
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多