Build a Bill Tracker in Excel
By ExcelReady TeamUpdated 5 min read
The short answer
List each bill in a row with its due date, amount and a Paid column of Yes or No. Add =B2-TODAY() to count the days left, total what you still owe with =SUMIF(D2:D7,"No",C2:C7), and use conditional formatting with =AND($D2="No",$B2<TODAY()) to turn overdue bills red. It works in any version of Excel.
Key takeaways
- Use one row per bill and five columns: Bill, Due date, Amount, Paid and Days left.
- =B2-TODAY() counts the days until each bill is due and updates every day by itself.
- =SUMIF(D2:D7,"No",C2:C7) shows the total you still have to pay.
- A conditional formatting rule like =AND($D2="No",$B2<TODAY()) highlights unpaid bills that are past due.
- For monthly bills, =EDATE(B2,1) gives next month's due date on the same day.
On this page+
A bill tracker in Excel is a simple list of bills with their due dates, amounts and whether each one is paid, plus a few formulas that do the checking for you. In about fifteen minutes you can build one that counts the days left, totals what you still owe and turns overdue bills red. This guide builds it step by step, and every formula is one you will reuse at work.
Step 1: Set up the bill list#
Start with one row per bill and these columns:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Bill | Due date | Amount | Paid | Days left |
| 2 | Rent | 1 Nov 2026 | 1200 | Yes | |
| 3 | Electricity | 8 Nov 2026 | 85 | No | |
| 4 | Internet | 12 Nov 2026 | 45 | No | |
| 5 | Phone | 15 Nov 2026 | 30 | Yes | |
| 6 | Car insurance | 20 Nov 2026 | 110 | No | |
| 7 | Gym | 25 Nov 2026 | 40 | No |
A few habits keep the tracker reliable:
- Type real dates, such as 8/11/2026 or 2026-11-08, so Excel stores them as dates and can do maths with them. A date that sits on the left of the cell is probably text.
- Type amounts as plain numbers. Format them as currency afterwards, rather than typing a symbol.
- Turn the list into a table with Ctrl+T (Mac: Cmd+T). New bills typed in the row below join the table, and formulas fill down by themselves.
Step 2: Add a Yes/No drop-down for Paid#
A drop-down list stops typos like "yes " or "Y", which formulas would not match. Select D2:D7, go to Data > Data Validation, choose List and type Yes,No in the Source box. Each cell now has a small arrow with the two choices.
This matters because the totals in Step 4 look for the exact word "No". A stray space would quietly leave a bill out.
Step 3: Count the days left with TODAY#
TODAY returns the current date, and subtracting two dates gives the number of days between them. In E2:
=B2-TODAY()Fill it down (Windows: Ctrl+D; Mac: Cmd+D). If today is 2 Nov 2026, Electricity shows 6 and Rent shows -1, because it was due yesterday. A negative number means the date has passed. The result recalculates every time you open the file, so you never need to update it by hand. The TODAY function guide explains how it updates.
If the result looks like a date, change the cell's number format to General. For other ways to count days, see the days between dates lesson.
A clearer label is often more useful than a number. This formula returns a status for each bill:
=IF(D2="Yes","Paid",IF(B2<TODAY(),"Overdue",IF(B2-TODAY()<=7,"Due soon","Upcoming")))It checks the Paid column first, so a paid bill never shows as overdue. Then it checks whether the date has passed, then whether it is within a week.
Step 4: Total paid and unpaid bills with SUMIF#
SUMIF adds the numbers that match one condition. To see what you still owe:
=SUMIF(D2:D7,"No",C2:C7)It checks D2:D7 for "No" and adds the matching amounts in C2:C7: 85 + 45 + 110 + 40 = 280. Change "No" to "Yes" for the amount already paid, 1,230. Together they make the total of 1,510. The SUMIF function guide lists the full syntax.
Two more summary formulas are worth adding at the top of the sheet:
| Question | Formula |
|---|---|
| How many bills are overdue? | =COUNTIFS(D2:D7,"No",B2:B7,"<"&TODAY()) |
| How much is due in the next 7 days? | =SUMIFS(C2:C7,D2:D7,"No",B2:B7,">="&TODAY(),B2:B7,"<="&TODAY()+7) |
Note how the date conditions join the operator in quotes to TODAY with &. Writing "<TODAY()" would not work, because inside quotes it is just text.
Step 5: Highlight overdue bills with conditional formatting#
Conditional formatting changes a cell's colour when a rule is true. To turn unpaid, overdue bills red:
- Select A2:E7.
- Go to Home > Conditional Formatting > New Rule.
- Choose Use a formula to determine which cells to format.
- Enter
=AND($D2="No",$B2<TODAY()). - Click Format, pick a light red fill and click OK twice.
The $ before D and B locks the columns, so every cell in a row checks that row's Paid and Due date. The row number has no $, so it moves down as the rule is applied to rows 3 to 7. Add a second rule with =AND($D2="No",$B2-TODAY()<=7,$B2>=TODAY()) and an amber fill for bills due within a week. The conditional formatting lesson practises formula rules like these.
Step 6: Roll monthly bills forward with EDATE#
Most bills repeat every month. When you pay one, you need next month's due date. EDATE adds whole months and keeps the same day:
=EDATE(B2,1)For Electricity, this returns 8 Dec 2026. When a bill is paid, add a new row for next month with that date, and set Paid to No. Keeping the old rows gives you a payment history you can total by month later.
Ideas to extend your bill tracker#
Once the basics work, you can grow the tracker with the same skills:
- Add a Category column (housing, utilities, transport) and total it with SUMIF, as in the expense tracker guide.
- Add a Paid on date to check whether bills were paid on time.
- Use the same days-left and red-highlight pattern for renewals and warranties, as in the expiry date tracker.
- Track job applications or stock levels with the same layout: see the job application tracker and the inventory tracker.
Practise it#
Practise days between dates in a live spreadsheet: you type each date formula and it checks your answer instantly. Then try the unpaid total exercise on this page, and practise conditional formatting rules to make your tracker highlight what matters.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
How much do you still owe? In G2, use SUMIF to add the Amount (C2:C7) for bills where Paid (D2:D7) is No.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Paid | |||||||
| 2 | Yes | Still to pay | ||||||
| 3 | No | |||||||
| 4 | No | |||||||
| 5 | Yes | |||||||
| 6 | No | |||||||
| 7 | No | |||||||
| 8 | ||||||||
| 9 | ||||||||
| 10 |
Tip: SUMIF takes the range to check, the condition and the range to add: D2:D7, "No", C2:C7. The answer is 280.
Practise this in a lesson
Frequently asked questions
How do I make a bill tracker in Excel?
Make columns for Bill, Due date, Amount and Paid. Add =B2-TODAY() for days left, =SUMIF(D2:D7,"No",C2:C7) for the unpaid total, and a conditional formatting rule to highlight overdue bills.
How do I highlight overdue bills in Excel?
Select the bill rows, choose Home > Conditional Formatting > New Rule > Use a formula, and enter =AND($D2="No",$B2<TODAY()). Pick a red fill. Unpaid bills with a past due date turn red each day by themselves.
How do I calculate the total of unpaid bills?
Use =SUMIF(D2:D7,"No",C2:C7). It adds the amounts in column C only on rows where the Paid column says No.
How do I count days until a bill is due in Excel?
Subtract today's date from the due date: =B2-TODAY(). A negative number means the bill is overdue. If the result looks like a date, change the cell format to General.
Can I track recurring monthly bills in Excel?
Yes. Use =EDATE(B2,1) to get the same day next month. When a bill is paid, copy the row, change the due date to the EDATE result and set Paid back to No.