# RangeNPV - função de script

RangeNPV() retorna o valor líquido atual de um investimento com base em uma taxa de desconto e em uma série de pagamentos futuros (valores negativos) e receitas (valores positivos). O resultado apresenta um formato numérico padrão de money.

Para fluxos de caixa que não sejam necessariamente periódicos, consulte [RangeXNPV - função de script](https://help.qlik.com/pt-BR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/Scripting/RangeFunctions/RangeXNPV.htm).

Sintaxe:

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

Tipo de dados de retorno: numérico

Argumentos:

* discount\_rate: A taxa de juros por período.
* value: Um pagamento ou a receita que ocorre no final de cada período. Cada valor é um valor único ou um intervalo de valores retornado por uma função inter-registro com um terceiro parâmetro opcional.
* Expression: Expressões ou campos opcionais que contêm o intervalo de dados a ser medido.

Limitações:

Os valores de texto, os valores NULL e os valores ausentes são ignorados.

Exemplo 1:

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

Exemplo 2:

Adicione o script de exemplo ao seu documento e execute-o. Em seguida, adicione pelo menos os campos listados na coluna de resultados a um documento para ver o 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 '|');`

A tabela resultante mostra os valores retornados de RangeNPV para cada registro na tabela:

Resultados do exemplo

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

## Saiba mais

* [Funções entre registros](https://help.qlik.com/pt-BR/qlikview/September2026/Subsystems/Client/Content/QV_QlikView/ChartFunctions/InterRecordFunctions/inter-record-functions-charts.htm)