如何使用Excel表结构化引用创建运行总计?

时间:2011-08-17 19:16:41

标签: excel excel-2007 excel-formula

我正在寻找一种使用Excel表结构化引用创建运行总计(当前行和以上的总数)的方法。

我知道如何使用旧的基于行/列的方式来实现:
=SUM($A$2:$A2)

我知道如何使用结构化参考来整列整个列:
=SUM([WTaskUnits])

我知道如何使用[#ThisRow]获取当前单元格,但我不知道如何让表格的第一行在SUM中使用它。

8 个答案:

答案 0 :(得分:32)

实际上,我确实找到了一种使用INDEX的方法,但感觉应该有更结构化的引用方式。不过,对于其他想要做到这一点的人来说,我想出的是:
=SUM(INDEX([WTaskUnits],1):[[#This Row],[WTaskUnits]])

我使用INDEX来获取列的第一个单元格(相当于我的行/列示例中的$ A $ 2)并正常使用[#This Row]来获取当前行中的单元格(相当于我行中的A2 /列示例)。

答案 1 :(得分:2)

=SUM(OFFSET([WTaskUnits],0,0,ROW()-ROW([[#Headers],[Running Total]])))

该表有两列[WTaskUnits]和[Running Total]。上面的公式总结了所要求的单元格范围。

OFFSET函数的第一个参数定义总和的起点。第四个任期,

ROW()-ROW([[#Headers],[Running Total]]

是表中当前行数的有用习惯用法。

答案 2 :(得分:2)

我意识到这是一个老线程,但我终于有了一个我想提供的解决方案。

=IF(ISNUMBER(OFFSET([@Balance],-1,0)),OFFSET([@Balance],-1,0)+[@Amount],[@Amount])

在第一个数据行的实例中,偏移量指向标题,而不是数字,因此结果只是Amount列。

其余行为您提供Balance中的上一个OFFSET以及当前行Amount

答案 3 :(得分:2)

注意,如果您使用= SUBTOTAL(109,...)而不是= SUM(...),那么您的公式将尊重表格中的过滤器。

答案 4 :(得分:1)

不确定你的意思是更有条理,你做的方式很好。您也可以简单地在表格标题下方的单元格中开始您的范围:

OFFSET([[#Headers],[WTaskUnits]],1,0,1,1):

但我不会称之为更有条理,更简单。列中的部分行数没有表格参考,所以我的建议是坚持你所拥有的。

答案 5 :(得分:1)

使用以下公式:

   =SUM( INDEX([Values],1) : [@Values] )

我们使用INDEX返回Values列中的第一个单元格,只需使用当前行的Structured Reference返回我们想要求和的范围内的第二个单元格。

Source

答案 6 :(得分:0)

我使用Excel的Pivot创建了我的总计:

  • 总和值 - >总和......
  • 将值显示为 - >运行总计

我的2美分,迟了5年(可能没有注意到这一点)。

答案 7 :(得分:-1)

对于固定的数据表 1.转到要包含小计的列中的最后一个单元格 2.对包含数据的列进行小计,绝对引用第一行 3.将公式复制到第一行