Share via


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 是以小數值表示的百分比。例如,百分之 12 會表示為 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)) & "%.")

需求

命名空間 (Namespace)︰Microsoft.VisualBasic

**模組︰**Financial

組件 (Assembly):Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

參考

IRR 函式

NPV 函式

財務摘要

ArgumentException

DivideByZeroException