I keep seeing people ask how the "debt snowball" method works in practice, so here are the mechanics — and how I implemented them in a plain spreadsheet, no app subscription required.
The method in 30 seconds
List your debts from smallest balance to largest. Pay the minimum on everything, and throw every spare dollar at the smallest one. When it's gone, roll its payment into the next debt. The "snowball" is the payment growing as debts fall. It's not the mathematically cheapest order (that's the avalanche — highest APR first), but it's the one people actually stick to, because the first win comes fast.
The three formulas that do the work
Ordering. RANK(balance, all_balances, 1) gives each debt its snowball position, smallest = 1.
Payoff time. For a debt with monthly rate r, payment p and balance B, the months to clear it are approximately NPER(r, -p, B). With APR sitting in a cell: =NPER(APR/12, -payment, balance). Raise the "extra payment" input and NPER drops — that feedback loop is the whole point of a planner: change one number, watch every payoff date move.
Interest estimate. Total paid minus principal: payment × months − balance. It's a simplification (payments step up as the snowball rolls), and any honest template should say so.
The same workbook pattern runs the budget side: SUMIF(category_range, category, amount_range) rolls a raw expense log into per-category totals automatically, and budget-vs-actual is just variance and execution-% columns on top.
The template I ended up with
I built mine as three sheets — a monthly budget (4 income and 12 expense categories), an expense log with a SUMIF summary and chart, and the snowball sheet above — with bilingual English/中文 headers, because half my family refuses to read English spreadsheets. Yellow cells are inputs, blue cells are formulas.
If it's useful to anyone else: there's a free sample (just the budget sheet) and the full planner is $0.99 on my Ko-fi: https://ko-fi.com/s/3ba2ef96cd
Estimates are simplified — it's a planning tool, not financial advice.
Top comments (0)