# RangeXIRR - スクリプト関数

RangeXIRR() は、キャッシュ フロー明細表に対する内部収益率を返します。キャッシュ フロー明細表は、定期的である必要はありません。一連の定期的キャッシュ フローに対する内部収益率の計算には、RangeIRR 関数を使用します。

Qlik の XIRR 機能 (XIRR() および RangeXIRR() 関数) は、次の方程式を使用して `Rate` 値を解き、正しい XIRR 値を決定します。

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

この方程式は、ニュートン法の簡素化されたバージョンを使用して解かれます。

構文:

RangeXIRR(values, dates[, Expression])

戻り値データ型： 数値

引数：

* dates: キャッシュ フローの支払いに対応する支払日または支払予定日です。
* values: 支払予定日の日付に対応する単一または一連のキャッシュ フローです。それぞれの値は、3 番目のオプション パラメータを持つレコード間関数によって返される、単一値または値域を表している可能性があります。一連の値は、少なくとも 1 つの正の値と 1 つの負の値を含む必要があります。
* Expression: メジャーの対象となるデータ範囲が含まれている任意の数式または項目。

制限事項:

テキスト値、NULL 値、欠損値は無視されます。

すべての支払いは、年 365 日計算で割り引かれます。

例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/ja-JP/qlikview/May2024/Subsystems/Client/Content/QV_QlikView/Scripting/RangeFunctions/RangeIRR.htm)