# How to calculate a rolling 12-month total in Excel

Sum the current month and the 11 before it, with a relative range: `=SUM(B2:B13)` in the 12th month, filled down.

**Excel:** `=SUM(B2:B13)` (Every current version)

**Google Sheets:** the same formula works.

## Example

Sample data (row 1 is the header):

| A | B | C |
| --- | --- | --- |
| Month | Revenue | Rolling 12 months |
| 2025-02-01 | 8420 |  |
| 2025-03-01 | 9150 |  |
| 2025-04-01 | 8875 |  |
| 2025-05-01 | 9610 |  |
| 2025-06-01 | 10240 |  |
| 2025-07-01 | 9980 |  |
| 2025-08-01 | 10415 |  |
| 2025-09-01 | 9760 |  |
| 2025-10-01 | 10530 |  |
| 2025-11-01 | 11240 |  |
| 2025-12-01 | 12680 |  |
| 2026-01-01 | 8930 |  |
| 2026-02-01 | 9015 |  |
| 2026-03-01 | 9840 |  |
| 2026-04-01 | 9420 |  |

Formula in C13, filled to C16: `=SUM(B2:B13)`

Result: $119,830; $120,425; $121,115; $121,660

## How it works

With no `$` signs, both ends of `B2:B13` move down one row as you fill, so the window slides: row 14 adds February 2025 to February 2026, dropping the oldest month and adding the newest. The first full window ends in the 12th month, which is why the formula starts in row 13.

## Other ways

- `=SUMIFS($B$2:$B$16,$A$2:$A$16,">"&EDATE(A13,-12),$A$2:$A$16,"<="&A13)`: Uses the dates instead of row positions, so a missing month doesn't shift the window.

## Common mistakes

- Locking the start with `$B$2` turns it into a running total that never drops old months.
- If a month is missing from the list, the row-based window covers 13 calendar months. The SUMIFS version doesn't have that problem.

## Questions

**How do I calculate a rolling 3-month total?**

Start in the third month with `=SUM(B2:B4)` and fill down.

**How do I get a rolling 12-month average?**

Use AVERAGE instead: `=AVERAGE(B2:B13)`, filled down.

Every formula and result on this page was checked by running it in the Spreadsheet Practice formula engine on 2026-10-30.

Source: https://spreadsheetpractice.com/formulas/rolling-12-month-total
