Debt Payoff Calculator Spreadsheet: Months to Debt-Free, Total Interest and What an Extra Payment Saves (Excel & Google Sheets)
Short on time? The 2027 Budget Planner ($12.99) is the finished, tested version of what this tutorial builds.
"How long until this card is paid off?" has a one-formula answer, and "how much interest will I pay?" has a two-formula answer, as long as you handle the last payment properly. Most quick calculators multiply months × payment and overstate the interest, because the final payment is almost always smaller than the rest.
This tutorial builds a two-tab sheet, Settings and Debts, with one row per debt. For each debt it shows the months to pay off, the size of the last payment, the total interest, the month it's paid off, what the same debt costs at the minimum payment, the interest your extra payment saves, and the payment that would clear it by a target date. It works the same in Excel, Google Sheets and LibreOffice, using only NPER, FV, PMT, EDATE, ROUNDUP, IF, OR, COUNTIF, MAX and SUM. To test it, we built a workbook with these exact formulas, recalculated it in LibreOffice, and compared every cell to an independent Python model that pays each debt month by month, on the worked example below plus 40 randomized sets of debts (including 0% loans, payments too small to ever finish, and balances paid off in one month).
1. The Settings tab
B1 (First payment month): 2027-01-01
B2 (Debt-free target, months): 24
First payment month is the month of your next payment; the sheet counts it as month 1. Debt-free target is how many months you'd like to be done in; the Debts tab works out the payment each debt would need to hit it.
2. The Debts tab
Row 1 holds the headers: Debt, Balance, APR, Minimum payment, Extra / month, Monthly rate, Payment, Months to pay off, Last payment, Total interest, Paid off in, Months at minimum, Interest at minimum, Interest saved, Payment for target, Avalanche order, Snowball order. You type columns A–E (APR as a percentage, like 22.99%). Columns F–Q are formulas; fill them down only as far as you have debts.
F2 (Monthly rate): =C2/12
G2 (Payment): =D2+E2
H2 (Months to pay off): =IF(G2<=B2*F2,"Never",IF(F2=0,ROUNDUP((B2-0.005)/G2,0),ROUNDUP(NPER(F2,-G2,B2,-0.005),0)))
I2 (Last payment): =IF(H2="Never","",-FV(F2,H2-1,-G2,B2)*(1+F2))
J2 (Total interest): =IF(H2="Never","",(H2-1)*G2+I2-B2)
K2 (Paid off in): =IF(H2="Never","",EDATE(Settings!$B$1,H2-1))
L2 (Months at minimum): =IF(D2<=B2*F2,"Never",IF(F2=0,ROUNDUP((B2-0.005)/D2,0),ROUNDUP(NPER(F2,-D2,B2,-0.005),0)))
M2 (Interest at minimum): =IF(L2="Never","",(L2-1)*D2-FV(F2,L2-1,-D2,B2)*(1+F2)-B2)
N2 (Interest saved): =IF(OR(H2="Never",L2="Never"),"",M2-J2)
O2 (Payment for target): =IF(F2=0,B2/Settings!$B$2,PMT(F2,Settings!$B$2,-B2))
P2 (Avalanche order): =COUNTIF($C$2:$C$9,">"&C2)+1
Q2 (Snowball order): =COUNTIF($B$2:$B$9,"<"&B2)+1
Monthly rate is the APR divided by 12. Card issuers often charge interest daily on the average daily balance (CFPB), so treat the card results as a close estimate rather than your statement to the cent. Loans that charge APR/12 each month match exactly.
Months to pay off uses NPER, which returns the number of payment periods for a loan with a fixed payment and rate (Microsoft's NPER help, Google's NPER help). The payment goes in as a negative number and the balance as a positive one, the usual cash-flow sign convention. NPER gives a fraction like 23.4; ROUNDUP turns it into the 24th payment, which is the smaller last one. The last argument, −0.005, tells NPER the debt is done once less than half a cent is left. Without it, a leftover of a fraction of a cent (we hit one at $0.00495 in testing) adds a month that no lender would bill. The 0% branch does the same with plain division. If the payment is no bigger than one month's interest, the balance never goes down, and the sheet says Never instead of letting NPER return an error.
Last payment is what's left after all the full payments, plus that month's interest. FV gives the balance after a number of payments (Microsoft's FV help); with this sign convention the balance comes back negative, hence the minus sign in front. Total interest is then everything you pay minus the balance you started with: all the full payments, plus the last one, minus the balance.
Paid off in counts forward from the first payment month with EDATE (Microsoft's EDATE help). Format column K as a month and year. Months at minimum and Interest at minimum repeat the same math with the minimum payment only, so Interest saved shows what your extra payment is worth.
Payment for target uses PMT, the fixed payment that clears a balance in a given number of months (Microsoft's PMT help, Google's PMT help). For a 0% loan it's simply the balance divided by the months.
Avalanche order ranks the debts by APR, highest first. Snowball order ranks them by balance, smallest first. They're the two common orders for where extra money goes. Ties share a rank.
3. Totals
Put these under the settings:
B4 (Total balance): =SUM(Debts!B2:B9)
B5 (Paid each month): =SUM(Debts!G2:G9)
B6 (Total interest): =SUM(Debts!J2:J9)
B7 (Interest saved by extra payments): =SUM(Debts!N2:N9)
B8 (Months until the last debt is paid): =MAX(Debts!H2:H9)
B9 (Payment to be debt-free on target): =SUM(Debts!O2:O9)
SUM and MAX skip the blank and "Never" cells, so check column H for any Never before you trust B6 and B8.
Worked example
Settings: first payment month January 2027, target 24 months. Four debts, with an extra $100 a month on the credit card:
| Debt | Balance | APR | Minimum payment | Extra / month | Payment | Months to pay off | Last payment | Total interest | Paid off in | Months at minimum | Interest at minimum | Interest saved | Payment for target | Avalanche order | Snowball order |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Credit card | 4200.00 | 22.99% | 120.00 | 100.00 | 220.00 | 24 | 218.41 | 1078.41 | 2028-12 | 59 | 2821.19 | 1742.79 | 219.95 | 2 | 2 |
| Car loan | 9800.00 | 6.90% | 285.00 | 0.00 | 285.00 | 39 | 120.62 | 1150.62 | 2030-03 | 39 | 1150.62 | 0.00 | 438.33 | 3 | 3 |
| Student loan | 18500.00 | 5.50% | 210.00 | 0.00 | 210.00 | 114 | 18.18 | 5248.18 | 2036-06 | 114 | 5248.18 | 0.00 | 815.77 | 4 | 4 |
| Store card | 650.00 | 26.99% | 35.00 | 0.00 | 35.00 | 25 | 11.03 | 201.03 | 2029-01 | 25 | 201.03 | 0.00 | 35.34 | 1 | 1 |
Totals: $33,150.00 owed, $750.00 paid each month, $7,678.23 of interest in total, $1,742.79 of it saved by the extra $100, and the last debt is paid after 114 months. Being debt-free in 24 months would take $1,509.39 a month.
What the numbers say:
- An extra $100 on the card saves $1,742.79 and 35 months. At the $120 minimum the card takes 59 months and costs $2,821.19 in interest. At $220 it's gone in 24 months for $1,078.41. The 24-month target payment for the card, $219.95, is almost exactly the same thing.
- Months × payment overstates the interest. 24 × $220 − $4,200 = $1,080.00, but the 24th payment is only $218.41, so the real interest is $1,078.41. On the student loan the gap is bigger: 114 × $210 − $18,500 = $5,440.00, against a real $5,248.18, because the last payment is just $18.18.
- A payment below the monthly interest never finishes. $80 a month on the $4,200 card is less than the first month's interest (about $80.47), so the sheet shows Never. If a promotional rate ends or the APR goes up, check column H again.
- Here, snowball and avalanche agree. The store card has both the smallest balance and the highest APR, and the student loan has the largest balance and the lowest rate, so both methods pay the debts in the same order: store card, credit card, car loan, student loan. When they disagree, avalanche usually saves more interest and snowball usually clears its first debt sooner.
Paying debts one at a time vs rolling payments over
This sheet treats every debt on its own: when the store card is paid off in month 25, its $35 just stops. If you send the extra $100 to the first debt in that order and roll each finished debt's payment into the next one (the "rollover" both snowball and avalanche rely on), the same $750 a month clears all four debts in 52 months instead of 114, with $5,392.69 of interest instead of $7,678.23. That needs a month-by-month schedule, because each debt's payment changes when the one ahead of it finishes.
Common mistakes
- Typing the APR as 22.99 instead of 22.99%. The monthly rate becomes 191.6% and every debt shows Never. Format column C as a percentage.
- Forgetting the minus signs. NPER and FV need the payment negative and the balance positive. If they're the same sign, NPER returns an error.
- Using the annual rate in NPER. The rate and the periods must match: monthly payments need the monthly rate, F2, not C2.
- Comparing payoff dates without rollover. B8 is the "each debt on its own" answer. Rolling payments over is always at least as fast.
Going further
This sheet answers the per-debt questions on its own. The paid 2027 Budget Planner adds the rollover: a Debt Payoff tab where you pick Snowball or Avalanche and an extra amount, backed by a 120-month schedule that moves each paid-off debt's payment to the next one, and shows your debt-free date and total interest. It sits inside a whole-year budget with paychecks, bills, sinking funds, savings goals and an annual dashboard, plus dark mode. But the two tabs above are a complete, working payoff calculator on their own. This is a budgeting method, not financial advice.
Written with AI assistance. Every formula, command and number on this page was tested before publishing (see each section). Product links go to our store.