Skip to main content

RangeXNPV - script function

RangeXNPV() returns the net present value for a schedule of cash flows that is not necessarily periodic. The result has a default number format of money. To calculate the net present value for a series of periodic cash flows, use the RangeNPV function.

Syntax:  

RangeXNPV(discount_rate, values, dates[, Expression])

Return data type: numeric

Arguments:  

Argument Description
discount_rate The interest rate per period.
values A cash flow or a series of cash flows that corresponds to a schedule of payments in dates. Each value may be a single value or a range of values as returned by an inter-record function with a third optional parameter. The series of values must contain at least one positive and one negative value.
dates A payment date or a schedule of payment dates that corresponds to the cash flow payments.

Limitations:  

Text values, NULL values and missing values are disregarded.

All payments are discounted based on a 365-day year.

Examples Results

RangeXNPV(0.1, -2500,'2008-01-01',2750,'2008-09-01')

Returns 80.25

Add the example script to your app and run it. Then add, at least, the fields listed in the results column to a sheet in your app to see the result.

RangeTab3:

LOAD *,

recno() as RangeID,

RangeXNPV(Field1,Field2,Field3) as RangeNPV;

LOAD * INLINE [

Field1|Field2|Field3

10|5|-6000

2|NULL|7000

8|'abc'|8000

18|11|9000

5|5|9000

9|4|2000

] (delimiter is '|');

The resulting table shows the returned values of RangeXNPV for each of the records in the table.
RangeID RangeXNPV
1 $-49.13
2 $777.78
3 $98.77
4 $25.51
5 $250.83
6 $20.40