使用逻辑运算符时 Excel 数组公式不起作用

使用逻辑运算符时 Excel 数组公式不起作用

我正在尝试计算符合各种条件的行数,因此我使用以下形式的数组公式

=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 来更新计算。

答案1

你不能使用和()或者或者()在数组类型公式中。请参阅:

上一篇

有简单的解决方法或者

相关内容