What is PV in Google Sheets?

PV returns the present value of an investment or loan given a constant interest rate and periodic payments. You pass rate per period, number of periods, payment amount, optional future value, and end-or-beginning timing. Finance models use PV to compare deals, price annuities, and sanity-check loan offers in Sheets.

When to use it

Use PV when comparing payment plans, valuing steady cash flows, or teaching time-value-of-money in a spreadsheet model with transparent inputs.

When to skip it

Skip PV for irregular cash flows, daily compounding edge cases, or anything requiring full DCF with varying rates. XNPV or a dedicated model may fit better.

How it works

  1. 1

    Put rate per period in the same units as nper, for example monthly rate with monthly periods.

  2. 2

    Set nper to total number of payment periods over the life of the loan or investment.

  3. 3

    Pass pmt as the fixed payment per period. Use negative for cash out if your model treats outflows as negative.

  4. 4

    Optional fv is the lump sum left after the last payment. Optional type is 0 for end of period, 1 for beginning.

  5. 5

    Build an Inputs tab with rate, nper, pmt, and fv clearly labeled so stakeholders can stress-test scenarios.

  6. 6

    Compare PV output against an online calculator once before trusting a client-facing proposal tab.

Examples in Google Sheets

Loan present value

=PV(0.05/12, 360, -1000) estimates present value of a 30-year mortgage payment stream at 5% annual rate compounded monthly.

Investment lump sum needed

=PV(0.08/12, 120, 0, -50000) finds how much to invest today to reach 50000 in ten years at 8% monthly compounding.

Annuity due

=PV(0.06/12, 24, -200, 0, 1) values payments at the beginning of each month instead of the end.

Build this without starting from a blank cell

Use a Better Sheets tool for PV, then watch a walkthrough when you want the full pattern.

Better Sheets resources

Common mistakes

  • Mixing annual rate with monthly nper without dividing rate by twelve.
  • Inconsistent cash flow signs so PV returns the opposite sign you expect.
  • Using PV for variable payments each month without building a custom NPV schedule.
  • Showing PV outputs without documenting whether results are from borrower or lender perspective.
  • Forgetting that empty fv defaults to zero when you meant to include a balloon payment.

Frequently asked questions

PV vs NPV?
PV assumes constant payments and rate. NPV handles a series of uneven cash flows at a discount rate.
PV vs FV?
PV finds today's value of future flows. FV finds what today's money grows into over time.
Why is PV negative?
Sign convention. Outflows and inflows must be opposite signs. Flip pmt sign if the result looks backward.
PV for leases?
Yes when payments are level and rate is known. Real leases may need extra fees in a custom schedule.
PV with zero payments?
Use pmt of 0 and set fv to the future lump sum you are discounting back to today.
PV in dashboards?
Common in CFO tabs paired with charts showing sensitivity to rate changes via manual scenario tables.
PV and GOOGLEFINANCE?
GOOGLEFINANCE pulls market rates. PV uses the rate you type into the model for planning scenarios.

Related Tutorials

Watch how PV works

Browse more tutorials
Find a Value in a Range

Find a Value in a Range

I'll show you how to easily find a specific value in a range using two p...
Duplicate Everything For Each Unique Value

Duplicate Everything For Each Unique Value

Great use of SPINTAX.  Get the Google Sheet Add-on; SPINTAX for free.
Create Navigation Like A Book or Presentation

Create Navigation Like A Book or Presentation

A pretty cool script I came up with to click and set active the next tab...
Hardest Formula: SumIF | Addition Based on Dates / Values

Hardest Formula: SumIF | Addition Based on Dates / Values

Demystifying the SumIF Formula. Add up your values based on a condition,...
Spreadsheet Automation 101 Lesson 2: Get Values - Introduction

Spreadsheet Automation 101 Lesson 2: Get Values - Introduction

Get Values is done in the Apps Script. In this lesson, you’ll learn what...
Dylan Asks: How to Automatically Delete Rows If Cell Contains Value

Dylan Asks: How to Automatically Delete Rows If Cell Contains Value

Find out how to automatically delete rows based on a cell's value. We do...

Related blog posts

Guides that explain PV in more depth.

Browse the blog

Related glossary terms

Done reading about PV?

Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.

Need this once

Jump to a free tool or a single tutorial for this topic.

Learning Sheets for real

Unlock the full library, generators, and templates with membership.