希望尝试在 Excel 中找到以下内容,但在使其正常工作时遇到问题。
我在 A 列中有日期,需要对照查询列中的日期进行比较以进行比较。我想计算比较列大于 A5 中日期或为空单元格的所有记录。我还想检查其他条件,但似乎无法使其正常工作。
=COUNTIFS(Query1[购买日期],OR(Query1[购买日期]="",Query1[购买日期]>A5))
利用:
=SUMPRODUCT(--((Query1[Purchased Date]="")+(Query1[Purchased Date]>A5)>0))
您可以使用数组函数代替 countif。假设您的日期在 A2:A25 范围内,并且您的参考日期在单元格 B2 中。
如果您输入任何其他单元格
=SUM((A2:A25>B2)+(A2:A25=""))
并按 Ctrl+Shift+Enter 它会给你你想要的计数。
发生这种情况是因为 Excel 会将第一个内括号 (A2:A25>B2) 解析为 TRUE/FALSE 数组,并对第二个 (A2:A25="") 执行相同操作。接下来,它将对它们求和,这相当于 OR 操作,并产生一个由零 (FALSE) 和一 (TRUE) 组成的数组。它通过对这个数组求和(使用函数 sum)来结束,所有这些都在一个单元格中。
也许这更像是一个评论而不是一个答案,但在这种特殊情况下,您可以添加两个单独的总数:
=COUNTIF(Query1[Purchased Date],"")+COUNTIF(Query1[Purchased Date],">"&A5)
因为条件是互斥的。
这是否有帮助取决于您要添加的其他标准。
顺便说一句,您的原始公式有两个问题:
(1) 如果您将值列表与 OR 逻辑相结合,则必须改用加法(如使用 Sum 或 Sumproduct 的两个答案)。
(2) Countif 或 Countifs 的语法必须将范围与标准分开,这不会让您做您想做的事情,因此这再次导致您使用 Sum 或 Sumproduct。