我正在尝试计算符合各种条件的行数,因此我使用以下形式的数组公式
=SUM(IF(...,1,0))
为了开始构建它,我首先计算一下需要进一步考虑的记录数:
=SUM(IF(ISNUMBER(A:A),1,0))
我得到了我期望的结果(一些非零值)。所以接下来我开始填写我的所有逻辑,但它的行为对我来说毫无意义。例如:
=SUM(IF(AND(ISNUMBER(A:A),TRUE()),1,0))
返回 0。哎呀,甚至这个也返回 0:
=SUM(IF(AND(ISNUMBER(A:A)),1,0))
只是为了好玩,我尝试了这个:
=SUM(IF(OR(TRUE(),ISBLANK(A:A)),1,0))
而且它是 1 而不是 1048576。因此,无论您使用 AND 还是 OR,都意味着它每次分别返回 0 或 1(我还测试了 OR 和 AND 函数中单元格引用的顺序)。
这似乎是一个很大的缺陷,因为其他类似的复杂公式也能按预期工作:
=SUM(IF(ISNUMBER(SEARCH("MagicString",A:A)),1,0))
那么,如何使用非平凡的条件逻辑来计算行数?
PS 使用 Office 2013
PPS 自动评估已禁用,我确保按 F9 来更新计算。