如何在excel公式中使用字符串字母和当前行号表示单元格id?

Mic*_*ael 13 excel excel-formula

假设我想计算一列上的和,然后在另一列BUT上减去sum,只使用给定行到当前行的值(wich公式中的值).

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

我在C5中:=(总和(A1:"A"+ ROW()) - 总和(B1:"B"+ ROW()))

我怎样才能在excel中为此写出正确的表达式?

Roc*_*key 18

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

=SUM(INDIRECT("A1:A"&ROW()))-SUM(INDIRECT("B1:B"&ROW()))
Run Code Online (Sandbox Code Playgroud)

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

  • 使用INDEX可以说是波动性较小,即`= SUM(A1:INDEX(A:A,ROW())) - SUM(B1:INDEX(B:B,ROW())) (2认同)

Bil*_*ard 7

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

=SUM(A$1:A1) - SUM(B$1:B1)
Run Code Online (Sandbox Code Playgroud)

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

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)