I'm looking for a way to create a running total (total of the current row and above) using Excel table structured references.
I know how to do it using the old row/column based way:=SUM($A$2:$A2)
And I know how to total an entire column using structured references:=SUM([WTaskUnits])
And I know how to get the current cell using [#ThisRow]
, but I'm not sure how to get the first row of the table to use it in a SUM
.
Actually, I did just figure out one way of doing it using INDEX, but feel like there should be a more structured reference way. Still, for others looking to do this here is what I came up with:=SUM(INDEX([WTaskUnits],1):[[#This Row],[WTaskUnits]])
I use INDEX to get the first cell of the column (equivalent of $A$2 in my row/column example) and use [#This Row] normally to get the cell in current row (equivalent of A2 in my row/column example).
=SUM(OFFSET([WTaskUnits],0,0,ROW()-ROW([[#Headers],[Running Total]])))
The table has two columns [WTaskUnits] and [Running Total]. The formula above sums the range of cells as requested.
The first arguments of the OFFSET function define the starting point of the sum. The fourth term,
ROW()-ROW([[#Headers],[Running Total]]
is a useful idiom for the number of the current row in the table.
I realize this is an old thread, but I finally have a solution I would like to offer.
=IF(ISNUMBER(OFFSET([@Balance],-1,0)),OFFSET([@Balance],-1,0)+[@Amount],[@Amount])
In the instance of the first data row, the offset points to the header, which is not a number, therefore the result is only the Amount
column.
The remaining rows give you the previous Balance
from the OFFSET
plus the current row Amount
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With