Google Sheets

How to Build a Monthly Budget Dashboard in Google Sheets

Build a monthly budget dashboard in Google Sheets that resets on the 1st: a Settings tab, per-category remaining, sparkline bars and protected formulas.

By Waseem Gul7 min read

In short

To build a monthly budget dashboard in Google Sheets, add a Settings tab that works out the first day of this month and of the next. Then point every SUMIFS on the dashboard at those two cells. Each category shows budget, spent, remaining and a sparkline bar, and the dashboard resets itself on the 1st.

To build a monthly budget dashboard in Google Sheets, add a small Settings tab that works out the first day of this month and the first day of next month. Point every SUMIFS on the dashboard at those two cells. Each category then shows its budget, what you've spent, what's left and a bar, and the dashboard rolls over to the new month on the 1st by itself.

That's the whole idea, and it's the same design our free Personal Finances template uses. This guide builds it from a blank sheet, one tab at a time.

What you'll build

Three tabs, each with one job:

TabWhat it holdsWho edits it
ExpensesOne row per purchase: Date, Category, Amount, NotesYou, every day
SettingsToday's year and month, plus the month's start and end datesNobody. It's all formulas
Monthly BudgetOne row per category: Budget, Spent, Remaining, a progress barYou, once, to set the budgets

The Expenses tab is laid out like our free Google Sheets expense tracker template: Date in column A, Category in B, Amount in C, Notes in D. If yours differs, swap the letters in the formulas below. An Income tab (Date in A, Amount in D) is optional and only feeds the summary at the top.

Two things have to be right before any dashboard works. Dates must be real dates, not text, and category names must be spelled the same way every time. A category dropdown takes care of the second.

How do I make a monthly budget dashboard in Google Sheets?

Here's the full build as steps. The sections after this explain each part.

  1. Add a tab called Settings and fill in the four date formulas from the Settings section below.
  2. Add a tab called Monthly Budget. In A7:F7, type the headers Category, Budget, Spent, Remaining, Progress and Status.
  3. In A8 downward, list your categories exactly as they appear in the Expenses dropdown. In B8 downward, type a monthly budget for each one.
  4. In C8, add the "spent this month" SUMIFS, then fill it down.
  5. In D8, add =B8-C8 and fill it down.
  6. In E8, add the SPARKLINE bar, then fill it down.
  7. In F8, add the "Over by" warning, then fill it down.
  8. Add a total row, then the income, spent and left summary at the top.
  9. Protect the Settings tab and the formula columns.

Layout: one tab for inputs, one for the dashboard

Keep raw data and the dashboard on separate tabs. The Expenses tab only grows, and the dashboard never needs rows added to it. That separation is what lets the dashboard stay the same size all year.

The Monthly Budget tab ends up looking like this:

ABCDEF
1Budget for November 2026
3Income this month3,200.00
4Spent this month1,486.30
5Left this month1,713.70
7CategoryBudgetSpentRemainingProgressStatus
8Food450.00212.40237.60▓▓▓▓░░░░
9Transport120.00131.50-11.50▓▓▓▓▓▓▓▓Over by 11.50
10Rent1,100.001,100.000.00▓▓▓▓▓▓▓▓

Rows 8 to 14 hold the seven template categories (Food, Transport, Utilities, Rent, Entertainment, Health and Other), and row 15 is the total. The title in A1 updates itself:

="Budget for "&TEXT(Settings!$B$4,"mmmm yyyy")

Date-range cells: the Settings tab that resets the month

This tab is why the dashboard never needs editing. Instead of typing "November" into twenty formulas, you work the dates out once and every formula reads them.

RowA (label)B (formula)
2Year=YEAR(TODAY())
3Month=MONTH(TODAY())
4Month start=DATE($B$2,$B$3,1)
5Month end=DATE($B$2,$B$3+1,1)

B4 is the 1st of this month. B5 is the 1st of next month, and it's used as "before this date", not "on or before". That catches every expense on the last day, even when the Date column holds a time as well. DATE handles December properly: month 13 of 2026 becomes January 2027.

Format B4 and B5 as dates (Format → Number → Date) so you can check them at a glance.

Optional: look back at a past month

Type "View month" in A7 and leave B7 empty, then change B2 and B3 to:

=YEAR(IF($B$7="",TODAY(),$B$7))
=MONTH(IF($B$7="",TODAY(),$B$7))

Leave B7 empty and the dashboard follows today. Type any date in September into it and the whole dashboard shows September. Clear it to come back.

Optional: how much of the month has gone

A budget that's 60% spent is fine on the 25th and a problem on the 5th. Add this in B6, label it "Month elapsed" and format it as a percentage:

=MAX(0,MIN(1,(TODAY()-$B$4+1)/($B$5-$B$4)))

Compare it with total spent divided by total budget and you know whether you're ahead of or behind your pace.

Per-category remaining: SUMIFS against the Settings dates

In C8 on the Monthly Budget tab, add up every expense with this row's category, dated this month:

=SUMIFS(Expenses!$C:$C,
  Expenses!$B:$B, $A8,
  Expenses!$A:$A, ">="&Settings!$B$4,
  Expenses!$A:$A, "<"&Settings!$B$5)

Fill it down to row 14. The $A8 reads each row's category name, and the $ signs on the Settings cells keep every row pointing at the same two dates. If SUMIFS is new to you, SUMIFS by month walks through how the date window works and why it sometimes returns 0.

