Pen & Sheet

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:

Log tab columns with sample rows
A: DateB: AmountC: CategoryD: Paid
3 Oct 2026640Grocery☑
5 Oct 2026275Others☑
8 Oct 2026450Internet☐

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.

This month compared with the 12-month normal
CategoryThis monthNormalDifference
Grocery1,8901,470+420
Electricity820910−90
Mobile bill3003000
Others275390−115

Sample numbers.

How do I make it a habit?

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.

Next: How to budget by paycheck in Google Sheets.