35

我在一列中有布尔值:

   A
1  TRUE
2  FALSE
3  TRUE
4  TRUE

我意识到在 Excel 中返=TRUE+TRUE​​回2=TRUE+FALSE返回1意味着TRUE等于1FALSE等于0。但是,无论它是否是数组公式样式,SUM(A1:A4)总是返回......我希望它是(范围内的数量)。03TRUE

一种方法3是使用{=SUM(IF(A1:A4,1,0))}(数组公式样式),我觉得这是多余的......谁能想到比这更简单的解决方案?

4

3 回答 3

32

我在 COUNTIFS 条件为 TRUE 的范围内取得了成功

=COUNTIF(D2:D51,TRUE)
于 2013-01-07T00:42:21.713 回答
23

您可以尝试为范围添加前缀--并作为数组输入。--会将布尔值转换为它们的整数等价物:

=SUM(--(A1:A4))

根据有关该功能的文档SUM

如果参数是数组或引用,则仅计算该数组或引用中的数字。数组或引用中的空单元格、逻辑值或文本将被忽略。

于 2013-01-07T00:33:07.383 回答
6

如果您想在真/假字段上使用 sum,您可以将真/假条件乘以 1,以便其计算结果为 0 或 1。然后您的 sum 函数将适用于该列。

于 2016-10-13T13:42:10.430 回答