Remaining is plain subtraction. In D8:

=B8-C8

A negative number means you're over. To make that obvious, add a Status column. In F8:

=IF(D8<0,"Over by "&TEXT(-D8,"#,##0.00"),"")

Then select D8:D14 and add Format → Conditional formatting → Custom formula is =$D8<0 with red text. Now an overspent category shows up straight away, even on a phone screen.

Finish the table with a total row in row 15 (=SUM(B8:B14), and the same for C and D), then fill in the summary at the top:

CellFormula
B3 (Income this month)=SUMIFS(Income!$D:$D, Income!$A:$A, ">="&Settings!$B$4, Income!$A:$A, "<"&Settings!$B$5)
B4 (Spent this month)=C15
B5 (Left this month)=B3-B4

Under the total, add a check row labelled "Uncategorized" that uses "" as the category in the same SUMIFS. It should stay at zero. If it doesn't, some expenses are missing a category and aren't counted anywhere.

Sparkline bars: a progress bar in every row

SPARKLINE draws a tiny chart inside one cell, so you don't need a separate chart object that breaks when rows move. In E8:

=SPARKLINE(C8, {"charttype","bar"; "max",B8; "color1",IF(C8>B8,"#C62828","#2E7D32")})
  • "charttype","bar" draws one horizontal bar.
  • "max",B8 makes the full cell width equal the budget, so the bar is spent as a share of budget.
  • color1 turns the bar red once spending passes the budget. Once it's over, the bar just stays full.

Fill it down, widen column E and increase the row height to about 24 pixels so the bars are easy to read. The Google Sheets SPARKLINE help page lists every option if you'd rather use a column or win/loss style.

For a single "whole month" bar under the summary, use the same formula on the totals: =SPARKLINE(C15,{"charttype","bar";"max",B15}).

Protecting formulas so the dashboard doesn't break

Most broken budget dashboards weren't broken by a bad formula. Someone typed a number over a working one. Lock everything except the cells people are meant to edit.

  1. Right-click the Settings tab and choose Protect sheet. If you added the View month cell, tick Except certain cells and add B7.
  2. On the Monthly Budget tab, select C8:F15 and the summary cells B3:B5, then go to Data → Protect sheets and ranges → Add a sheet or range.
  3. Choose Show a warning when editing this range if you're the only user, or Restrict who can edit if you share the sheet.
  4. Leave column B from row 8 down (the budgets) unprotected. That's the one input on this tab.

The owner of a spreadsheet can always edit protected ranges, so protection is a guard against slips rather than a lock against yourself. If you budget with a partner, sharing one budget spreadsheet covers who should own the file.

Keep the dashboard fed from your phone

A budget dashboard in Google Sheets is only as accurate as the Expenses tab behind it, and that tab mostly gets skipped when you're out and about. The formulas above work with however you add rows.

If you'd rather not build it yourself, Voice Sheet's free Personal Finances template creates the Expenses, Income and Monthly Budget tabs with this same Settings tab already in place, and the app shows the Monthly Budget tab as a budget dashboard for Google Sheets, with a card and progress bar per category. Entries go straight into your own spreadsheet through Google Sheets sync, with a date picker and your category dropdown. You can see the other layouts on the Google Sheets templates page.

Want a method to put inside the dashboard? The envelope budget spreadsheet and zero-based budget guides both use this per-category layout. And for the full set-up, from columns to dropdowns to sharing, see the complete guide to track expenses in Google Sheets.

Frequently asked questions

How do I make a budget dashboard in Google Sheets?

Keep expenses on one tab with Date, Category and Amount columns. Add a Settings tab with this month's start and next month's start, then build a dashboard tab that lists each category with a budget, a SUMIFS for spent this month, a remaining column and a SPARKLINE bar. Protect the formula cells when it works.

How do I make my Google Sheets budget reset every month?

Don't hard-code dates. Put =DATE(YEAR(TODAY()),MONTH(TODAY()),1) in one cell and the 1st of next month in another, and use those two cells as the date window in every SUMIFS. TODAY() changes on the 1st, so every total starts again from zero while past expenses stay in the sheet.

How do I add progress bars to a budget in Google Sheets?

Use SPARKLINE with the bar chart type: =SPARKLINE(C8,{"charttype","bar";"max",B8}) draws spent (C8) as a share of the budget (B8) inside one cell. Add a color1 option with an IF to turn the bar red when spending passes the budget. Widen the column and increase the row height so the bar is easy to read.

Can I look at last month on the same dashboard?

Yes, if the Settings tab has an optional View month cell. When it's empty, the dashboard follows today's date. Type any date in it, such as 1 September, and the year and month cells switch to that month, so every total on the dashboard changes with them. Clear the cell to go back to the current month.

  • budget dashboard
  • google sheets
  • monthly budget
  • sparkline
  • sumifs
  • budget template
New to Voice Sheet?

Say it, and it's in your Google Sheet.

Voice Sheet adds rows to your Google Sheets by voice, from a pasted list, a home screen widget or a form built from your columns. It works offline and never connects to your bank.

See everything Voice Sheet does →
Voice Sheet — say it, and it's in your Google Sheet

Keep reading

Add rows to this sheet from your phone

Voice Sheet turns your columns into a phone form and fills it from one spoken sentence. 3 voice entries a day are free.

Download on the App StoreGet it on Google Play