在SUM()中,TRUE和FALSE不起作用

我有一个列中的布尔值:

A 1 TRUE 2 FALSE 3 TRUE 4 TRUE 

我意识到在Excel =TRUE+TRUE返回2=TRUE+FALSE返回1 ,这意味着TRUE等于1FALSE等于0 。 但是, SUM(A1:A4)总是返回0不pipe它是否是数组公式风格…我期望它是3 (范围内的TRUE数)。

得到3一种方法是使用{=SUM(IF(A1:A4,1,0))} (数组公式),我发现它是多余的…任何人都可以想到一个比这更简单的解决scheme?

您可以尝试在范围前添加--并input为数组。 --将把布尔变换为它们的整数等价物:

 =SUM(--(A1:A4)) 

根据SUM函数的文档 :

如果参数是一个数组或引用,则只有该数组或引用中的数字被计算在内。 空单元格,逻辑值或数组或引用中的文本将被忽略。

在条件为TRUE的范围内,我已经成功使用了COUNTIFS

如果你想在真/假字段上使用sum,你可以将真/假条件乘以1,以便求值为0或1.然后你的求和函数可以在列上工作。