PV function

Returns the present value of an investment based on a series of regular payments and a constant interest rate.

=PV(rate, nper, pmt, [fv], [type])

Generate a PV formula

Describe what you need. The generator will reach for PV where PV 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 PV reads its arguments
raterequirednperrequiredpmtrequiredfvoptionaltypeoptionalPV
ArgumentRequiredDescription
rateRequiredThe interest rate per period as a decimal (e.g., 0.01 for 1%). Must be greater than -1; represents discount rate, interest, or inflation.
nperRequiredThe total number of payment periods. Must be a positive integer; fractional periods are allowed.
pmtRequiredThe payment per period. Typically negative to represent cash outflows; positive represents inflows. Required.
fvOptionalThe future value to discount back to present (optional, defaults to 0). Include to account for a lump sum owed or received at the end.
typeOptionalWhen payments are due: 0 or omitted = end of period, 1 = beginning of period (optional). Beginning-of-period payments yield slightly higher present value.

Returns

A number representing the present value in today's currency.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Calculate present value of monthly warehouse storage costs

SKUWarehouseOn HandReorder PointCost
SKU-A001WEST5001005
SKU-A002EAST250758
=PV(0.01, 24, -250)

Result: -5,314.07

SKU-A001 with 500 units costs $250/month to store at $0.50 per unit. Over 24 months at 1% monthly discount rate, the present value of all storage costs is $5,314.07 in today's dollars. This shows what lump sum today would be equivalent to those future monthly payments.

2. Find PV of quarterly reorder payments

SKUWarehouseOn HandReorder PointCost
SKU-B501CENTRAL1505012
SKU-C150WEST10002002
=PV(0.03, 8, -200)

Result: -1,403.95

SKU-B501 reorder costs are $200 every quarter for 2 years (8 quarters). At a 3% quarterly discount rate, the present value is $1,403.95. This tells managers that paying $1,404 today would be equivalent to making all eight future quarterly payments.

3. Evaluate cost of supplier inventory financing

SKUWarehouseOn HandReorder PointCost
SKU-D200EAST753015
SKU-A001WEST5001005
=PV(0.0075, 12, -1000, 0, 0)

Result: -11,414.03

A supplier charges $1,000/month for 12 months of inventory delivery at 0.75% monthly financing. The present value of $11,414 means paying that amount today would be equivalent to the 12 monthly $1,000 payments. Use this to compare upfront payment vs. financing options.

Common errors

Which PV error are you seeing?
PV returned an error#VALUE!
Convert text to decimal: use 0.01 instead of "1%", or wrap the cell in VALUE() to convert it.
#NUM!
Ensure rate is always greater than -1. Example: change =PV(-1, 12, -250) to =PV(0.01, 12, -250).
#N/A
Check all input cells for errors. Use IFERROR or IFNA to handle upstream errors, or correct the source data before passing it to PV.
ErrorWhy it happensHow to fix it
#VALUE!One or more arguments is text instead of a number. Example: =PV("1%", 12, -250) passes "1%" as text rather than the decimal 0.01.Convert text to decimal: use 0.01 instead of "1%", or wrap the cell in VALUE() to convert it.
#NUM!The rate argument equals -1 or is less than -1. This breaks the mathematical formula because (1 + rate)^nper becomes undefined when rate ≤ -1.Ensure rate is always greater than -1. Example: change =PV(-1, 12, -250) to =PV(0.01, 12, -250).
#N/AOne of the referenced cells (rate, nper, pmt, fv, or type) contains #N/A or another error value. PV propagates errors from its arguments.Check all input cells for errors. Use IFERROR or IFNA to handle upstream errors, or correct the source data before passing it to PV.

Tips and when to use something else

  • Use PV to determine the lump sum today that equals a series of future payments. Negative pmt (outflows) returns negative PV; positive pmt returns positive PV.
  • For annual rates, divide by the compounding frequency: 12 for monthly (0.12/12 = 0.01), 4 for quarterly, 2 for semiannual. Rate and nper must use the same time period.
  • Set type=1 if payments occur at the beginning of each period (annuity due) instead of end-of-period (ordinary annuity). Beginning-of-period payments have slightly higher present value.
  • Use PMT instead of PV when you know the present value and need to find the payment. Use NPV for irregular cash flows or NPER to solve for number of periods.

Frequently asked questions

What's the difference between PV and NPV?
PV calculates present value of regular, equal payments over time at a constant rate. NPV adds present values of irregular cash flows that occur at specific times. Use NPV when payment amounts or intervals vary.
Should I use negative or positive values for pmt?
Use negative for cash you pay out (expenses, loan payments, storage costs) and positive for cash you receive (dividends, supplier rebates). The sign of pmt determines the sign of the result—negative payments yield negative PV.
How do I choose the right discount rate?
The rate represents your cost of capital, inflation, or expected return. For inventory holding, use your weighted average cost of capital. For financing decisions, use the loan or credit rate. For future costs, use inflation expectations.
Can I use PV for supply chain scenarios beyond financing?
Yes. PV works for any series of regular amounts in the future: maintenance costs, subscription fees, lease payments, warehouse holding costs, or recurring supplier contracts. Convert annual costs to the matching period (monthly, quarterly) and adjust the rate accordingly.

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