# RangeXIRR - 脚本函数

RangeXIRR() 用于返回现金流计划表的内部回报率（不必是周期性的）。要计算一系列周期性现金流的内部回报率，请使用 RangeIRR 函数。

Qlik 的 XIRR 函数（XIRR() 和 RangeXIRR() 函数）使用以下方程来求解 `Rate` 值，以确定正确的 XIRR 值：

`XNPV(Rate, pmt, date) = 0`

这个方程是用简化版的牛顿法求解的。

语法：

RangeXIRR(values, dates[, Expression])

返回数据类型： 数字

参数：

* dates：对应现金流支付的付款日期或付款日期计划表。
* values：对应付款日期计划表的现金流或一系列现金流。每个值都可能是由内部记录函数和第三个可选参数返回的单个值或一系列值。系列值必须至少包含一个正值和一个负值。
* Expression： 可选表达式或字段包含要度量的数据范围。

限制：

文本值，NULL 值和缺失值都忽略不计。

所有付款全年折扣。

示例 1:

`RangeXIRR(-2500,'2008-01-01',2750,'2008-09-01')` 返回 0.1532。

示例 2:

将示例脚本添加到文档并运行。然后，至少要将结果列中列出的字段添加到文档中的表格才能查看结果。

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

结果列表显示了为表格中的每条记录返回的 RangeXIRR 值：

示例结果

| RangeID | RangeXIRR |
| --- | --- |
| 1 | - |
| 2 | 0.5893 |
| 3 | 0.5089 |
| 4 | 0.4476 |
| 5 | 0.4476 |
| 6 | 2.5886 |

## 了解详情

* [RangeIRR - 脚本函数](https://help.qlik.com/zh-CN/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/Scripting/RangeFunctions/RangeIRR.htm)