我想计算一列的总和,然后减去另一列的总和,但只使用从给定行到当前行(公式所在的行)的值。
所以,在“非正式的自定义语言”中,我需要这样的东西:
假设我在C5:=(sum(A1:"A"+ROW())-sum(B1:"B"+ROW()))
为此,我如何在 Excel 中编写正确的表达式?
我想计算一列的总和,然后减去另一列的总和,但只使用从给定行到当前行(公式所在的行)的值。
所以,在“非正式的自定义语言”中,我需要这样的东西:
假设我在C5:=(sum(A1:"A"+ROW())-sum(B1:"B"+ROW()))
为此,我如何在 Excel 中编写正确的表达式?
您可以尝试使用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
。
我想你可能会向后看。您需要将调用中的第一个单元格引用锚定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)
C5:= (SUM))-(SUM))
试试这个:
C5:= (SUM(INDIRECT("A1:A" & ROW()))-(SUM(INDIRECT("B1:B" & ROW()))