Reference Updated March 26, 2026

NPER

Category: Finance functions

Overview

Description

Calculates the number of periods necessary for a recurring investment based on an interest rate, the amount of payment per period, a present value, a future value, and either ordinary annuity or annuity due ("Type") indicating whether payments are due at the beginning or the end of the period.

Use when the rate and periodic payment are known and you want to calculate how many periods are needed.

Syntax

NPER('Rate', 'Pmt', 'Pv' [, 'Fv' [, "Type"]])

Parameters

  • Rate: The interest rate.

  • Pmt: Payment per period: the amount of each payment made. Payments/costs should, but are not required to, be entered as a negative number, for example -100.

  • Pv: Present value: the current value of the annuity.

  • Fv (optional): Future value remaining after the final payment has been made. If not entered, ‘Fv’ is set to 0.

  • Type (optional): Indicates when payments are due (1 = payment at beginning of period / annuity due, 0 = payment at end of period / ordinary annuity). By default, “Type” is set to 0.

Notes

  • Argument ‘Pv’ is the leading input node. A leading input node is a function argument for which we assume the levels to be correct. All other input nodes need to have the same dimensionality.

  • Each input node can be a single number.

  • Providing all inputs with the same dimensionality results in a noticeable performance improvement.

Limitations

  • All other inputs must not contain levels that are not in the leading input node ‘Pv’.

  • All level values that are in the leading input node ‘Pv’ must be present in all the other input nodes.

Positive Costs/Payments

In case the costs or payments are entered as a positive number within your model, this function needs to be multiplied by -1.


Examples

Calculate the required number of periods

This example shows a standard annuity setup with a monthly interest rate, a fixed payment, and a present value. It returns the number of periods needed until the remaining value reaches the specified future value.

Rate (Interest Rate)0.045/12
Pmt (Payment per Period - Amount)-100
Pv (Present value)5000
Fv (Future value)0
Type Payment at Beginning of Period (Annuity Due) = 1 Payment at End of Period (Ordinary Annuity) = 00

Formula: NPER('Rate', 'Pmt', 'Pv', 'Fv', "Type")

→ NPER Result
55.47

FunctionWhen to use instead
RATEWhen the number of periods is known and you want the implied interest rate instead.
PMTWhen the duration is known and you want to calculate the periodic payment instead.
Was this page helpful?