## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

NPV Function

## Class

Microsoft.VisualBasic.Financial

## Syntax

`NPV(`rate`, `valuearray`(  ) )`
`rate `(required; Double)

The discount rate over the period, expressed as a decimal

`valuearray`( ) (required; Double)

An array of cash flow values

## Return Value

A Double specifying the net present value

## Description

Calculates the net present value of an investment based on a series of periodic variable cash flows (payments and receipts) and a discount rate

The net present value is the value today of a series of future cash flows discounted at some rate back to the first day of the investment period.

## Rules at a Glance

• `rate` must be a percentage expressed as a decimal. For example, 10% is expressed as 0.10.

• `values` is a one-dimensional array that must contain at least one negative value (a payment) and one positive value (a receipt).

• The NPV investment begins one period before the date of the first cash flow value and ends with the last cash flow value in the array.

• NPV requires future cash flows. If the first cash flow occurs at the beginning of the first period, the first value must be added to the value returned by NPV and must not be included in `values`.

## Programming Tips and Gotchas

• `rate` and the individual elements of `values` must reflect the same time period. For example, if `values` reflects annual cash flows, `rate` must be the annual discount rate.

• Individual members of `values` are interpreted sequentially. That is, `values(0)` is the first cash flow, `values(1)` is the second, etc.

• NPV is like the PV function, ...

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required