Excel 如果+;和+;日期范围公式

Excel 如果+;和+;日期范围公式,excel,date,if-statement,Excel,Date,If Statement,我在创建公式时遇到了一个问题,所以我想请你帮忙 Excel工作表有150000行,我想用这个公式保证一段时间 我有一个日期、姓名和状态,我需要在其他单元格中查看名称在连续良好或正常情况下是4倍或更多时间 输入示例: 我认为如果+和+日期范围足够了,但我不知道如何组合 非常感谢你的建议 以下是我到目前为止的情况: =COUNTIFS($D$2:$D$15;D2;$C$2:$C$15;“OK”;$D$2:$D$15;D2;$E$2:$E$15;“>=”&E2;$E$2:$E$15;“这里有一些东西

我在创建公式时遇到了一个问题,所以我想请你帮忙

Excel工作表有150000行,我想用这个公式保证一段时间

我有一个日期、姓名和状态,我需要在其他单元格中查看名称在连续良好或正常情况下是4倍或更多时间

输入示例:

我认为如果+和+日期范围足够了,但我不知道如何组合

非常感谢你的建议

以下是我到目前为止的情况:


=COUNTIFS($D$2:$D$15;D2;$C$2:$C$15;“OK”;$D$2:$D$15;D2;$E$2:$E$15;“>=”&E2;$E$2:$E$15;“这里有一些东西你可以尝试。你可以用一个公式和一个数组公式来做,但是对于15万行,最好尝试避开数组公式,并在必要时使用辅助列

如果行包含FALSE,则第一个helper列仅包含人员ID:

=IF(H2=FALSE,I2,"")
第二个helper列包含同一个人从当前行到下一个FALSE的偏移量:

=IFERROR(MATCH(I2,K2:K$15,0)-1,16-ROW())
因此,现在您可以使用基本相同的COUNTIFS公式,但将每个范围替换为指定应计数的行数的索引:

=IF(H2=FALSE,0,COUNTIFS(I2:INDEX(I2:I$15,L2),I2,H2:INDEX(H2:H$15,L2),"GOOD",J2:INDEX(J2:J$15,L2),">="&J2,J2:INDEX(J2:J$15,L2),"<="&J2+7))+
    IF(H2=FALSE,0,COUNTIFS(I2:INDEX(I2:I$15,L2),I2,H2:INDEX(H2:H$15,L2),"OK",J2:INDEX(J2:J$15,L2),">="&J2,J2:INDEX(J2:J$15,L2),"<="&J2+7))

=IF(H2=FALSE,0,COUNTIFS)(I2:INDEX(I2:I$15,L2),I2,H2:INDEX(H2:H$15,L2),“GOOD”,J2:INDEX(J2:J$15,L2),“>=”&J2,J2:INDEX(J2:J$15,L2),“=”&J2,J2:INDEX(J2:J$150000,L2),“=”&J2,J2:INDEX(J2:J$150000,L2),“您已经尝试了什么?如果使用COUNTIFS,一些示例和预期输出会很好。”-你可以计算名字出现的次数或在一个日期范围内出现的次数…我是新手,我只是有一个基本的知识,到目前为止,我只是尝试在没有日期的情况下使用它。我不只是建议。我想在那之后自己把它组合起来。@SolarMike所以它将是countifs()和()如果名称的状态为“OK”或“GOOD”?嗨,Tom,我能问你这里的数字16“16-ROW()”=IFERROR(匹配(I2,K2:K$15,0)-1,16-ROW())是什么意思吗?如果我有150k行,我应该放在那里150000-ROW()?如果我以后会添加更多数据,我是否仍应使用此公式?thanksI将在我的答案中添加注释。
    =IF(H2=FALSE,0,COUNTIFS(I2:INDEX(I2:I$150000,L2),I2,H2:INDEX(H2:H$150000,L2),"GOOD",J2:INDEX(J2:J$150000,L2),">="&J2,J2:INDEX(J2:J$150000,L2),"<="&J2+7))+
 IF(H2=FALSE,0,COUNTIFS(I2:INDEX(I2:I$150000,L2),I2,H2:INDEX(H2:H$150000,L2),"OK",J2:INDEX(J2:J$150000,L2),">="&J2,J2:INDEX(J2:J$150000,L2),"<="&J2+7))