# XNPV function

This article describes the formula syntax and usage of the **XNPV** function (function: A prewritten formula that takes a value or values, performs an operation, and returns a value or values. Use functions to simplify and shorten formulas on a worksheet, especially those that perform lengthy or complex calculations.) in Microsoft Excel.

## Description

Returns the net present value for a schedule of cash flows that is not necessarily periodic. To calculate the net present value for a series of cash flows that is periodic, use the NPV function.

## Syntax

XNPV(rate, values, dates)

The XNPV function syntax has the following arguments (argument: A value that provides information to an action, an event, a method, a property, a function, or a procedure.):

**Rate**Required. The discount rate to apply to the cash flows.**Values**Required. A series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value.**Dates**Required. A schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they may occur in any order.

## Remarks

- Microsoft Excel stores dates as sequential serial numbers so they can be used in calculations. By default, January 1, 1900 is serial number 1, and January 1, 2008 is serial number 39448 because it is 39,448 days after January 1, 1900.
- Numbers in dates are truncated to integers.
- If any argument is nonnumeric, XNPV returns the #VALUE! error value.
- If any number in dates is not a valid date, XNPV returns the #VALUE! error value.
- If any number in dates precedes the starting date, XNPV returns the #NUM! error value.
- If values and dates contain a different number of values, XNPV returns the #NUM! error value.
- XNPV is calculated as follows:

where:

- di = the ith, or last, payment date.
- d1 = the 0th payment date.
- Pi = the ith, or last, payment.

## Example

The workbook below shows examples of this function. Inspect them, change existing formulas, or enter your own formulas to learn how the function works.

To work more in-depth with the example data in Excel, download the embedded workbook to your computer, and then open it in Excel.