Excel:使用数组按行对乘积求和

Excel:使用数组按行对乘积求和

有没有办法使用SUMPRODUCT或将数组公式用于不同大小的数组?

目前我有一个包含约 1500 种产品的列表,包含它们各自的组件需求,如下所示ABI

 A        B      C      D      E      F      G      H      I      J
        ¢20   ¢55     ¢75    ¢61    ¢12    ¢30    ¢46    ¢83     total
wdgt     9      1      1      0      0      0      0      0        235
fzzy     0      0      10     9      3      1      1      0       1411
sqr      10     10     10     10     10     10     10     10      3820
llc      2      4      6      8      10     12     14     16      3650
dbl      2      4      8      16     32     64     128    256    31276
....

每个相应组件都有一个设定值,J目前通过以下方式计算

SUMPRODUCT(B2:I2,$B1:$I1)...

我想要J一个像这样的数组公式

{=SUMPRODUCT(B2:I6,$B1:$I1)}

但这样做会导致 #VALUE! 错误并且:

{=SUM(B2:I6,$B1:$I1)}

每行即总列的总和为 40392。

有没有办法用数组公式来做到这一点?

答案1

通过反复试验

{=SUM(B2:I6,$B1:$I1)}

返回错误#VALUE!

{=SUM(B2:I6,$B1:$I1)}

返回总数

{=$B$1:$I$1*B2:I6}

返回 180、0、200、40、40(我无法解释)。这就是我认为奇怪的地方。

{=$B$1*B2:B6+$C$1*C2:C6+…+$H$1*H2:H6+$I$1*I2:I6}

返回每行的正确总数。

或者,我以前有过类似的情况:

=SUMPRODUCT($B$1:$I$1,B2:I2)

在每一行,但对于 1500 多行,由于列表不断变化和增加,评估时间越来越长。

相关内容