Quick, clean, and to the point

Excel NPV Function

Excel NPV function

The Excel NPV function is a financial function that calculates the net present value (NPV) of an investment using a discount rate and a series of future cash flows.

Calculate net present value
Return value 
Net present value
=NPV (rate, value1, [value2], ...)
  • rate - Discount rate over one period.
  • value1 - First value(s) representing cash flows.
  • value2 - [optional] Second value(s) representing cash flows.
Usage notes 

NPV calculates the net present value (NPV) of an investment using a discount rate and a series of future cash flows. The discount rate is the rate for one period, assumed to be annual. NPV in Excel is a bit tricky, because of how the function is implemented. Although NPV carries the idea of "net", as in present value of future cash flows less initial cost, NPV is really just present value of uneven cash flows.

As Timothy R. Mayes, author of Financial Analysis with Microsoft Excel, says on his website TVMCalcs.com:

Net present value is defined as the present value of the expected future cash flows less the initial cost of the investment...the NPV function in spreadsheets doesn't really calculate NPV. Instead, despite the word "net," the NPV function is really just a present value of uneven cash flow function.

One simple approach is to exclude the initial investment from the values argument and instead subtract the amount outside the NPV function. 

In the example shown, the formula in F6 is:


Note the initial investment in C5 is not included as a value, and is instead added to the result of NPV (since the number is negative).


  • Values must be equally spaced in time and occur at the end of each period.
  • Values must be in chronological order.

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.