# RangeNPV - función de script

RangeNPV() devuelve el valor actual neto de una inversión basada en un tipo de descuento y una serie de pagos futuros (valores negativos) e ingresos (valores positivos). El resultado tiene un formato numérico predeterminado en money.

Para flujos de caja que no tengan que ser necesariamente periódicos, vea [RangeXNPV - función de script](https://help.qlik.com/es-ES/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/Scripting/RangeFunctions/RangeXNPV.htm).

Sintaxis:

RangeNPV(discount\_rate, value[,value][, Expression])

Tipo de datos que devuelve: numérico

Argumentos:

* discount\_rate: Es el tipo de interés por periodo.
* value: Es un pago o ingreso que tiene lugar al final de cada periodo. Cada valor puede ser un valor único o un rango de valores devueltos por una función inter-registro con un tercer parámetro opcional.
* Expression: Las expresiones o campos opcionales que contienen el rango de datos que se han de medir.

Limitaciones:

Los valores de texto, los valores NULL y los valores perdidos se descartan.

Ejemplo 1:

`RangeNPV(0.1,-10000,3000,4200,6800)` devuelve 1188,44.

Ejemplo 2:

Añada el script de ejemplo a su documento y ejecútelo. A continuación, añada como mínimo los campos de la columna de resultados a una hoja de su documento para ver el resultado.

`RangeTab3:` `LOAD *,` ` recno() as RangeID,  ` `RangeNPV(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 '|');`

La tabla resultante muestra los valores devueltos de RangeNPV para cada uno de los registros de la tabla:

Resultados del ejemplo

| RangeID | RangeNPV |
| --- | --- |
| 1 | $-49.13 |
| 2 | $777.78 |
| 3 | $98.77 |
| 4 | $25.51 |
| 5 | $250.83 |
| 6 | $20.40 |

## Más información

* [Funciones inter-registro](https://help.qlik.com/es-ES/qlikview/September2025/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/inter-record-functions-charts.htm)