Quick Summary
Build a savings goal tracker from scratch in Google Sheets - step by step, with progress bars, on-track/behind status, and milestone celebrations.
A number in a savings account is abstract. A progress bar filling from 25% to 26%? That’s tangible. This tutorial walks through building a savings goal tracker in Google Sheets, from a blank spreadsheet to a visual dashboard with progress bars and on-track/behind status.
The whole thing takes about 15 minutes. By the end, you’ll have a tracker that updates automatically whenever you change your saved amounts.
Prefer something ready-made? The Monthly Budget Template includes a savings tracker with visual progress indicators built in.
Step 1: Create the Goals Table
Open a new Google Sheet and type these headers in row 1:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Goal | Target | Saved | Start Date | Target Date |
Now fill in your goals starting in row 2. Here’s an example with three goals:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 2 | Emergency Fund | 10000 | 4500 | 2025-06-01 | 2026-06-01 |
| 3 | Vacation | 3000 | 1200 | 2025-09-01 | 2026-08-01 |
| 4 | New Car | 15000 | 6000 | 2025-01-01 | 2027-01-01 |
A few notes:
- Target (B) is the total amount you’re working toward
- Saved (C) is how much you’ve saved so far - this is the column you’ll update over time
- Start Date (D) is when you started saving for this goal
- Target Date (E) is when you’d like to reach it
Format columns B and C as currency: select them, go to Format > Number > Currency. Format columns D and E as dates: Format > Number > Date.
Step 2: Add the Core Formulas
Now add four formula columns. Type these headers in F1 through I1:
| F | G | H | I | |
|---|---|---|---|---|
| 1 | Remaining | Progress | Days Left | Monthly Needed |
Then enter these formulas in row 2:
F2 (Remaining) - how much is left to save:
=B2-C2
G2 (Progress) - percentage complete:
=C2/B2
After entering this formula, format column G as a percentage: select the column, go to Format > Number > Percent.
H2 (Days Left) - countdown to target date:
=MAX(E2-TODAY(),0)
The MAX(...,0) keeps this from going negative after the target date passes.
I2 (Monthly Needed) - how much to save per month to reach the goal on time:
=MAX((B2-C2)/MAX(DATEDIF(TODAY(),E2,"M"),1),0)
This divides the remaining amount by the months left. The inner MAX(...,1) prevents a divide-by-zero error when the target date is in the current month. The outer MAX(...,0) avoids negative numbers for goals already reached. Format this column as currency.
Copy all four formulas down: Select F2:I2, then drag the fill handle (small blue square at the bottom-right corner of the selection) down to cover all your goal rows.
Your spreadsheet now looks like this:
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Goal | Target | Saved | Start Date | Target Date | Remaining | Progress | Days Left | Monthly Needed |
| 2 | Emergency Fund | $10,000 | $4,500 | 2025-06-01 | 2026-06-01 | $5,500 | 45% | … | … |
| 3 | Vacation | $3,000 | $1,200 | 2025-09-01 | 2026-08-01 | $1,800 | 40% | … | … |
| 4 | New Car | $15,000 | $6,000 | 2025-01-01 | 2027-01-01 | $9,000 | 40% | … | … |
The Days Left and Monthly Needed columns will show actual numbers based on today’s date. Try changing a Saved amount in column C - all the formula columns update instantly.
Step 3: Add a Progress Bar
Pick one of these three options and add it in column J. Type “Progress Bar” in J1.
Option A: SPARKLINE bar (recommended for Google Sheets)
Enter this formula in J2:
=SPARKLINE(G2,{"charttype","bar";"max",1;"color1","#34a853"})
This draws a green horizontal bar inside the cell. It reads from the Progress column (G2), so it updates automatically. Widen column J to about 150 pixels so the bar has room to display.
Option B: Text-based bar (works in Google Sheets and Excel)
Enter this formula in J2:
=REPT("█",ROUND(G2*10,0))&REPT("░",10-ROUND(G2*10,0))
This creates output like ████░░░░░░ for 40% complete. The bar is 10 characters wide.
Option C: Color the Progress column (no extra column needed)
Instead of adding column J, color the existing Progress column:
- Select G2 down through your last goal row
- Go to Format > Conditional formatting
- Under “Format rules,” choose Color scale
- Set minimum to white and maximum to green
- Click Done
Each cell now shows a color gradient based on progress.
Whichever option you chose, copy the formula down for all your goal rows.
Step 4: Add On-Track / Behind Status
This is the formula from the customer feedback that was originally broken - here’s the correct version. Type “Status” in K1, then enter this formula in K2:
=IF(C2/B2 >= (TODAY()-D2)/(E2-D2), "On Track", "Behind")
Here’s what each part does:
C2/B2is your actual progress (Saved divided by Target)(TODAY()-D2)is how many days have passed since your Start Date(E2-D2)is the total number of days in your saving window- Dividing those gives expected progress - the fraction of time that’s elapsed
If your actual saving percentage is ahead of the elapsed time percentage, you’re on track. Otherwise, you’re behind.
Copy this formula down column K for each goal row.
Step 5: Add Milestone Messages
For a bit of extra motivation, add a “Message” column in L1 with this formula in L2:
=IF(C2>=B2,"Goal reached!",IF(G2>=0.9,"Almost there!",IF(G2>=0.75,"75% done!",IF(G2>=0.5,"Halfway!",""))))
This checks progress and displays a message at key milestones: halfway, 75%, 90%, and completion. For goals below 50%, it stays blank to avoid clutter.
Copy this formula down for all your goal rows. The messages appear and change automatically as you update saved amounts.
Your Finished Tracker
At this point your spreadsheet has 12 columns (A through L) and looks something like this:
| Goal | Target | Saved | Start | End | Remaining | Progress | Days Left | Mo. Needed | Bar | Status | Message |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Emergency Fund | $10,000 | $4,500 | 2025-06-01 | 2026-06-01 | $5,500 | 45% | … | … | ████░░░░░░ | Behind | |
| Vacation | $3,000 | $1,200 | 2025-09-01 | 2026-08-01 | $1,800 | 40% | … | … | ████░░░░░░ | Behind | |
| New Car | $15,000 | $6,000 | 2025-01-01 | 2027-01-01 | $9,000 | 40% | … | … | ████░░░░░░ | On Track |
The only column you need to update regularly is Saved (C). Everything else recalculates automatically.
A few finishing touches to make it easier to read:
- Freeze the header row: Go to View > Freeze > 1 row so headers stay visible when scrolling
- Bold the header row: Select row 1, press Ctrl+B (or Cmd+B on Mac)
- Add conditional formatting to Status: Select column K, add a conditional formatting rule: “Text is exactly: On Track” with a green background, and “Text is exactly: Behind” with a red or orange background
Going Further
The tracker above covers the essentials. Here are a few optional additions for people who want more detail.
Contribution log
Create a second sheet (click the + tab at the bottom, name it “Contributions”) to log individual deposits:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Amount | Goal | Running Total |
| 2 | 2025-06-15 | $500 | Emergency Fund | $500 |
| 3 | 2025-07-01 | $200 | Vacation | $200 |
| 4 | 2025-07-15 | $500 | Emergency Fund | $1,000 |
The Running Total formula in D2 sums all contributions for the matching goal up to the current row:
=SUMIF($C$2:C2,C2,$B$2:B2)
Copy this down for each new entry. To pull a goal’s total back into your main tracker, use this formula in the Saved column (C) of the Goals sheet:
=SUMIF(Contributions!C:C,A2,Contributions!B:B)
This replaces manual entry in the Saved column - it pulls the total directly from the log.
Monthly history chart
Create a third sheet called “History” and record each goal’s balance at the end of every month:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Month | Emergency Fund | Vacation | New Car |
| 2 | Jan | $4,000 | $800 | $5,000 |
| 3 | Feb | $4,500 | $1,200 | $6,000 |
To create a chart: select all the data, go to Insert > Chart, and choose Line chart. Each goal appears as a separate line showing growth over time.
Priority-based allocation
If you want to split a fixed monthly savings amount across goals, add a small table on a separate sheet or below your main tracker:
| A | B | C | |
|---|---|---|---|
| 1 | Goal | % Split | Allocation |
| 2 | Emergency Fund | 60% | $300 |
| 3 | Vacation | 30% | $150 |
| 4 | New Car | 10% | $50 |
Put your total monthly savings amount in a cell (say, E1 = $500), then use this formula in C2:
=B2*$E$1
Adjust the percentages in column B to fit your own situation. The allocation column updates automatically when you change either the percentages or the total amount.
Related
- Financial Planning Template - comprehensive goal planning and financial projections
- Net Worth Tracker - track how savings goals build your net worth
- Monthly Budget Template - includes savings tracker with visual progress
- Emergency Fund Calculator
- How to Save for a Vacation Using a Spreadsheet