How to track expenses in Google Sheets
By Omar, who has written down every expense since 2019 · Updated 24 October 2026
To track expenses in Google Sheets, keep one Log tab with a row per purchase (date, amount, category and whether it's paid) and a second tab that totals each category per month with SUMIFS. A dropdown keeps category names consistent, and a checkbox keeps bills you've noted but not yet paid out of the total.
That's the whole system. Most trackers fail not because the formulas are wrong but because logging takes too long, so the setup below keeps each entry to four fields.
Step 1: Make the Log tab
Rename the first tab Log and add four headers in row 1:
| A: Date | B: Amount | C: Category | D: Paid |
|---|---|---|---|
| 3 Oct 2026 | 640 | Grocery | ☑ |
| 5 Oct 2026 | 275 | Others | ☑ |
| 8 Oct 2026 | 450 | Internet | ☐ |
Sample numbers. Freeze the header row (View → Freeze → 1 row) so it stays visible as the log grows. Format column A as a date and column B as a number, so dates sort properly and amounts add up.
Step 2: Add a category dropdown
Select column C (below the header), then Insert → Dropdown and type your categories. A dropdown matters more than it looks: "Grocery", "groceries" and "Groceries " are three different categories to a formula, and your totals quietly split.
Start with six to ten categories you'd actually act on, plus Others. You can always split one later.
Step 3: Add a paid checkbox
Select column D and choose Insert → Checkbox. Tick it when the money has actually left. This lets you write a bill down the day it arrives without it inflating what you've spent so far.
Step 4: Total each category per month
Add a tab called Summary. Put the first day of each month down column A (1 Oct 2026, 1 Nov 2026…) and your categories across row 1. In B2:
=SUMIFS(Log!$B:$B, Log!$C:$C, B$1, Log!$A:$A, ">="&$A2, Log!$A:$A, "<"&EDATE($A2, 1), Log!$D:$D, TRUE)
Fill it across and down. Each cell is one category in one month, counting only paid rows. A =SUM(B2:G2) at the end of each row gives the month's total.
Paid on a fixed day, like the 24th? Calendar months will mix two salaries. Budget by paycheck shows how to make months run payday to payday instead.
Step 5: Compare with your normal
A total on its own doesn't say much. Is 1,890 on groceries a lot? Compare each category with its average over the last 12 months:
=AVERAGE(B2:B13)
Point it at the 12 months above the latest one (here, months in rows 2 to 13 and the latest in row 14). Put that next to the latest month and the difference tells you where to look first. In the example below, grocery is the category that grew, not electricity.
| Category | This month | Normal | Difference |
|---|---|---|---|
| Grocery | 1,890 | 1,470 | +420 |
| Electricity | 820 | 910 | −90 |
| Mobile bill | 300 | 300 | 0 |
| Others | 275 | 390 | −115 |
Sample numbers.
How do I make it a habit?
- Log on the spot. The Google Sheets phone app handles the dropdown, checkbox and date picker. Ten seconds at the till beats reconstructing a week from bank statements.
- Look once a week. A glance at the Summary tab is enough. The habit is the writing, not the analysis.
- Don't chase cents. Round to whole numbers. A tracker you keep is worth more than a precise one you abandon in March.
Questions
How many categories should I use?
Start with six to ten you'd actually act on, such as grocery, bills, transport and eating out, plus Others. Split a category later if it grows big enough that you want to see inside it.
Should I connect my bank instead?
Bank sync saves typing but you stop noticing each purchase. Writing it down takes a few seconds and is what makes you aware of where the money goes. Choose based on which of the two you want.
Can I track expenses in Google Sheets on my phone?
Yes. In the Google Sheets app, dropdowns, checkboxes and the date picker all work, so adding a row takes a few taps.
Is Google Sheets free for this?
Yes. Everything in this guide works with a free Google account, and the sheet lives in your own Google Drive.