NPV 함수
업데이트: 2007년 11월
일정 기간 현금 흐름(지불액과 수령액)과 할인율을 기준으로 현재의 순 투자 가치를 Double 형식으로 반환합니다.
Function NPV( _
ByVal Rate As Double, _
ByRef ValueArray() As Double _
) As Double
매개 변수
Rate
필수적 요소. 전 기간에 걸친 할인율을 지정하는 Double 형식이며 소수로 표시합니다.ValueArray
필수적 요소. 현금 흐름 값을 지정하는 Double 형식입니다. 배열에는 하나 이상의 음수 값(지불)과 하나 이상의 양수 값(확인)이 포함되어야 합니다.
예외
예외 형식 |
오류 번호 |
조건 |
---|---|---|
ValueArray가 Nothing이거나, ValueArray 차수가 1보다 작거나 크거나, Rate가 -1입니다. |
비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.
설명
현재의 순 투자 가치는 미래의 지불액과 수령액에 대한 현재 값입니다.
NPV 함수는 배열 내에서의 값의 순서를 사용하여 지불액과 수령액의 순서를 해석합니다. 올바른 시퀀스에 지불 및 수령 값을 입력했는지 확인하십시오.
NPV 투자는 배열의 첫 번째 현금 흐름 값의 날짜 이전 한 기간에 시작하여 마지막 현금 흐름 값으로 끝납니다.
현재의 순 투자 가치는 미래의 현금 흐름을 기준으로 계산됩니다. 첫 번째 현금 흐름이 첫 번째 기간이 시작할 때 발생하면 첫 번째 값을 NPV 함수가 반환한 값에 추가해야 하며 ValueArray의 현금 흐름 값에는 포함하지 않아야 합니다.
PV 함수가 기간의 끝이나 시작에서 현금 흐름이 시작될 수 있다는 것을 제외하면 NPV 함수는 PV 함수(현재 값)와 비슷합니다. 변수 NPV 현금 흐름 값과는 달리 PV 현금 흐름은 투자의 전 기간에 걸쳐 고정되어야 합니다.
예제
다음 예제에서는 NPV 함수를 사용하여 values() 배열에 포함된 현금 흐름에 대한 현재의 순 가치를 반환합니다. 반환 값은 FixedRetRate에 저장되며 내부 고정 수익률을 나타냅니다.
' 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 NPV function to calculate the net present value.
' Set fixed internal rate.
Dim FixedRetRate As Double = 0.0625
' Calculate net present value.
Dim NetPVal As Double = NPV(FixedRetRate, values)
' Display net present value.
MsgBox("The net present value of these cash flows is " & _
Format(NetPVal, MoneyFmt) & ".")
요구 사항
네임스페이스:Microsoft.VisualBasic
**모듈:**Financial
**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)