如何使用Excel表结构化引用创build运行总计?
我正在寻找一种方法来使用Excel表结构化引用来创build运行总计(总计当前行和以上)。
我知道如何使用旧的行/列的方式:
=SUM($A$2:$A2)
而且我知道如何使用结构化引用来合计整个列:
=SUM([WTaskUnits])
我知道如何使用[#ThisRow]
获取当前单元格,但是我不知道如何让表格的第一行在SUM
使用它。
其实,我只是想出了一种使用INDEX的方法,但觉得应该有一个更结构化的参考方式。 不过,对于其他人来说,这是我想出来的:
=SUM(INDEX([WTaskUnits],1):[[#This Row],[WTaskUnits]])
我使用INDEX来获取列的第一个单元格(在我的行/列示例中相当于$ A $ 2),通常使用[#This Row]来获取当前行的单元格(在我的行/列示例中相当于A2) 。
=SUM(OFFSET([WTaskUnits],0,0,ROW()-ROW([[#Headers],[Running Total]])))
该表有两列[WTaskUnits]和[Running Total]。 上面的公式总结了要求的单元格范围。
OFFSET函数的第一个参数定义了和的起点。 第四届,
ROW()-ROW([[#Headers],[Running Total]]
是表中当前行数的一个有用的习惯用法。
我意识到这是一个古老的线索,但我终于有一个解决scheme,我想提供。
=IF(ISNUMBER(OFFSET([@Balance],-1,0)),OFFSET([@Balance],-1,0)+[@Amount],[@Amount])
在第一个数据行的实例中,偏移指向标题,而不是数字,因此结果只是“ Amount
列。
其余行从OFFSET
加上当前行Amount
给您以前的Balance
。
不知道你的意思是更有条理,你这样做的方式是好的。 你也可以简单地在表头下方的单元格中开始你的范围:
OFFSET([[#Headers],[WTaskUnits]],1,0,1,1):
但是我不会说这种更有条理的,简单的不同。 对于列中部分行的范围,没有表引用,所以我的build议是坚持你所拥有的。
请注意,如果您使用= SUBTOTAL(109,…)而不是= SUM(…),那么您的公式将尊重表格上的filter。
我使用Excel的Pivot创build了我的运行总数:
- 总和值 – >总和…
- 显示值为 – >运行总计
我的2美分,5年后(也许错过了点)。
对于一个固定的数据表1.转到列中最后一个单元格,您希望小计在2.小计有数据的列和绝对引用第一行3.复制公式到第一行