SpreadsheetFormulas
beginnerSUM

Calculate a Running Total Down a Column

You have a column of amounts — deposits, sales, hours — and next to each row you want the total so far, from the top of the list down to that row.

Quick formula
=SUM($B$2:B2)
Sample input
1DateAmount
22026-07-011200
32026-07-02800
42026-07-031500
Result
1DateAmountRunning Total
22026-07-0112001200
32026-07-028002000
42026-07-0315003500

Excel & Google Sheets

=SUM($B$2:B2)

This formula works in both Excel and Google Sheets.

How it works

The trick is anchoring only the start of the range. $B$2 is locked with $ signs, so it never moves; B2 is relative, so it shifts down as you fill the formula down. In row 2 the range is $B$2:B2 (one cell), in row 3 it becomes $B$2:B3, in row 4 $B$2:B4 — an expanding range that always sums from the first amount down to the current row. That's the entire mechanism: one anchored end, one moving end. It works identically in Excel and Google Sheets and needs no helper columns.

$B$2
The anchored start of the range — the $ signs keep it fixed on the first amount.
:B2
The relative end — it becomes B3, B4, B5 as you fill down, so the range grows.
SUM(…)
Adds everything from the top of the list to the current row.

When to use it

Use this for account balances after each transaction, cumulative sales toward a target, year-to-date totals, and burn-down or burn-up tracking in project sheets.

Common mistakes

  • Anchoring both ends — every row shows the same number.

    =SUM($B$2:$B$2) never expands. Anchor only the start: =SUM($B$2:B2). Anchoring neither end is just as wrong — each row sums only itself.

  • Sorting the data after adding the running total.

    The cumulative order is baked into row positions, so sorting scrambles the story the totals tell. Sort the source data first, then fill the running total down.

  • Starting the anchor on the header row.

    =SUM($B$1:B2) tries to include the header. With a text header SUM ignores it silently, but the habit breaks the moment row 1 holds a number. Anchor on the first data row: $B$2.

Did this formula help?

Engine-verified against the sample data aboveLast reviewed 2026-07-08