Reference Updated April 8, 2026

PV

Category: Finance functions

Overview

Description

Calculates the present value of a recurring investment based on a constant interest rate, a number of recurring payments, a payment per period, 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, duration, and payment are known and you want to calculate the present value of an annuity-style payment stream.

Syntax

PV('Rate', 'Nper', 'Pmt' [, 'Fv' [, "Type"]])

Parameters

  • Rate: The interest rate.

  • Nper: Number of periods: the number of payments to be made.

  • Pmt: Payment per period: the amount per period.

  • 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

  • The argument 'Pmt' 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 'Pmt'.

  • All level values that are in the leading input node 'Pmt' 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 present value of an annuity

This example shows a standard annuity setup with a fixed interest rate, a fixed duration, and a periodic payment. It returns the present value implied by the payment stream.

Rate (Interest Rate)0.03
Nper (Number of Periods)5
Pmt (Payment per Period)-500
Fv (Future Value)0
Type Payment at Beginning of Period (Annuity Due) = 1 Payment at End of Period (Ordinary Annuity) = 00

Formula: PV('Rate', 'Nper', 'Pmt', 'Fv', "Type")

→ PV Result
2,289.85

FunctionWhen to use instead
NPVWhen you want to discount a cash flow series into a single net present value instead of using an annuity-style payment setup.
FVWhen you want the future value of an annuity-style payment setup instead of the present value.
Was this page helpful?