【问题标题】:How do you sum an array of formulas within one Google Sheets cell?如何对一个 Google 表格单元格中的一组公式求和?
【发布时间】:2017-03-10 18:20:16
【问题描述】:

如果您有一个基本的价值表,参与者分摊每项分项费用。表格的单元格代表他们在金额中所占的份额,您如何在表格底部的一行中汇总所有每个项目的总数?

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

我在Google Sheets 上有一个工作示例

【问题讨论】:

    标签: excel google-sheets


    【解决方案1】:

    使用 SUMPRODUCT:

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

    【讨论】:

    • 这很好,但不幸的是它需要明确列出,如果行数或列数增加到数十或数百,有没有办法在不列出每一列的情况下做到这一点出去?
    • 唯一的方法是使用一个辅助列来保存我所知道的每一行的总和。 @马修
    【解决方案2】:

    您也可以通过开发 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))))
    

    这是一个数组公式,必须使用 CtrlShiftEnter 或在 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 中执行此操作的另一种方法是使用 OFFSET 和 SUBTOTAL,但它在 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))))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-17
      • 2020-12-14
      • 1970-01-01
      • 2022-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多