数组不等式为Sumproduct参数

时间:2013-08-05 20:59:51

标签: excel arguments formula

请详细说明(A1:A10 =“福特”)和(B1:B10 =“6月”)在以下公式中的含义以及每次返回的价值:

= SUMPRODUCT((A1:A10 = “福特”)*(B1:B10 = “六月”))

enter image description here

1 个答案:

答案 0 :(得分:2)

由于在这种情况下实际上从未使用过列C,因此使用SUMPRODUCT实际上与使用SUM相同。 A1:A10="Ford"B1:B10="June"只返回包含true / false值的数组:

Make    Month
True    True
True    True
True    False
True    True
False   True
False   True
False   True
False   False
False   true

在实际公式中,它看起来像:

=SUMPRODUCT({false,true,true,true,true,false,false,false,false,false}*{true,true,true,false,true,true,true,true,false,true})

因为excel中的布尔值实际上只是表示为1或0,所以它们最终会像这样:

 =SUMPRODUCT({0,1,1,1,1,0,0,0,0,0}*{0,1,1,0,1,1,1,1,0,1})

现在,当你将数组相乘时,想到就像乘以矩阵一样:

Make    Month
 1    x   1   =  1
 1    x   1   =  1
 1    x   0   =  0
 1    x   1   =  1
 0    x   1   =  0
 0    x   1   =  0
 0    x   1   =  0
 0    x   0   =  0
 0    x   1   =  0

所以最后它看起来像:

=SUMPRODUCT({1,1,0,1,0,0,0,0,0,0})

返回3,因为它只有一个参数,就像SUM函数一样。

现在我假设你实际上想要SUM所有FordJune组合的价格,所以你应该使用:

=SUMPRODUCT((A1:A10="Ford")*(B1:B10="June"),(C1:C10))

实际上会使用SUMPRODUCT方法乘以然后求和两个数组的乘积

(With SUMPRODUCT)
Make    Month          Price
 1    x   1   =>  1  x  07,500 = 07,500
 1    x   1   =>  1  x  08,300 = 08,300
 1    x   0   =>  0  x  06,873 = 0
 1    x   1   =>  1  x  11,200 = 11,200
 0    x   1   =>  0  x  13,000 = 0
 0    x   1   =>  0  x  14,999 = 0
 0    x   1   =>  0  x  17,500 = 0
 0    x   0   =>  0  x  23,500 = 0
 0    x   1   =>  0  x  18,000 = 0
                         Total = 27,000

希望能回答你的问题