# RangeXNPV - Função de script e de gráfico

RangeXNPV() retorna o valor presente líquido para um cronograma de fluxos de caixa (não necessariamente periódicos) representados por números emparelhados nas expressões especificadas por pmt e date. Todos os pagamentos têm descontos baseados em um ano de 365 dias.

Sintaxe:

RangeXNPV(discount\_rate, value, date{, value, date})

Tipo de dados de retorno: numérico

Argumentos

| Argumento | Descrição |
| --- | --- |
| discount\_rate | discount\_rate é a taxa anual com base na qual os pagamentos devem ser descontados. |
| value | Um fluxo de caixa ou uma série de fluxos de caixa correspondente a uma programação de pagamentos nas datas. Cada valor é um valor único ou um intervalo de valores retornado por uma função inter-registro com um terceiro parâmetro opcional. A série de valores deve conter, pelo menos, um valor positivo e um valor negativo. |
| date | Uma data de pagamento ou uma programação de datas de pagamento correspondente aos pagamentos do fluxo de caixa. |

Ao trabalhar com essa função, as seguintes limitações são aplicáveis:

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

* Todos os pagamentos têm descontos baseados em um ano de 365 dias.

## Exemplo - script

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/RangeFunctions/RangeXNPV.htm)

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Dados financeiros contidos em uma tabela chamada `RangeTab3`.

* O uso da função RangeXNPV() para calcular o valor presente líquido.

Script de carregamento

```
RangeTab3:
LOAD *,
recno() as RangeID,
RangeXNPV(DiscountRate,Value1,Date1,Value2,Date2) as RangeXNPV;
LOAD * INLINE [
DiscountRate|Value1|Date1|Value2|Date2
0.1|-100|2021-01-01|100|2022-01-01|
0.1|-100|2021-01-01|110|2022-01-01|
0.1|-100|2021-01-01|125|2022-01-01|
] (delimiter is '|');
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `RangeID`

* `RangeXNPV`

Tabela de resultados

| RangeID | RangeXNPV |
| --- | --- |
| 1 | -$9.09 |
| 2 | -$0.00 |
| 3 | $13.64 |

## Exemplo - expressão de gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/RangeFunctions/RangeXNPV.htm)

#### Script de carregamento e expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Dados financeiros contidos em uma tabela chamada `RangeTab3`.

* O uso da função RangeXNPV() para calcular o valor presente líquido.

Script de carregamento

```
RangeTab3:
LOAD *,
recno() as RangeID,
RangeXNPV(DiscountRate,Value1,Date1,Value2,Date2) as RangeXNPV;
LOAD * INLINE [
DiscountRate|Value1|Date1|Value2|Date2
0.1|-100|2021-01-01|100|2022-01-01|
0.1|-100|2021-01-01|110|2022-01-01|
0.1|-100|2021-01-01|125|2022-01-01|
] (delimiter is '|');
```

Resultados

Faça o seguinte:

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione o seguinte cálculo como medida:

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

Tabela de resultados

| =XIRR(Payments, Date) |
| --- |
| $80.25 |

## Saiba mais

* [XNPV - Função de script](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/FinancialAggregationFunctions/XNPV.htm)