MIRR 函数

更新:2007 年 11 月

返回一个 Double 数据类型值,指定一系列的周期性现金流(支出或收入)的修正内部利率。

Function MIRR( _
   ByRef ValueArray() As Double, _
   ByVal FinanceRate As Double, _
   ByVal ReinvestRate As Double _
) As Double

参数

  • ValueArray
    必选。Double 数组,指定现金流的值。数组必须至少包含一个负值(支出)和一个正值(收入)。

  • FinanceRate
    必选。Double 数据类型,指定支付的财务成本上的利率。

  • ReinvestRate
    必选。Double 数据类型,指定由现金再投资所得收益的利率。

异常

异常类型

错误号

条件

ArgumentException

5

ValueArray 的秩不等于 1,FinanceRate = -1,或 ReinvestRate = -1

DivideByZeroException

11

出现被零除。

如果正在升级使用无结构错误处理的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象)比较错误号。)然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述替换这种错误控制。

备注

修正内部收益率是指在用不同的利率计算支出和收入时所得的内部收益率。MIRR 函数既考虑投资成本 (FinanceRate),也考虑现金再投资所得利率 (ReinvestRate)。

FinanceRate 和 ReinvestRatearguments 是以十进制值表示的百分比。例如,0.12 表示百分之十二。

MIRR 函数用数组中的数值顺序来解释支付和收入的顺序。确保以正确的顺序输入您的支出和收入值。

示例

本示例使用 MIRR 函数返回包含在数组 Values() 中的一系列现金流的修正内部收益率。LoanAPR 表示财务利息,而 InvAPR 表示再投资所得利率。

' Define money format.
Dim MoneyFmt As String = "###,##0.00"
' Define percentage format.
Dim PercentFmt As String = "#0.00"

Dim values(4) As Double
' Business start-up costs.
values(0) = -70000
' Positive cash flows reflecting income for four successive years.
values(1) = 22000
values(2) = 25000
values(3) = 28000
values(4) = 31000

' Use the MIRR function to calculate the internal return rate.
' Set the loan rate.
Dim LoanAPR As Double = 0.1
' Set the reinvestment rate.
Dim InvAPR As Double = 0.12
' Calculate internal rate.
Dim RetRate As Double = MIRR(values, LoanAPR, InvAPR)
' Display internal return rate.
MsgBox("The modified internal rate of return for these cash flows is " & _
    Format(Math.Abs(RetRate) * 100, CStr(PercentFmt)) & "%.")

要求

命名空间:Microsoft.VisualBasic

**模块:**Financial

**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)

请参见

参考

IRR 函数

NPV 函数

财务摘要

ArgumentException

DivideByZeroException