The XNPV function takes three arguments: rate, values, 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.


In the example shown, the formula in F6 is: The result is 177.6532, displayed as 177.65 when formatted as a number with two decimal places.


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

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.