IRR 함수
업데이트: 2007년 11월
일련의 주기적인 현금 흐름(지불액과 수령액)에 대한 내부 수익률을 Double 형식으로 반환합니다.
Function IRR( _
ByRef ValueArray() As Double, _
Optional ByVal Guess As Double = 0.1 _
) As Double
매개 변수
ValueArray
필수적 요소. 현금 흐름 값을 지정하는 Double 형식입니다. 배열에는 하나 이상의 음수 값(지불)과 하나 이상의 양수 값(확인)이 포함되어야 합니다.Guess
선택적 요소. IRR이 반환할 추정 값을 지정하는 개체입니다. 생략할 경우 Guess는 0.1(10%)이 됩니다.
예외
예외 형식 |
오류 번호 |
조건 |
---|---|---|
배열 인수 값이 잘못되었거나, Guess가 -1보다 작거나 같습니다. |
비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.
설명
내부 수익률은 일정한 간격으로 발생하는 지불액과 수령액으로 구성된 투자에 대해 받게 되는 이자율입니다.
IRR 함수는 배열에 있는 값의 순서를 사용하여 지불액과 수령액의 순서를 해석합니다. 올바른 시퀀스에 지불 및 수령 값을 입력했는지 확인하십시오. 각 기간의 현금 흐름은 연금에서와 같이 수정할 필요가 없습니다.
IRR 함수는 반복적으로 계산됩니다. IRR 함수는 Guess 값에서 시작하여 결과가 0.00001%에 이를 때까지 계산을 반복합니다. 20번을 시도한 후에도 IRR에서 결과를 찾지 못하면 실패하게 됩니다.
예제
다음 예제에서는 IRR 함수를 사용하여 Values() 배열에 포함된 연속된 5회의 현금 흐름에 대한 내부 수익률을 반환합니다. 첫 번째 배열 요소는 사업 착수 비용을 나타내는 현금 흐름(음수)입니다. 나머지 4회의 현금 흐름은 다음 4년 동안의 현금 흐름(양수)을 나타냅니다. Guess는 예측된 내부 수익률입니다.
' 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 IRR function to calculate the rate of return.
' Guess starts at 10 percent.
Dim Guess As Double = 0.1
' Calculate internal rate.
Dim CalcRetRate As Double = IRR(values, Guess) * 100
' Display internal return rate.
MsgBox("The internal rate of return for these cash flows is " & _
Format(CalcRetRate, CStr(PercentFmt)) & " percent.")
요구 사항
네임스페이스:Microsoft.VisualBasic
모듈: Financial
**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)