在 Excel 中计算总计,无需借助额外的列

在 Excel 中计算总计,无需借助额外的列

我有一个 Excel 文件,其中列出了超市等场所的不同产品,有两个买家,即 John 和 Mary。每件产品由 John、Mary 或两人支付,因此,有些产品必须在两人之间分摊。我必须计算每个人的总额,这是我想到的解决方案: 在此处输入图片描述

B 列包含数量,C 列包含产品价格,D 列和 E 列中的“x”表示谁在支付特定产品。如您所见,我使用 G 列和 H 列来计算 John 或 Mary 必须支付的金额。我最终通过简单地计算 G 列和 H 列的总和来计算每个人的总额。

有没有更有效的方法来计算每个人的总数,特别是不使用 G 和 H 列?两个人仍然可以做到,但如果有 20 个人参与,就会变得相当麻烦。

编辑:单元格 G2 中的公式计算如下=B2*C2/(COUNTA(D2:E2))*COUNTA(D2)

答案1

如果x您输入的是已付金额的分数,则可以使用该SUMPRODUCT函数来计算总额。

一个例子:

在此处输入图片描述

B6:=SUMPRODUCT(A2:A5;B2:B5)

C6:=SUMPRODUCT(A2:A5;B2:B5;C2:C5)

D6:=SUMPRODUCT(A2:A5;B2:B5;D2:D5)

答案2

这是使用矩阵乘法的数组公式。选择 D8:H8,输入公式,然后按 CTRL+SHIFT+ENTER

=MMULT(TRANSPOSE(B2:B7*C2:C7/I2:I7),NOT(ISBLANK(D2:H7))+0)

使用 I2 = COUNTA(D2:H7),向下拖至 I7

如果您不想在第一列添加公式,请使用此

=MMULT(TRANSPOSE(B2:B7*C2:C7/MMULT(NOT(ISBLANK(D2:H7))+0,TRANSPOSE(NOT(ISBLANK(D1:H1))+0))),NOT(ISBLANK(D2:H7))+0)

相关内容