我想计算一列上的和,然后在另一列BUT上减去sum,只使用从给定行到当前行(公式所在的行)的值。
因此,在"非正式定制语言"中,我需要这样的东西:
假设我在C5: =(sum(A1:"A"+ROW())-sum(B1:"B"+ROW()))
我如何在Excel中写一个正确的表达式?
您可以尝试使用INDIRECT
,它接受对范围的字符串引用并返回范围本身:
=SUM(INDIRECT("A1:A"&ROW()))-SUM(INDIRECT("B1:B"&ROW()))
在这里,我们从"A1:A"
的"存根"开始。然后,我们使用ROW()
(在本例中为5)获取当前行,并将其与存根连接,得到INDIRECT("A1:A5")
。由于INDIRECT
将返回其参数引用的范围(这里是"A1:A5"
),我们可以用SUM
公式包装它以获得结果(与SUM(A1:A5)
相同)。然后对列B
执行相同的操作。
我想你可能想反了。需要将SUM
调用中的第一个单元格引用锚定到第一行,但让第二个单元格引用随行变化。在单元格C1:
=SUM(A$1:A1) - SUM(B$1:B1)
当你把它复制到下一列时,它变成了:
C2: =和(1美元:A2)和(B 1美元:B2)
=SUM(A$1: 3) - SUM(B$1: 3)
=SUM(A$1: 4) - SUM(B$1: 4)
C5: =SUM(A$1: B5) - SUM(B$1:B5)
C5:= (SUM))-(SUM))
试试这个:
C5:= (SUM(INDIRECT("A1:A" & ROW()))-(SUM(INDIRECT("B1:B" & ROW()))