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 支持和反馈,获取有关如何接收支持和提供反馈的指南。