You need a running total that accumulates throughout the month — showing how revenue, expenses, or units build day by day — then resets to zero on the first of the next month and starts over. This is essential for tracking monthly targets, budgets, and quotas. Here’s how to build one that handles the reset automatically.
The Data
| A | B | |
|---|---|---|
| 1 | Date | Revenue |
| 2 | 1/28/2025 | $3,200 |
| 3 | 1/29/2025 | $1,800 |
| 4 | 1/30/2025 | $2,400 |
| 5 | 1/31/2025 | $4,100 |
| 6 | 2/1/2025 | $2,900 |
| 7 | 2/2/2025 | $1,500 |
| 8 | 2/3/2025 | $3,700 |
The running total should accumulate within January, then reset on February 1st and start accumulating again.
The Formula
=SUMIFS(B$2:B2, TEXT(A$2:A2,"YYYY-MM"), TEXT(A2,"YYYY-MM"))
Sums all revenue values from the start of the data up to the current row, but only where the month matches the current row’s month. When the month changes, only matching rows are included — effectively resetting the total.
Array formula in older Excel
In Excel 2019 and earlier, this needs to be entered with Ctrl+Shift+Enter because it uses array comparison. In Microsoft 365, just press Enter normally.
Result
| A | B | C | |
|---|---|---|---|
| 1 | Date | Revenue | Running Total |
| 2 | 1/28/2025 | $3,200 | $3,200 |
| 3 | 1/29/2025 | $1,800 | $5,000 |
| 4 | 1/30/2025 | $2,400 | $7,400 |
| 5 | 1/31/2025 | $4,100 | $11,500 |
| 6 | 2/1/2025 | $2,900 | $2,900 |
| 7 | 2/2/2025 | $1,500 | $4,400 |
| 8 | 2/3/2025 | $3,700 | $8,100 |
January accumulates to $11,500. February resets and starts fresh at $2,900.
Simpler Alternative: IF with MONTH Check
For a more readable approach that works in all Excel versions:
=IF(MONTH(A2)=MONTH(A1), C1+B2, B2)
If the current row’s month matches the previous row’s month, add to the running total. Otherwise, start fresh with the current day’s value. Put this in C2 and set C1 (the first row) as just =B2.
When to use which
The SUMIFS approach is more robust — it works even if data is out of order or has gaps. The IF/MONTH approach is simpler but requires data to be sorted by date with no blank rows.
Adding a Target Line
To track progress against a monthly target, add a column showing the daily target pace:
Daily target pace (linear)
=($E$1/DAY(EOMONTH(A2,0)))*DAY(A2)
Divides the monthly target (in E1) by the number of days in the month, then multiplies by the current day number. Shows where you should be if revenue came in evenly.
Running Total by Category
Need separate running totals for each product line or department? Add the category to the SUMIFS criteria:
=SUMIFS(C$2:C2, TEXT(A$2:A2,"YYYY-MM"), TEXT(A2,"YYYY-MM"), B$2:B2, B2)
Each category gets its own running total that resets monthly. “Sales” accumulates separately from “Returns.”
When Formulas Aren’t Enough
Running total formulas work for basic tracking, but real business dashboards often need more:
- Multiple reset periods — weekly, monthly, quarterly, and yearly running totals simultaneously
- Visual dashboard — running total charts with target lines, variance highlighting, and trend indicators
- Multi-department rollup — individual running totals per team that roll up to a company view
- Automatic data refresh — pulling new daily data from an export and updating the running totals without manual paste
- Historical comparison — this month’s running total overlaid with last month’s and last year’s same period
A custom VBA dashboard builds all of this — running totals, charts, multi-period comparisons, and formatted output — refreshed with one click.
“David’s work is outstanding. He works in very timely fashion, asks pertinent questions, and is extremely flexible and responsive. David always has a solution.”
Access Reports Client · Upwork
Need a Dashboard That Tracks Progress Automatically?
Tell us about your tracking needs and we’ll build a visual dashboard for it.
Start a Project