Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何对一个单元格中的公式数组求和?_Excel_Google Sheets - Fatal编程技术网

Excel 如何对一个单元格中的公式数组求和?

Excel 如何对一个单元格中的公式数组求和?,excel,google-sheets,Excel,Google Sheets,如果您有一个基本的价值表,参与者共享每个分项费用。表中的单元格表示它们在金额中所占的份额,如何将表底部一行中的所有每项总计相加 我尝试过使用SUM(ARRAYFORMULA(B2:B5*C2:C5)),这很接近,但我需要将除数除以所有相关列的计数。每次我尝试将数量映射到每行的计数时,它都会尝试将所有行和列一起计数 我有一个关于使用SUMPRODUCT的工作示例: =SUMPRODUCT($B$2:$B$5*IFERROR(C2:C5/($C$2:$C$5+$D$2:$D$5+$E$2:$E$5

如果您有一个基本的价值表,参与者共享每个分项费用。表中的单元格表示它们在金额中所占的份额,如何将表底部一行中的所有每项总计相加

我尝试过使用
SUM(ARRAYFORMULA(B2:B5*C2:C5))
,这很接近,但我需要将除数除以所有相关列的计数。每次我尝试将数量映射到每行的计数时,它都会尝试将所有行和列一起计数

我有一个关于使用SUMPRODUCT的工作示例:

=SUMPRODUCT($B$2:$B$5*IFERROR(C2:C5/($C$2:$C$5+$D$2:$D$5+$E$2:$E$5),0))
使用SUMPRODUCT:

=SUMPRODUCT($B$2:$B$5*IFERROR(C2:C5/($C$2:$C$5+$D$2:$D$5+$E$2:$E$5),0))

您也可以通过开发2d范围C2:E5的行总数,并从中计算每个人的份额来实现

=SUM($B$2:$B$5*N(+C$2:C$5)/(MMULT(N(+$C$2:$E$5),TRANSPOSE(COLUMN($C$2:$E$5)^0))))
这是一个数组公式,必须使用CtrlShiftCenter或在Google工作表中输入

=arrayformula(SUM($B$2:$B$5*N(+C$2:C$5)/(MMULT(N(+$C$2:$E$5),TRANSPOSE(COLUMN($C$2:$E$5)^0)))))

另一种在Excel中执行此操作的方法是使用偏移和小计,但在Google工作表中不起作用

=SUM($B$2:$B$5*N(+C$2:C$5)/SUBTOTAL(9,OFFSET($C$2,ROW(C$2:C$5)-ROW($C$2),0,1,COLUMNS($C$2:$E$5))))

您还可以通过开发2d范围C2:E5的行总数,并从中计算每个人的份额来实现

=SUM($B$2:$B$5*N(+C$2:C$5)/(MMULT(N(+$C$2:$E$5),TRANSPOSE(COLUMN($C$2:$E$5)^0))))
这是一个数组公式,必须使用CtrlShiftCenter或在Google工作表中输入

=arrayformula(SUM($B$2:$B$5*N(+C$2:C$5)/(MMULT(N(+$C$2:$E$5),TRANSPOSE(COLUMN($C$2:$E$5)^0)))))

另一种在Excel中执行此操作的方法是使用偏移和小计,但在Google工作表中不起作用

=SUM($B$2:$B$5*N(+C$2:C$5)/SUBTOTAL(9,OFFSET($C$2,ROW(C$2:C$5)-ROW($C$2),0,1,COLUMNS($C$2:$E$5))))

这很好,但不幸的是,它需要明确列出,如果行或列的数量增加到几十或几百,有没有一种方法可以做到这一点而不列出每一列?唯一的方法是使用一个helper列来保存每一行的总和,我知道@Matthew这很好,但不幸的是它需要明确列出,如果行或列的数量增加到几十或几百,有没有一种方法可以做到这一点而不列出每一列?唯一的方法是使用一个helper列来保存每一行的总和,我知道@马修