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.
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:
| Tab | What it holds | Who edits it |
|---|---|---|
| Expenses | One row per purchase: Date, Category, Amount, Notes | You, every day |
| Settings | Today's year and month, plus the month's start and end dates | Nobody. It's all formulas |
| Monthly Budget | One row per category: Budget, Spent, Remaining, a progress bar | You, 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.
- Add a tab called Settings and fill in the four date formulas from the Settings section below.
- Add a tab called Monthly Budget. In A7:F7, type the headers Category, Budget, Spent, Remaining, Progress and Status.
- In A8 downward, list your categories exactly as they appear in the Expenses dropdown. In B8 downward, type a monthly budget for each one.
- In C8, add the "spent this month" SUMIFS, then fill it down.
- In D8, add
=B8-C8and fill it down. - In E8, add the SPARKLINE bar, then fill it down.
- In F8, add the "Over by" warning, then fill it down.
- Add a total row, then the income, spent and left summary at the top.
- 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:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Budget for November 2026 | |||||
| 3 | Income this month | 3,200.00 | ||||
| 4 | Spent this month | 1,486.30 | ||||
| 5 | Left this month | 1,713.70 | ||||
| 7 | Category | Budget | Spent | Remaining | Progress | Status |
| 8 | Food | 450.00 | 212.40 | 237.60 | ▓▓▓▓░░░░ | |
| 9 | Transport | 120.00 | 131.50 | -11.50 | ▓▓▓▓▓▓▓▓ | Over by 11.50 |
| 10 | Rent | 1,100.00 | 1,100.00 | 0.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.
| Row | A (label) | B (formula) |
|---|---|---|
| 2 | Year | =YEAR(TODAY()) |
| 3 | Month | =MONTH(TODAY()) |
| 4 | Month start | =DATE($B$2,$B$3,1) |
| 5 | Month 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:
| Cell | Formula |
|---|---|
| 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",B8makes the full cell width equal the budget, so the bar is spent as a share of budget.color1turns 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.
- Right-click the Settings tab and choose Protect sheet. If you added the View month cell, tick Except certain cells and add B7.
- 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.
- Choose Show a warning when editing this range if you're the only user, or Restrict who can edit if you share the sheet.
- 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.
