Excel 如果多个单元格中有多个条件,则计数

Excel 如果多个单元格中有多个条件,则计数,excel,excel-formula,Excel,Excel Formula,我是个新手。我可以为我的问题做一些基本的公式或者研究一个解决方案,但是这一个让我很难堪 我试图计算日历月的“在制品”数量。现在,它是根据“状态”在WIP中以及“接收日期”日期范围在日历月之间进行计数的。但我还需要添加一个条件,即如果票据处于关闭“状态”,并且“日期响应”中的日期范围大于该日历月。我试图编写一个公式,但它不正确,因为它只返回0 我附上了我的电子表格的截图 =COUNTIFS(Table_query[Status], "=WIP", Table_query[Date Received

我是个新手。我可以为我的问题做一些基本的公式或者研究一个解决方案,但是这一个让我很难堪

我试图计算日历月的“在制品”数量。现在,它是根据“状态”在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")
=COUNTIFS(表查询[状态]、“=WIP”、表查询[接收日期]、“>=2019年1月1日”、表查询[接收日期]、“=2019年1月31日”、表查询[状态]、“=CLOSED”)

  • Countif()仅当每个条件都返回true(逻辑“and”)时才对项进行计数。如果你想有一个“或”,你必须对两个或多个countif()求和或使用sum(countif(范围,{orCondition_1,orCondition_2,orCondition_i})

  • Excel不会自动理解,将日期列与之进行比较的日期字符串是日期

  • 将“>=2019年1月31日”更改为“>=”&日期值(“2019年1月31日”)

    (每个日期都类似)

    背景:Excel acutally将日期存储为数字,请参见

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

    =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)(
    表_查询[状态],{“在制品”,“已关闭”},
    表格查询[接收日期]、“>=”和日期值(“2019年1月1日”)、表格查询[接收日期]、“=”和日期值(2019年1月31日”))
    =总和(
    COUNTIFS(
    表_查询[状态],“在制品”,
    表格查询[收到日期]、“>=”和日期值(“2019年2月1日”)、表格查询[收到日期]、“=”和日期值(“2019年2月1日”)、表格查询[收到日期]、”和日期值(“2019年2月28日”))
    )
    
    尝试从数据透视表中复制值。数据透视表结果在公式中通常表现得很滑稽。它只是一个表,但我用“f2:f1172”重新做了“等,但仍然得到相同的结果。我认为我的公式所做的是查看第二列中是否有已关闭和在制品,而不是查找或。但我可能是错的。谢谢你的建议。我继续并将公式更改为:
    =COUNTIFS(B2:B1172,=WIP),F2:F1172,“>=”&DATEVALUE(“1/1/2019”),F2:F1172,“=”&DATEVALUE(“2019年1月31日”)
    但它仍然没有返回1月31日之后关闭的两条记录(伟创力和宝马),它们的状态为“已关闭”。它应该算作在制品,因为它没有在日历月内关闭。很抱歉,一开始它没有意识到这两个状态条件相互排斥。请替换这两条[状态]条件与表_query[Status],{“WIP”,“CLOSED”}配对,并将整个countif部分包装在一个sum()中。由于需要多个条件,我最终将两个countif相加。如果没有您的帮助,我无法完成逻辑。我提出的最后一个公式是
    =sum(countifs)(表_query[Status],“WIP”,Table_query)[Date Received]、“>=”&DATEVALUE(“2019年2月1日”)、Table_query[Date Received]、“=”&DATEVALUE(“2019年2月1日”)、Table_query[Date Received]、Table_query[Date Received]、“>=”&DATEVALUE(“2019年2月28日”))
    如果您将其添加到答案中,我会将其标记为答案。