XIRR
返回不一定具有周期性的现金流时间表的内部收益率。
语法
XIRR(<table>, <values>, <dates>, [, <guess>[, <alternateResult>]])
parameters
术语 | 定义 |
---|---|
表 | 应为其计算值和日期表达式的表。 |
值 | 返回表中每行的现金流值的表达式。 |
日期 | 返回表中每行的现金流日期的表达式。 |
guess | (可选)对内部收益率的初步猜测值。 如果省略,则使用默认猜测值 0.1。 |
alternateResult | (可选)当无法确定解决方案时,将返回值以取代错误。 |
返回值
给定输入的内部收益率。 如果计算无法返回有效结果,则返回指定为 alternateResult 的错误或值。
备注
值计算为满足以下函数的比率:
$$0=\sum^{N}_{j=1} \frac{P_{j}}{(1 + \text{rate})^{\frac{d_{j} - d_{1}}{365}}}$$
其中:
- $P_{j}$ 是第 $j$ 期付款
- $d_{j}$ 是第 $j$ 个付款日
- $d_{1}$ 是第一个付款日
一系列现金流值必须包含至少一个正数和一个负数。
避免使用 ISERROR 或 IFERROR 函数来捕获 XIRR 返回的错误。 如果函数的一些输入可能会导致无解决方案错误,则提供 alternateResult 参数是处理错误的最可靠且性能最高的方法。
若要详细了解如何使用 alternateResult 参数,请观看此视频。
当初始付款的绝对值较小时,计算很可能无法返回有效结果。
避免在付款中包含 0 值。 它们不会影响最终结果,使用 0 作为初始付款将始终导致 XIRR() 计算失败。
在已计算的列或行级安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。
示例
以下公式计算 CashFlows 表的内部收益率:
= XIRR( CashFlows, [Payment], [Date] )
Date | 付款 |
---|---|
2014/1/1 | -10000 |
2014/3/1 | 2750 |
2014/10/30 | 4250 |
2015/2/15 | 3250 |
4/1/2015 | 2750 |
收益率 = 37.49%