Best Value All-in-One Financial Planning Bundle
✓ Financial Planning✓ Net Worth Tracker✓ Monthly Budgeting✓ Travel Budget Planner✓ Annual Budgeting Planner✓ Monthly Expense Tracker✓ Annual Tax Planner✓ Retirement Planning
View Bundle →
intermediate Budgeting

Rolling Average Spending

Calculate a 3-month or 6-month rolling average for each budget category to smooth out irregular expenses.

Formula
=AVERAGE(OFFSET(current_cell, -months+1, 0, months, 1))

How It Works

A rolling average calculates the mean of the last N months of spending in a category. This smooths out one-time spikes and seasonal variation, giving a clearer picture of actual spending patterns.

Syntax

=AVERAGE(B2:B4)

For a dynamic 3-month rolling average using OFFSET:

=AVERAGE(OFFSET(B6, -2, 0, 3, 1))

Where B6 is the current month and -2 looks back two rows to include 3 months total.

Example

Groceries Spending:

MonthSpent3-Month Avg6-Month Avg
Jan$420--
Feb$380--
Mar$510$437-
Apr$390$427-
May$450$450-
Jun$620$487$462
Jul$400$490$458

3-Month Formula (Mar): =AVERAGE(B2:B4) = $437

6-Month Formula (Jun): =AVERAGE(B2:B7) = $462

The June spike of $620 barely moves the 6-month average, making it easier to spot whether spending is truly rising or just fluctuating.

Setting Up a Rolling Average Tracker

ABCD
MonthGroceries3-Mo Avg6-Mo Avg
Jan420
Feb380
Mar510=AVERAGE(B2:B4)
Apr390=AVERAGE(B3:B5)
May450=AVERAGE(B4:B6)
Jun620=AVERAGE(B5:B7)=AVERAGE(B2:B7)

Variations

Using OFFSET for Flexibility

Make the number of months a variable in a cell (e.g., F1 = 3):

=AVERAGE(OFFSET(B7, -F1+1, 0, F1, 1))

Change F1 to 6 and the same formula gives a 6-month rolling average.

Weighted Rolling Average

Give more weight to recent months:

=(B6*3 + B5*2 + B4*1) / 6

This weights the most recent month 3x and the oldest month 1x.

Rolling Average with AVERAGEIF

Exclude months where spending was zero (e.g., new category):

=AVERAGEIF(B2:B4, ">0")

Pro Tips

  1. 3-month vs 6-month - shorter windows react faster to changes, longer windows smooth more noise

  2. Watch the trend - if the rolling average keeps rising month over month, spending is genuinely increasing

  3. Use for budgeting - a 3-month rolling average often works better than a single month for setting next month’s budget target

  4. Combine with SPARKLINE - =SPARKLINE(C2:C13) next to the rolling average column shows the trend visually

  5. Handle early months - use =IF(ROW()-1>=3, AVERAGE(...), "") to avoid partial averages in the first few months

Common Errors

  • Including empty cells: AVERAGE ignores empty cells but treats 0 as a value - be consistent
  • Wrong OFFSET direction: The row offset should be negative to look backward in time
  • Mixing time periods: Make sure all values in the range represent the same interval (all monthly, all weekly, etc.)

Want More Than a Formula?

Our premium spreadsheet templates do the heavy lifting for you - with automatic calculations, visual charts, and everything pre-built. One-time purchase, no subscriptions.

Private & secure

Your financial data stays on your device. We never see it.

Learn more →

Need help?

Check our guides or reach out with questions.

View FAQ →