到目前为止我有这个:
=COUNTIFS(A:A,"<"&C1, B:B, OR(">"&C2,"="&""))
除了 OR 和“=”&“”之外,其他一切都运行正常。我不确定是不是我没有正确检查空格,或者这里是否不应该使用 OR。
如果有比单一更好的方法COUNTIFS()
,请告诉我
答案1
以下是一种完全绕过 COUNTIFS() 的不同方法:
=SUMPRODUCT((A1:A10<C1)*((B1:B10>C2)+(B1:B10="")))
最里面的括号中的三个表达式产生了一个逻辑值数组,但是算术运算将TRUE
和转换FALSE
为 1 和 0。加法相当于OR()
运算,乘法相当于AND()
。
因此,算术运算的结果是一个数组,其中 A 范围为 1 < C1
,B 范围为 0> C2
或为空。然后SUMPRODUCT()
将数组中的 1 相加。
但是,您不能在最后一个表达式中引用整个 B 列,因此您必须调整范围以适合您的情况。
答案2
我最终对两个 countif 进行了求和,因为这样我更容易回顾和理解:
=SUM(COUNTIFS(A:A,"<"&C1,B:B,">"&C2),COUNTIFS(A:A,"<"&C1,B:B,"="&""))