How to Calculate Running Totals That Reset Each Month in Excel

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

AB
1DateRevenue
21/28/2025$3,200
31/29/2025$1,800
41/30/2025$2,400
51/31/2025$4,100
62/1/2025$2,900
72/2/2025$1,500
82/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

ABC
1DateRevenueRunning Total
21/28/2025$3,200$3,200
31/29/2025$1,800$5,000
41/30/2025$2,400$7,400
51/31/2025$4,100$11,500
62/1/2025$2,900$2,900
72/2/2025$1,500$4,400
82/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

Scroll to Top