IRR 函数

返回一个双精度值,该值为一系列定期现金流(付款和收款)指定内部回报率。

语法

IRR ( () , [ guess ])

IRR 函数具有以下命名参数

Part 说明
values () 必填。 用于指定现金流值的双精度数组。 该数组必须包含至少一个负值(付款)和一个正值(收款)。
可选。 指定IRR 将返回的估计值的变量。 如果省略了,则推测为 0.1(10%)。

备注

内部回报率是按固定间隔发生的包含付款和收款的投资收到的利率。

IRR 函数使用数组内值的顺序来解释付款和收款的顺序。 确保按正确的顺序输入付款和收款值。 每个期间的现金流不必是固定的,因为它针对年金。

IRR 通过迭代计算。 从 guess 值开始,IRR 循环执行计算,直到结果的精度达到 0.00001% 以内。 如果 IRR 在尝试 20 次后还无法得出结果,它将失败。

示例

在此示例中, IRR 函数返回数组 Values() 中包含的连续 5 个现金流的内部回报率。 第一个数组元素是负现金流,表示企业创始成本。 剩余的四个现金流表示后续 4 年的正现金流。 Guess 是估计的内部回报率。

Dim Guess, Fmt, RetRate, Msg
Static Values(5) As Double    ' Set up array.
Guess = .1    ' Guess starts at 10 percent.
Fmt = "#0.00"    ' Define percentage format.
Values(0) = -70000    ' Business start-up costs.
' Positive cash flows reflecting income for four successive years.
Values(1) = 22000 : Values(2) = 25000
Values(3) = 28000 : Values(4) = 31000
RetRate = IRR(Values(), Guess) * 100    ' Calculate internal rate.
Msg = "The internal rate of return for these five cash flows is "
Msg = Msg & Format(RetRate, Fmt) & " percent."
MsgBox Msg    ' Display internal return rate.

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。