Excel中的SUMPRODUCT强制

时间:2014-02-07 22:34:56

标签: excel

给出以下Excel表格:

A1 = 10
A2 = 20
A3 = 30

我知道/理解为什么SUMPRODUCT( 0+(A1:A3>0) )返回3(由于添加,3个布尔值被强制转换为整数)。

为什么SUMPRODUCT( 1+(A1:A3>0) )会返回6? (并且增加常数会得到Constant * N + N的结果。

这是Excel的记录功能,还是我偶然发现的一些奇怪的怪事?

为了清楚起见,这些公式不是数组公式,我使用的是Excel 2003。

1 个答案:

答案 0 :(得分:4)

该公式返回6,因为在您的示例中A1:A3都是> 0所以A1:A3> 0返回此数组

{TRUE;TRUE;TRUE}当您对TRUE/FALSE值进行某种计算时TRUE变为1,FALSE变为零,所以

1+{TRUE;TRUE;TRUE}

你得到了

{2;2;2}

SUMPRODUCT总和得到6

您可以使用SUM获得相同的结果,但输入的数字为#34;"即。

=SUM(1+(A1:A3>0))

通过CTRL+SHIFT+ENTER

确认

两者的逻辑和结果相同

常量1总是被添加到数组中的每个元素 - 那种"数组数学"是excel中的标准