IRR 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回指定一系列定期现金流 (付款和收支) 的内部收益率的 Double。

语法

IRR ( () [, guess ] )

IRR 函数语法具有下列参数:

参数 说明
() 必需。 指定现金流量值的 Double 数组。 数组必须至少包含一个负值 (付款) 和一个正值 (收据) 。
猜测 可选。 指定估计值的变量将由 IRR 返回。 如果省略,则 猜测 值为 0.1 (10%) 。

    

备注

内部收益率是投资收到的利率,由定期发生的付款和收款组成。

IRR 函数使用数组内的值顺序来解释付款和收据的顺序。 请务必按正确的顺序输入付款和收据值。 每个时期的现金流不必固定,就像年金一样。

IRR 通过迭代计算。 从 猜测值开始, IRR 循环计算,直到结果准确到 0.00001% 以内。 如果 IRR 在 20 次尝试后仍找不到结果,则失败。

示例

注意

下面的示例演示了在Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个术语。

在此示例中, IRR 函数返回数组 Values()中包含的一系列 5 个现金流的内部收益率。 第一个数组元素是代表企业启动成本的负现金流。 其余 4 笔现金流代表随后 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
' Calculate internal rate.
RetRate = IRR(Values(), Guess) * 100
Msg = "The internal rate of return for these " & _
      "five cash flows is "
Msg = Msg & Format(RetRate, Fmt) & " percent."
MsgBox Msg    ' Display internal return rate.