In Excel: use =NPER(rate, pmt, pv) — it returns how many periods are needed, so it answers "how long until this is paid off".
On this page8
Syntax
Arguments
| Argument | required / optional | Description |
|---|---|---|
rate | required | Interest rate per period. |
pmt | required | The payment made each period, entered as a negative number if you are paying it. |
pv | required | Present value — the current balance. |
fv | optional | Target future value. Defaults to 0, meaning fully repaid. |
type | optional | 0 for end-of-period payments, 1 for beginning. |
Related functions
Total interest €137,642.42 · Total paid €387,642.42
Need it as an auditable file?
The full month-by-month schedule ships inside the Corporate Finance Suite — formula-driven, unlocked, audit-ready.
Need it as an auditable file?
Ships inside the linked template — formula-driven, unlocked, audit-ready.
What this does
NPER inverts the PMT question: given a rate, a payment and a balance, how many periods until it is cleared. It is the formula behind every debt-payoff calculator and every "if I save this much a month" projection. The signs must oppose each other — a positive balance with a negative payment, or the reverse — or the maths has no solution and returns #NUM!. The same happens when the payment is too small to cover the interest, which is a genuinely useful warning: it means the debt never clears. Keep the inputs visible and clearly labelled and the whole thing stays auditable — anyone who opens the file later, including you, can see at a glance exactly what feeds the result and change one assumption without hunting through the formula. For “nper formula excel”, the reliable version is a short checking loop, not just the first command that appears to work. Run it on a deliberately small range first, watch how the affected formula change, and only then apply the same setup to the full sheet. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. That is what makes a calculation you can defend to a CFO or an auditor useful in real work: repeatable, auditable, and not dependent on memory or luck.
A worked example
A 12,000 balance at 18 % paying 300 a month: =NPER(18%/12, -300, 12000) returns about 55 months. Raising the payment to 500 gives roughly 28 months — less than half the time for two thirds more per month. Saving 400 a month at 6 % to reach 25,000: =NPER(6%/12, -400, 0, 25000) returns about 53 months. NPER turns a payment plan into a date, which is the number that actually changes behaviour in a debt or savings decision. If there is any chance you will reuse this, drop it into a small template tab right now: a labelled input area on the left and the formula beside it, checked once against the tool above. Next time the same question comes up, the answer is a single paste away instead of a rebuild from memory.
In Google Sheets
If you are in Google Sheets rather than Excel, the good news is that the formula shown here is identical and the workflow barely changes — menus sit across the top instead of in a ribbon, and a few function names differ slightly, but anything you build here moves across with little or no rework. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top, the tool proves it, and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. The short version of “nper formula excel”: the answer is at the top of this page, the tool proves it on your own numbers, and the sections above explain why it holds so the next variation does not stump you. Excel rewards people who reference cells instead of typing values and who keep inputs separate from formulas, because that is what makes a result you can audit months later. Build it once, deliberately, with the live tool as a check, and you convert a one-off lookup into a reusable skill — which is the whole point of learning the why and not just the what.
Common mistakes
- Giving the payment and balance the same sign, which returns
#NUM!. - A payment smaller than the periodic interest, which also returns
#NUM!— correctly, because the balance never falls. - Reporting the raw decimal result; round up, because the final partial period is still a whole payment.
Frequently asked questions
How long will it take to pay off a debt?
=NPER(rate/12, -monthly_payment, balance), then round the answer up to whole months.
Why does NPER return #NUM!?
Either the signs of the payment and balance match, or the payment is too small to cover the interest, so the debt never clears.
Can NPER handle savings goals?
Yes — pass 0 as the present value and your target as fv: =NPER(rate/12, -deposit, 0, goal).