Most budget spreadsheets fail for the same reason: they depend on you to enter every transaction by hand. You do it for a week, maybe two, then you stop. The spreadsheet becomes a monument to good intentions.
The fix is automatic data entry. When your transactions sync in from your bank, the budget stays current without you typing anything.
Here's how to build one that works.
What We're Building
Three sheets:
- Transactions: raw data from SheetLink (updated when you sync, don't edit)
- Categories: your budget targets by category
- Budget: actual vs. target, updated every sync
Step 1: Get Transactions Into Sheets
Install SheetLink, connect your bank accounts, and link a Google Sheet. Hit Sync Now. You'll get a Transactions sheet with all Plaid transaction fields, including date, description_raw, merchant_name, amount, category_primary, and more.
If you haven't done this yet, start here.
Step 2: Add a Category Column to Transactions
Add a column called My Category at the end of the Transactions sheet. This is where you map each transaction to a budget line item.
For manual entry, add a dropdown via Data → Data validation and list your budget categories. Pick from the dropdown as new transactions come in.
For recurring merchants, use a VLOOKUP against a two-column helper sheet called MerchantMap (column A = merchant name, column B = category). Reference the merchant_name cell in the same row:
=IFERROR(VLOOKUP(merchant_name_cell, MerchantMap!$A:$B, 2, 0), "")
Tip
You don't need to categorize every transaction, only the ones that matter to your budget. Skip ATM withdrawals, transfers between your own accounts, and anything you're not tracking.
Step 3: Set Up Your Categories Sheet
Create a sheet called Categories. Two columns: Category and Monthly Target.
Keep it realistic. A usable budget has 8–12 categories, not 40:
| Category | Monthly Target |
|---|---|
| Groceries | 600 |
| Dining Out | 300 |
| Gas | 150 |
| Subscriptions | 80 |
| Entertainment | 100 |
| Shopping | 200 |
| Health & Medical | 75 |
| Other | 150 |
Step 4: Build the Budget Sheet
Create a sheet called Budget. Set up columns: Category, Target, Actual, Variance.
In column A, list your categories (or reference them: =Categories!A2).
In column B, pull the target: =Categories!B2.
Column C is where SUMIFS does the work. Use MATCH to find the right columns by header name, since SheetLink writes many columns:
=SUMIFS(
INDEX(Transactions!$A:$AJ, 0, MATCH("amount", Transactions!$1:$1, 0)),
INDEX(Transactions!$A:$AJ, 0, MATCH("My Category", Transactions!$1:$1, 0)), A2,
INDEX(Transactions!$A:$AJ, 0, MATCH("date", Transactions!$1:$1, 0)), TEXT(TODAY(), "yyyy-mm") & "*"
)
This formula:
- Sums the amount column
- Where My Category matches this row's label
- Where date falls in the current calendar month. SheetLink writes dates as text (YYYY-MM-DD), so the month is matched as text (
TEXT(TODAY(), "yyyy-mm") & "*"), not compared as a date
If you want to see a specific month instead of always-current, put a date in a named cell (e.g., BudgetMonth = 2025-12-01) and replace TODAY() with BudgetMonth.
Step 5: Add the Variance Column
Column D is one formula:
=C2-B2
Actual minus target. Positive means you went over. Negative means you have room left.
Tip
For spending categories, "over" is positive and bad. Income comes through as negative amounts, so if you're also tracking income, put a minus sign in front of its SUMIFS and keep it on a separate row where positive is good.
Step 6: Conditional Formatting
Select your Variance column. Go to Format → Conditional formatting. Add two rules:
- Greater than 0 → red background (over budget)
- Less than or equal to 0 → green background (on track)
Now you can scan the whole month in two seconds. Red rows need attention; green rows are fine.
For the Actual column, add a second rule: Greater than the value in the corresponding Target cell. This flags rows in red before you even look at variance.
The 10-Minute Monthly Routine
Once this is built, your monthly check-in takes about 10 minutes:
- Open SheetLink → Sync Now (pulls any transactions since last sync)
- Scroll through new Transactions, assign My Category to uncategorized rows (~5 min)
- Open the Budget sheet (it's already updated)
That's it. No exports, no copy-paste, no re-entering anything.
The data lives in a sheet you own. You can add columns, change categories, build charts, or share it with a partner, all without learning new software or paying another monthly subscription.
SheetLink Pro
Every bank you connect, two years of history, and Excel as well as Google Sheets.
Full refund within 14 days. Cancel anytime.
Questions
What's the best way to budget in Google Sheets?
Connect your bank via SheetLink so transactions sync into your sheet when you press Sync Now. Then use SUMIFS to sum spending by category and month. This gives you actual vs. budget comparisons without any manual data entry.
How do I categorize transactions in Google Sheets?
Add a 'Category' column to your Transactions sheet. Use a dropdown (Data Validation) with your budget categories. For recurring merchants, a VLOOKUP against a merchant map sheet auto-fills the category.
Can I set budget targets and see if I'm over?
Yes. Put your targets in a separate column and use a simple formula: =actual-target. Conditional formatting (red if over, green if under) makes it easy to scan.