我发现有些线程解决了“或”逻辑或“运算符”逻辑,但没有一个能结合在一起,所以对我来说不起作用。
假设我有一张这样的表格:
Col1 Col2(Date) Col3(Date)
我想使用 countifs 来获取 Col2、Col3 为空白或 >= Date_Variable(我在定义名称中定义的日期)的行数
我试过这个公式,但语法显然是错误的
=COUNTIFS(Col2,{"",">="&Date_Variable},Col3,{"",">="&Date_Variable})
答案1
欢迎来到超级用户!
一般来说,当您想要使用 CountIF 并且您的逻辑变得比“此单元格是否等于或不等于 X”更复杂时,最好创建一个新列来为您执行中间逻辑。
在这种情况下,您将使用以下公式创建 Col4(如果我正确解释了您的简介),其中Magic
是您的预定义单元格引用,行为 1。
=OR(B1="", C1="", B1>=Magic, C1>=Magic)
然后您只需执行 a COUNTIF(Col4, 1)
(因为 Excel 中的 TRUE = 1)。如果您不想显示 Col4,甚至可以隐藏它,例如在打印的报告中。
答案2
有了四种可能性,您可能想放弃 COUNTIFS 并使用 SUMPRODUCT。但是,由于 SUMPRODUCT 的文字处理,您应该将范围缩减为实际需要的范围,并避免使用完整的列范围。
=SUMPRODUCT(SIGN((B2:B9="")+(C2:C9="")+(ISNUMBER(B2:B9)*(B2:B9>=Date_Variable))+(ISNUMBER(C2:C9)*(C2:C9>=Date_Variable))))