SUM()
即使行数增加,如何将两列相乘并将乘积相加( )?
例如,给定一个如下的电子表格:
| A B
--------------
1 | 2 132.27
2 | 2 122.33
3 | 2 150.15
4 | 3 149.35
我需要知道每行 A 列与 B 列相乘的总和以及每行的结果相加。
目前我正在使用这样的公式:
=(A2*B2+A3*B3+A4*B4+A5*B5+A6*B6+A7*B7+A8*B8)
问题是,随着行数的增加,我需要不断更新公式。
有没有更好的方法在 Excel 中自动执行此操作?
答案1
这正是 SUMPRODUCT() 的用途:
=SUMPRODUCT(A2:A8,B2:B8)
SUMPRODUCT 是一个数组类型公式。这意味着我们不想使用完整的列引用,因为它会对空单元格进行大量不必要的计算。
因此,为了使范围随着数据集的变化而增加(减少),我们可以结合 INDEX/MATCH 来查找带有数字的列中的最后一个单元格:
=SUMPRODUCT(A2:INDEX(A:A,MATCH(1E+99,A:A)),B2:INDEX(B:B,MATCH(1E+99,A:A)))
现在,它将根据 A 列和 B 列中的数据增大或缩小。它将使用数字设置从 A2 到 A 列的最后一个单元格的范围。