NPER function

NPER returns the number of payment periods needed to pay off a loan or reach an investment goal at a fixed interest rate.

=NPER(rate, pmt, pv, [fv], [type])

Generate a NPER formula

Describe what you need. The generator will reach for NPER where NPER is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How NPER reads its arguments
raterequiredpmtrequiredpvrequiredfvoptionaltypeoptionalNPER
ArgumentRequiredDescription
rateRequiredThe interest rate per period (e.g., 1% monthly). Must be greater than -1. If zero, no interest accrues.
pmtRequiredThe payment made each period. Must have opposite sign from pv (one is inflow, one is outflow).
pvRequiredThe present value—the current debt or investment. Must have opposite sign from pmt.
fvOptionalOptional future value target (defaults to 0). The amount owed or accumulated at the end.
typeOptionalOptional; 0 (default) for end-of-period payments, 1 for beginning-of-period payments.

Returns

A number representing the count of payment periods required.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Calculate payment periods for client invoice

TaskHours LoggedHourly RateTotal Invoice
Web Redesign120$85$10,200
=NPER(1%, -500, 10200, 0)

Result: 21.35

The Web Redesign project invoice totals $10,200 (120 hours × $85/hr). If the client pays $500 monthly with 1% monthly interest on the outstanding balance, NPER calculates it takes approximately 21 periods (months) to fully pay the invoice.

2. Equipment financing for project operations

ProjectEquipment CostMonthly PaymentInterest Rate
Infrastructure Support$15,000$4000.75%
=NPER(0.75%, -400, 15000)

Result: 42.43

A $15,000 equipment purchase to support project deliverables is financed at 0.75% monthly interest. With $400 monthly loan payments, NPER returns approximately 42 periods, meaning the equipment is fully amortized in about 3.5 years.

3. Retainer drawdown billing cycles

TaskRetainer BalanceWeekly BillingWeekly Interest
Mobile App Development$5,000$2500.1%
=NPER(0.1%, -250, 5000, 0)

Result: 20.02

A client retainer of $5,000 is billed at $250 per week with a 0.1% weekly interest charge on the balance. NPER calculates that the retainer is consumed in approximately 20 billing cycles (weeks).

Common errors

Which NPER error are you seeing?
NPER returned an error#NUM!
Ensure pmt and pv have opposite signs: pv should be negative (money owed/borrowed) and pmt should be positive (payment made), or vice versa. Change =NPER(1%, 500, 10000) to =NPER(1%, -500, 10000).
#DIV/0!
Use a rate value other than -1. If you intended 0% interest, use 0 instead. Common monthly rates like 0.5%, 1%, or 2% work fine.
#VALUE!
Convert all arguments to numbers. Remove quotes around numeric values, use VALUE() to convert text numbers, or reference cells containing only numbers. Dates can be multiplied by 1 to convert to their numeric serial value.
ErrorWhy it happensHow to fix it
#NUM!When payment (pmt) and present value (pv) have the same sign, or when there is no mathematical solution to the equation. For example, =NPER(1%, 500, 10000) has both pmt and pv positive, so no payoff is possible.Ensure pmt and pv have opposite signs: pv should be negative (money owed/borrowed) and pmt should be positive (payment made), or vice versa. Change =NPER(1%, 500, 10000) to =NPER(1%, -500, 10000).
#DIV/0!When rate equals exactly -1 (negative 100%). The NPER formula contains division by LN(1 + rate), and LN(0) is undefined, causing a division by zero error.Use a rate value other than -1. If you intended 0% interest, use 0 instead. Common monthly rates like 0.5%, 1%, or 2% work fine.
#VALUE!When one or more arguments contain text, dates, or other non-numeric values. For example, =NPER('1%', -500, 10200) with the rate as text, or =NPER(1%, -500, 'Invoice') with pv as text.Convert all arguments to numbers. Remove quotes around numeric values, use VALUE() to convert text numbers, or reference cells containing only numbers. Dates can be multiplied by 1 to convert to their numeric serial value.

Tips and when to use something else

  • When interest rate is 0, NPER simplifies to -pv ÷ pmt, since there's no interest to compound. Use this formula for a quick sanity check.
  • Sign convention is critical: typically pv (amount owed) is negative and pmt (payment amount) is positive. If both are the same sign, NPER cannot calculate a solution.
  • If you need to calculate the payment amount instead of the number of periods, use the PMT function instead—it's the inverse operation.
  • NPER returns periods, not years. Divide by 12 if you used monthly rates and want years, or multiply by 12 if you used annual rates and want months.

Frequently asked questions

What's the difference between NPER and PMT?
PMT calculates the payment amount if you know the number of periods. NPER calculates the number of periods if you know the payment amount. Use PMT when you want to know how much to pay each month given a fixed timeline; use NPER when you want to know how long it takes given a fixed payment.
Why do I get a #NUM! error when I enter =NPER(1%, 500, 10000)?
Both pmt (500) and pv (10000) are positive, meaning money flows in the same direction. NPER assumes one is money going out and one is money coming in. Change the formula to =NPER(1%, -500, 10000) so that the payment is negative (money leaving) and pv is positive (money owed).
How do I convert NPER result to years when I used monthly rates?
Divide the NPER result by 12. For example, if NPER returns 60 periods with a monthly interest rate, the loan is paid off in 60 ÷ 12 = 5 years. For quarterly rates, divide by 4; for weekly rates, divide by 52.
Can NPER handle payments that increase or change each period?
No, NPER assumes fixed, equal payments every period. For loans with variable payments, irregular schedules, or step increases, calculate the present value of the payment series separately or use iterative solver tools.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17