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

时间:2013-01-17 16:21:01

标签: excel excel-formula

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

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

Supose我在 C5 =(sum(A1:“A”+ ROW()) - sum(B1:“B”+ ROW()))

如何在excel中为此编写正确的表达式?

3 个答案:

答案 0 :(得分:17)

您可以尝试使用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执行相同的操作。

答案 1 :(得分:6)

我认为你可能会向后看。您需要将对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)

答案 2 :(得分:1)

C5:= (SUM))-(SUM))

试试这个:

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