How to Calculate Running Totals That Reset Each Month in Excel

To build a running total that resets each month in Excel, use SUMIFS with an expanding range and the first and last day of the month: =SUMIFS(B$2:B2, A$2:A2, ">="&EOMONTH(A2,-1)+1, A$2:A2, "<"&EOMONTH(A2,0)+1). The B$2:B2 reference grows as it fills down, and the two EOMONTH conditions limit the sum to rows in the same calendar month, so the total restarts automatically on the first of each month with no manual break.

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.

Sample daily revenue data

AB
1DateRevenue
21/28/2026$3,200
31/29/2026$1,800
41/30/2026$2,400
51/31/2026$4,100
62/1/2026$2,900
72/2/2026$1,500
82/3/2026$3,700

The running total should accumulate within January, then reset on February 1st and start accumulating again.

The SUMIFS running total formula

=SUMIFS(B$2:B2, A$2:A2, ">="&EOMONTH(A2,-1)+1, A$2:A2, "<"&EOMONTH(A2,0)+1)

Sums the revenue from the first data row down to the current row, counting only rows dated from the first to the last day of the current row’s month. On the first of a new month the earlier rows stop matching, so the total starts over.

How the total resets on the first of the month

ABC
1DateRevenueRunning Total
21/28/2026$3,200$3,200
31/29/2026$1,800$5,000
41/30/2026$2,400$7,400
51/31/2026$4,100$11,500
62/1/2026$2,900$2,900
72/2/2026$1,500$4,400
82/3/2026$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(A3)=MONTH(A2), C2+B3, B3)

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 =B2 in C2 (the first data row), then put this formula in C3 and fill down.

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. It also compares the month only, so rows a year apart (January straight to the next January) would not start over.

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, A$2:A2, ">="&EOMONTH(A2,-1)+1, A$2:A2, "<"&EOMONTH(A2,0)+1, B$2:B2, B2)

Each category gets its own running total that resets monthly. “Sales” accumulates separately from “Returns.”

Common questions

Does my data have to be sorted by date?

The SUMIFS version does not care about order, because it checks each row’s date against the current row’s month. The simpler MONTH-check version compares each row to the one above, so that one does require sorted data.

Does it work across multiple years?

Yes. EOMONTH works on the full date, so the first and last day it compares against include the year, and January 2026 and January 2027 are treated as different months rather than being merged.

What happens on blank rows?

They add nothing to the total. In the SUMIFS version the blank row itself shows 0, and the rows after it carry on with the month’s total. The MONTH-check version compares each row with the one above, so a blank row can restart its count; keep blank rows out of that version.

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.

Small fixes start at $69.

Every project gets a fixed-price quote before any work starts: the price you approve is the price you pay.

Step 1 of 2

What can we help you with?

A few words is enough. You can add more once we reply.

Pick the closest match (optional)

Helpful to include:

  • What you do today
  • What you want it to do instead
  • Anything you have already tried

Have a sample workbook or a screenshot? Attach it when you reply to our first email. A copy with confidential data removed is fine.

When do you need it?
Do you use Excel on Windows or Mac? (optional)

One more short step: your name and email.

Scroll to Top