我想要的是轻松地将每个列的数字乘以另一个数字,并在Google表格的最后添加它们。例如:
User | Points 1 | Points 2 | Points 3 | Total
| 5 | 1 | 4 |
-----+----------+----------+----------+------
Jane | 2 | 3 | 0 | 13 (2*5 + 3*1 + 0*4)
John | 1 | 11 | 4 | 32 (1*5 + 11*1 + 4*4)
所以很容易为总数制定这个公式:
= B3*$B$2 + C3*$C$2 + D3*$D$2
问题是我经常需要插入额外的列甚至删除一些列。那么我必须搞乱所有的公式。这很痛苦......我们有很多带有这些公式的电子表格。我希望有一个类似SUM(B3:D3)
的公式,我可以指定一个范围。是否有类似MULTIPLY_AND_SUM(B2:D2, B3:D3)
的内容可以做到这一点?然后我可以在中间插入列,范围仍然有效。
答案 0 :(得分:4)
答案 1 :(得分:1)
您可以在不需要专用功能的情况下完成此任务。
在E3
中,尝试此操作(并将其复制到其余行):
=sum(arrayformula(B3:D3*B$2:D$2))
您可以阅读arrayformula
here。
只要您在B
和D
之间引入新列,此公式就会自动调整。如果您在该范围之外添加新列,则需要编辑(并剪切和粘贴)。
就其本身而言,arrayformula(B3:D3*B$2:D$2)
依次对B3:D3
中的每个值进行操作,并将其乘以B$2:D$2
中的相应值。 (注意使用绝对引用'锁定'到第2行。)在这种情况下的结果是三个值[10,3,0]
,水平排列成三行,因为它匹配范围的维度。
包络sum()
函数会累加arrayformula
生成的数组的值,在这种情况下为13
。
将该公式复制到其他行时,将为新行更新相对范围引用。