Summary

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

Purpose 

Calculate net present value for irregular cash flows

Return value 

Net present value

Syntax

=XNPV(rate,values,dates)
  • rate - Discount rate to apply to the cash flows.
  • values - Values representing cash flows.
  • dates - Dates that correspond to cash flows, in any order.

How to use 

The XNPV function returns the net present value (NPV) of an investment based on a discount rate and a series of cash flows that occur at irregular intervals. Values represent cash flows and be correspond to dates. Negative values represent cash paid out; positive values represent cash received. The first date indicates the beginning of the schedule of payments and must be the earliest date. Subsequent dates may occur in any order.

The XNPV function takes three arguments: ratevalues, and dates. Rate represents the discount rate to apply to the cash flows. Enter rate as a percentage like 6% or the decimal value 0.06.

Values represent a series of cash flows that correspond to dates. The first value is optional and corresponds to a cost at the beginning of the investment. If the first value is a cost or payment, it must be a entered as a negative number. All subsequent payments are discounted based on a 365-day year. Values must include at least one positive and one negative value, or XNPV will return a #NUM! error.

The dates argument represents a schedule of dates that correspond to values. The values supplied for dates must be valid Excel dates. The first payment date indicates the beginning of the schedule of payments and must be the earliest date. Other dates must be later than this date, but do not need to be in chronological order. Typically, dates is supplied as a range

XNPV does not discount the initial cash flow. Subsequent payments are discounted based on a 365-day year. To discount to a particular valuation date, you can set up XNPV so that the first cashflow is zero, associated with the valuation date.

Example

In the example shown, the formula in F6 is:

=XNPV(F4,B5:B10,C5:C10) // returns 177.6532

The result is 177.6532, displayed as 177.65 when formatted as a number with two decimal places.

Notes

  • Rate is provided as a percentage (.12 for 12%).
  • Dates do not need to be in chronological order, but the first payment date must be the earliest date.
  • Dates must be valid Excel dates.
  • XNPV doesn’t discount the initial cash flow.
Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.