Key takeaways
- A snowball spreadsheet needs a small debts table and a month-by-month ledger. The ledger pays minimums on every debt and sends all the extra money to the smallest open balance.
- Sort the debts smallest balance first. The formulas follow the row order, so re-sorting by interest rate turns the same sheet into an avalanche.
- MIN caps each payment at what is actually owed, so a balance never goes negative and the freed-up minimum rolls forward automatically.
- In our three-debt example with $500 a month, the snowball clears the first debt in month 4, the second in month 12 and the last in month 23, paying about $870 in interest.
- The same debts in highest-rate-first order finish one month sooner and cost about $144 less in interest.
A debt snowball spreadsheet is a sheet where you list each debt's balance, rate and minimum, then let formulas pay the smallest balance first and project your debt-free date. This guide gives you the exact layout and formulas, tested on a three-debt example, and works the same way in Excel and Google Sheets.
Free download: the finished spreadsheet has this layout and every formula below, loaded with the three-debt example. Replace the sample debts with yours.
What is the debt snowball method?
The debt snowball method means paying the minimum on every debt, then sending all your extra money to the debt with the smallest balance. When that debt is gone, its whole payment moves to the next-smallest balance, so the amount you attack each month grows. The avalanche method does the opposite: it targets the highest interest rate first and usually costs less interest. Snowball is popular because closing a debt early gives you a visible win, and research on consumer debt has linked early progress on a small account with a better chance of paying something off. Our snowball vs avalanche guide compares the two with real numbers.
The four repeating steps
- Pay the minimum on every debt.
- Put every spare dollar toward the smallest balance.
- When it is paid off, add its entire payment to the next debt.
- Repeat until the last balance is gone.
The minimum on a closed debt is not freed up for spending. It joins the snowball. That is the whole engine.
What does the spreadsheet need?
Two blocks: a debts table at the top and a month-by-month ledger below it.
The debts table
Put these headers in A1:D1 and one debt per row below, sorted smallest balance first:
| Cell | Header | Our example |
|---|---|---|
| A1:A4 | Debt | Medical bill, Credit card, Car loan |
| B1:B4 | Start balance | 900, 2,400, 6,800 |
| C1:C4 | APR (as a percentage) | 0%, 22%, 6% |
| D1:D4 | Minimum payment | 50, 60, 180 |
Add two settings in F1:G2: G1 is your total monthly debt payment (500 in the example), and G2 is the date of your first payment.
How do you build the monthly ledger?
Start the ledger in row 8 with these headers: A Month, B to D the balance of each debt after payment, E Extra, F to H the payment on each debt, I Interest, J Total balance. In row 9 (month 0) enter 0 in A9, then =B2 in B9, =B3 in C9 and =B4 in D9.
Row 10 is month 1. Enter these formulas, then fill the row down about 120 rows.
Extra money available
E10: =MAX(0,$G$1-MIN($D$2,B9*(1+$C$2/12))-MIN($D$3,C9*(1+$C$3/12))-MIN($D$4,D9*(1+$C$4/12)))
This takes your total payment, subtracts each debt's minimum (capped at what is still owed) and leaves the extra. As debts close, their minimums drop to zero and the extra grows. That is the snowball.
Payments
- F10 (debt 1): =MIN(B9*(1+$C$2/12),MIN($D$2,B9*(1+$C$2/12))+E10)
- G10 (debt 2): =MIN(C9*(1+$C$3/12),MIN($D$3,C9*(1+$C$3/12))+IF(B9<0.005,E10,0))
- H10 (debt 3): =MIN(D9*(1+$C$4/12),MIN($D$4,D9*(1+$C$4/12))+IF(AND(B9<0.005,C9<0.005),E10,0))
Each payment is the minimum, plus the extra if every debt above it is already paid. MIN is the quiet workhorse: it caps the payment at what is actually owed, so a balance never goes negative.
Balances, interest and the total
- B10: =B9*(1+$C$2/12)-F10
- C10: =C9*(1+$C$3/12)-G10
- D10: =D9*(1+$C$4/12)-H10
- I10 (interest this month): =B9*$C$2/12+C9*$C$3/12+D9*$C$4/12
- J10 (total balance): =SUM(B10:D10)
- A10 (month number): =A9+1
Interest is charged monthly at one-twelfth of the annual rate, which is the usual simplification for a payoff estimate. Real statements may differ by a few dollars because of daily interest and billing dates.
How do you find the debt-free date?
Use three summary cells next to the settings:
- Debt-free month number: =COUNTIF(J10:J130,">0.01")+1
- Debt-free date: =EDATE(G2,COUNTIF(J10:J130,">0.01"))
- Total interest: =SUM(I10:I130)
COUNTIF counts the months in which some balance is still positive after payment. The month after the last positive balance is the month you finish, and EDATE counts forward from your first payment date.
What does a three-debt example look like?
With the debts above and $500 a month, the ledger gives these checkpoints:
| Month | Medical bill | Credit card | Car loan |
|---|---|---|---|
| 1 | $640 | $2,384 | $6,654 |
| 4 | Paid off | $2,334 | $6,212 |
| 8 | - | $1,195 | $5,611 |
| 12 | - | Paid off | $4,999 |
| 18 | - | - | $2,113 |
| 23 | - | - | Paid off |
The medical bill closes in month 4. From month 5 the credit card receives its own minimum plus the freed-up money, $320 a month, and it closes in month 12. The car loan then gets the full remaining $500, and the last payment in month 23 is about $141. Total interest is about $870.
Check your sheet against these numbers
If your sheet shows something different, the most common causes are an APR typed as 22 instead of 22%, the debts not sorted by balance, or a formula filled down from the wrong row. Fix those first.
How does the same sheet compare with the avalanche?
Sort the debts table by APR instead of balance, highest first: credit card, car loan, medical bill. Nothing else changes. With the same $500, the card closes in month 10, the medical bill closes in month 18 through its regular $50 payments, and the car loan closes in month 22, with about $726 in total interest. In this example the avalanche finishes one month earlier and costs roughly $144 less. That gap is small because the biggest balance has a low rate. If your largest balance also carries your highest rate, the gap grows.
Keep both versions on separate tabs and compare the debt-free date and total interest before you choose.
What do you do when something changes?
- A new debt: insert a row in the table and extend the ledger formulas with the extra debt.
- A balance transfer or a new rate: change the balance and APR in the table, and write the promotion's end date in a note so you revisit it.
- A different monthly payment: change G1. Every date recalculates.
- A skipped month: add a note and re-enter the balances from your statement at the next row, so the ledger matches reality.
Update the sheet with real balances from your statements every month or two. The ledger is a projection, and a projection drifts if it never meets real numbers.
Calculator, spreadsheet or app?
Use a calculator for a one-time answer. It takes two minutes and handles what-if questions faster than editing a sheet. Use the spreadsheet once you start paying, because it can keep a record of real balances on your own computer with no account. If you would rather not maintain formulas, Paper & Prosperity is a free app that tracks each balance and shows the date, and Empire Life Dashboard keeps a payoff plan next to your calendar and goals as a one-time purchase for Mac and Windows. Neither imports from your bank, so you enter payments yourself.
Takeaway: Sort by balance, send the extra to the first open debt and let MIN stop each payment at the balance. Then compare the same sheet sorted by rate before you pick a method.
FAQ
Does the sheet work in both Excel and Google Sheets?
Yes. MIN, MAX, IF, AND, COUNTIF, EDATE and SUM behave the same in both programs, so you can build it once and copy it into either. Pick the program you will actually open each month, because the sheet only helps if you enter real balances.
How much extra should I put toward the smallest debt?
Whatever your budget can repeat every month, even if it is $25. A steady amount beats a large amount that you can only manage once. In the example, $500 a month in total clears all three debts in 23 months. Raise the amount when a debt closes and the sheet will show the new date.
Can I use this sheet for student loans?
Yes. Add each loan as its own row with its balance, rate and minimum. Check with your servicer that extra payments are applied to principal, and consider rate before size if one federal or private loan has a much higher rate than the rest.
What do I do after the first debt is paid off?
Nothing by hand. The next open debt automatically receives its own minimum plus all of the extra money, including the minimum that used to go to the closed debt. Check that the payment column for the next debt jumped by that amount.
How do I switch the sheet to the avalanche method?
Sort the debts table by interest rate, highest first, instead of by balance. The ledger formulas follow the row order, so nothing else changes. Compare the debt-free date and total interest between the two orders and pick the one you will stick with.
Sources
- Ramsey Solutions, How the Debt Snowball Method Works. The steps: list debts smallest to largest, pay minimums, and roll each paid-off payment into the next debt.
- Gal, D. & McShane, B. (2012), Can Small Victories Help Win the War? Evidence from Consumer Debt Management, Journal of Marketing Research. Debt-settlement clients with at least one small account were more likely to pay off an account.
- Google Docs Editors Help, Google Sheets function list, and Microsoft Support, SUMIFS function for the matching Excel functions.
Join the conversation
Questions or your own experience? Leave a comment below.
Comments could not load here. You can read and join the conversation on GitHub Discussions.