Financial.MIRR(Double[], Double, Double) 方法

定义

返回一个值,该值指定一系列定期现金流(付款和收据)的修改内部回报率。

public:
 static double MIRR(cli::array <double> ^ % ValueArray, double FinanceRate, double ReinvestRate);
public static double MIRR(ref double[] ValueArray, double FinanceRate, double ReinvestRate);
static member MIRR : Double[] * double * double -> double
Public Function MIRR (ByRef ValueArray As Double(), FinanceRate As Double, ReinvestRate As Double) As Double

参数

ValueArray
Double[]

必填。 Double指定现金流值的数组。 该数组必须包含至少一个负值 (付款) 和一个正值 (收据) 。

FinanceRate
Double

必填。 作为融资成本支付的利率。

ReinvestRate
Double

必填。 从现金再投资中获得的利率。

返回

一系列定期现金流(付款和收据)的修改内部回报率。

例外

排名 ValueArray 不等于 1、 FinanceRate = -1 或 ReinvestRate = -1

已发生除以零。

示例

此示例使用 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)) & "%.")

注解

修改后的内部收益率是付款和收据按不同费率融资时的内部收益率。 该MIRR函数考虑了投资成本(FinanceRate)和现金再投资()获得的利率。ReinvestRate

参数FinanceRateReinvestRate是以十进制值表示的百分比。 例如,12% 表示为 0.12。

MIRR 函数使用数组中的值顺序来解释付款和收据的顺序。 请务必按正确的顺序输入付款和收据值。

适用于

另请参阅