NPV vs PV in Excel: Which Present Value Function
By ExcelReady TeamUpdated 7 min read
The short answer
Use PV when every payment is the same amount, such as a loan or an annuity: =PV(rate, nper, pmt). Use NPV when the cash flows differ from period to period, such as a project's yearly returns: =NPV(rate, values). NPV assumes the first value arrives one period from now, so add any up-front investment outside the function.
Key takeaways
- PV handles equal, regular payments; NPV handles a list of cash flows that can all differ.
- With equal payments they agree: =PV(10%,3,-1000) and =NPV(10%,1000,1000,1000) both return 2,486.85.
- NPV discounts its first value by one full period, so add the year-0 investment separately: =NPV(rate,C3:C5)+C2.
- PV returns a negative number for positive payments, because money paid and money received have opposite signs.
On this page+
The short answer to NPV vs PV in Excel: use PV when every payment is the same amount, like a loan, a lease or a savings plan, and use NPV when the cash flows change from period to period, like a project's yearly returns. Both turn future money into today's money using a discount rate. This comparison is for finance students, analysts and anyone facing a finance Excel test who needs to pick the right function quickly.
NPV vs PV at a glance#
PV is built for regular, equal payments; NPV is built for a list of uneven cash flows.
| Feature | PV | NPV |
|---|---|---|
| Syntax | =PV(rate, nper, pmt, [fv], [type]) | =NPV(rate, value1, [value2], ...) |
| Cash flows | Equal payments, or one future amount | Any list, each can differ |
| Positive and negative flows mixed | No (one payment amount) | Yes |
| Timing | End of period by default; type 1 for start | Always end of period, starting one period out |
| Includes today's (year-0) flow | Not applicable | No, add it outside |
| Sign of result | Opposite to pmt | Same as the cash flows |
| Typical use | Loans, annuities, leases, bonds | Project appraisal, investment decisions |
| Excel versions | All versions | All versions |
Two terms are worth defining. The discount rate is the return you could get elsewhere, used to shrink future money to today's value. Present value is what a future amount is worth today at that rate.
How PV works#
PV returns today's value of a series of equal payments, or of a single amount in the future.
=PV(rate, nper, pmt, [fv], [type])- rate is the interest rate per period, such as 10% a year or 5%/12 a month.
- nper is the number of periods.
- pmt is the payment each period. It must be the same every time.
- fv (optional) is a lump sum at the end. type (optional) is 0 for payments at the end of each period, 1 for the start.
Three examples:
=PV(10%,3,-1000)
=PV(5%/12,60,-500)
=PV(6%,10,0,-10000)The first returns 2,486.85: three yearly payments of 1,000 are worth that today at 10%. The second returns 26,495.35: if you can pay 500 a month for five years at 5% a year, that is how much you can borrow. The third returns 5,583.95: 10,000 received in ten years is worth that today at 6%.
The payments are typed as negative numbers. Excel treats money paid and money received as opposite signs, so a negative payment gives a positive PV.
How NPV works#
NPV returns today's value of a list of cash flows, one per period, which can all be different.
=NPV(rate, value1, [value2], ...)The values are usually a range, such as B3:B5. NPV assumes each value arrives at the end of its period, so the first value is discounted by one full period, the second by two, and so on.
That assumption causes the most common NPV mistake. An investment paid today should not be discounted at all, so it goes outside the function:
=NPV(B1,B3:B5)+B2Here B2 holds the cost today as a negative number. The NPV function guide covers the function on its own in more detail.
The same cash flows with NPV and PV#
When the payments are equal, the two functions agree. Three yearly receipts of 1,000 at 10%:
=PV(10%,3,-1000)
=NPV(10%,1000,1000,1000)Both return 2,486.85. PV is shorter because it only needs the payment once.
Now a project with uneven returns:
| A | B | |
|---|---|---|
| 1 | Discount rate | 8% |
| 2 | Year 0 | -5,000 |
| 3 | Year 1 | 1,500 |
| 4 | Year 2 | 2,000 |
| 5 | Year 3 | 2,500 |
PV can't value this, because the payments differ. NPV can:
=NPV($B$1,B3:B5)+B2The result is 88.15. The returns are worth 5,088.15 today, which is slightly more than the 5,000 cost, so the project adds value at 8%. Change B1 to 10% and the result becomes -105.18: at a higher required return, the same project no longer pays. This is why the rate sits in its own cell rather than inside the formula.
Why the rate reference is absolute#
The dollar signs in $B$1 make it an absolute reference: it stays pointing at B1 when you copy the formula. If you value several projects side by side and copy the formula across, the cash-flow range should move but the rate should not. Without the dollar signs, the copied formula would look for the rate in C1, D1 and so on, and return wrong results. The guides to relative vs absolute references and the dollar sign in Excel explain this, and you can press F4 on Windows or ⌘T on a Mac to add the dollar signs while editing.
When to use PV#
Use PV when the payment is the same every period. It fits:
- Loans: how much you can borrow for a given monthly payment.
- Annuities and pensions: today's value of a fixed income stream.
- Leases: the value of fixed lease payments.
- A single future amount: leave pmt as 0 and use fv, as in the 10,000 example.
- Bond pricing: equal coupons plus a face value at the end, using both pmt and fv.
Remember to match the rate to the period. For monthly payments, divide the annual rate by 12 and multiply the years by 12.
When to use NPV#
Use NPV when the cash flows differ or change sign. It fits:
- Project appraisal: an up-front cost followed by uneven returns.
- Comparing investments: the one with the higher NPV at the same rate adds more value.
- Business cases: yearly savings that grow or shrink over time.
- Any cash-flow table with one value per period, laid out in a row or column.
If a rate is reused across many formulas, a named cell such as DiscountRate can make formulas easier to read; see named ranges vs cell references.
Common mistakes with NPV and PV#
- Putting the year-0 investment inside NPV.
=NPV(B1,B2:B5)discounts the cost as if it were paid a year from now. With the data above, that returns 81.62 instead of 88.15. - Mixing yearly rates with monthly periods.
=PV(5%,60,-500)treats 5% as a monthly rate. Use5%/12. - Being surprised by a negative PV. It is the sign convention, not an error. Enter payments as negative, or wrap the result:
=-PV(...). - Using PV for uneven payments. PV takes one payment amount. If the amounts differ, use NPV.
- Forgetting to lock the rate cell. Copying
=NPV(B1,B3:B5)+B2across columns moves the rate reference. Use$B$1, or see how to copy a formula without changing references. - Using NPV for irregular dates. NPV assumes equal periods. For specific dates, use XNPV.
Our recommendation#
Look at the cash flows. If they are equal and regular, use PV: it is shorter and has options for a final lump sum and start-of-period payments. If they vary, or mix an up-front cost with later returns, use NPV, keep any year-0 amount outside the function, and put the rate in its own locked cell so you can test different rates. For a finance Excel test, be ready to explain both, including why PV comes back negative.
In short: PV for equal payments, NPV for uneven cash flows, and the year-0 cost outside NPV.
Practise it#
Try the exercise on this page: build an NPV formula with a locked rate and the year-0 cost added outside. Then practise absolute references in a live spreadsheet, so formulas like this copy correctly every time. When you're ready, the finance Excel mock test puts these skills under time pressure.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
A project costs 5,000 today (B2) and returns 1,500, 2,000 and 2,500 over three years (B3:B5). The discount rate is in B1. In B7, calculate the NPV, keeping the rate reference absolute and adding the year-0 cost outside NPV.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | ||||
| 7 | NPV | |||
| 8 | ||||
| 9 | ||||
| 10 |
Tip: Put only years 1 to 3 inside NPV, after the rate. Then add B2, the cost paid today.
Practise this in a lesson
Frequently asked questions
What is the difference between NPV and PV in Excel?
PV gives today's value of a series of equal payments, or of one future amount. NPV gives today's value of a list of cash flows that can be different each period. NPV also lets you include negative and positive flows together.
Why is my PV result negative?
Excel's finance functions treat money you receive and money you pay as opposite signs. If the payment is positive, PV returns a negative value. Enter the payment as negative, or put a minus sign in front of PV.
Should I include the initial investment in the NPV formula?
Not inside the range if it happens today. NPV discounts every value by at least one period. Use =NPV(rate, later cash flows) + initial investment, where the investment is a negative number.
What does a negative NPV mean?
At the discount rate you chose, the project returns less than it costs in today's money. A positive NPV means it returns more.
Can NPV handle irregular dates?
No. NPV assumes equally spaced periods. For cash flows on specific dates, Excel has XNPV, which takes a list of values and a matching list of dates.