Excel 条件数组复制结果

Excel conditional array duplicating result

我想了解为什么

{=COUNT(IF({TRUE, FALSE, TRUE}, {3,4,5}))}

returns 2(这是 预期的 结果)但是下面的 returns 6

{=COUNT(IF({TRUE,FALSE,TRUE}, A1:A3))}

这是结果的快照

公式评估显示了正在发生的事情

注意:这是我面临的问题的简化版本(即:不是只是一个好奇问题)

这两个公式不等价,你的第二个公式等价于:

=COUNT(IF({TRUE, FALSE, TRUE}, {3;4;5}))

注:{3;4;5}不是{3,4,5}

这也将 return 6. 正如您从评估中看到的那样,它 return 是一个具有 6 个数字的 3x3 矩阵,因此结果

如果您希望结果为 2,则需要像这样转置 A1:A3

=COUNT(IF({TRUE,FALSE,TRUE}, TRANSPOSE(A1:A3)))

..... 或使用 值,如 B2:D2 代替 A1:A3