14

我想计算一列的总和,然后减去另一列的总和,只使用从给定行到当前行(公式所在的行)的值。

所以,在“非正式的自定义语言”中,我需要这样的东西:

假设我在C5=(sum(A1:"A"+ROW())-sum(B1:"B"+ROW()))

为此,我如何在 Excel 中编写正确的表达式?

4

3 回答 3

20

您可以尝试使用INDIRECT,它接受对范围的字符串引用并返回范围本身:

=SUM(INDIRECT("A1:A"&ROW()))-SUM(INDIRECT("B1:B"&ROW()))

在这里,我们从"A1:A". 然后我们用(在这个例子中是 5)获取当前行,ROW()并将它与我们的存根连接起来,给我们INDIRECT("A1:A5"). 由于INDIRECT将返回其参数("A1:A5"此处)引用的范围,我们可以用SUM公式包装它以获得结果(与 相同SUM(A1:A5))。然后我们对 column 做同样的事情B

于 2013-01-17T16:33:43.050 回答
7

我想你可能会向后看。您需要将调用中的第一个单元格引用锚定SUM到第一行,但让第二个单元格引用随行而变化。在单元格C1中试试这个:

=SUM(A$1:A1) - SUM(B$1:B1)

现在,当您将其复制到列中时,它变为:

C2: =SUM(A$1:A2) - SUM(B$1:B2)
C3: =SUM(A$1:A3) - SUM(B$1:B3)
C4: =SUM(A$1:A4) - SUM(B $1:B4)
C5: =SUM(A$1:A5) - SUM(B$1:B5)

于 2013-01-17T16:39:54.023 回答
2
C5:= (SUM))-(SUM))

试试这个:

C5:= (SUM(INDIRECT("A1:A" & ROW()))-(SUM(INDIRECT("B1:B" & ROW())) 
于 2013-01-22T08:39:48.503 回答