Rate 함수
업데이트: 2007년 11월
연금에 대한 일정 기간당 이자율을 Double 형식으로 반환합니다.
Function Rate( _
ByVal NPer As Double, _
ByVal Pmt As Double, _
ByVal PV As Double, _
Optional ByVal FV As Double = 0, _
Optional ByVal Due As DueDate = DueDate.EndOfPeriod, _
Optional ByVal Guess As Double = 0.1 _
) As Double
매개 변수
NPer
필수적 요소. 연금의 총 지불 기간 수를 지정하는 Double 형식입니다. 예를 들어, 4년짜리 자동차 대출을 받아 매달 지불한다면 총 대출 상환 기간은 4 * 12 (또는 48)입니다.Pmt
필수적 요소. 기간당 지불액을 지정하는 Double 형식입니다. 지급에는 일반적으로 연금을 받는 기간 동안 변경되지 않는 원금과 이자가 포함됩니다.PV
필수적 요소. 현재 값, 금일 값, 미래 지불 또는 수령액을 지정하는 Double 형식입니다. 예를 들어, 차를 사려고 돈을 빌린 경우 대출 원리 합계는 돈을 빌려 준 사람에게 앞으로 매달 지불할 차 대금의 현재 값입니다.FV
선택적 요소. 최종 지불 후 앞으로 지불할 미래 값 또는 현금 잔액을 지정하는 Double 형식입니다. 예를 들어, 최종 지불 후의 대출 값은 $0이므로 대출의 미래 값은 $0입니다. 그러나 자녀 교육을 위해 18년간 $50,000 를 저축하는 경우 미래 값은 $50,000입니다. 생략하면 0로 간주됩니다.Due
선택적 요소. 지불 만기일을 지정하는 DueDate 열거형 형식의 개체입니다. 지불일로 처리되는 날짜가 지불 기간의 끝이면 이 인수는 DueDate.EndOfPeriod이고, 지불 기간의 처음이면 DueDate.BegOfPeriod여야 합니다. 생략하면 DueDate.EndOfPeriod로 간주됩니다.Guess
선택적 요소. Rate가 반환할 추정 값을 지정하는 Double 형식입니다. 생략하면 Guess는 0.1(10%)이 됩니다.
예외
예외 형식 |
오류 번호 |
조건 |
---|---|---|
NPer <= 0. |
비구조적 않은 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.
설명
연금은 일정 기간 동안 고정된 현금을 지불하는 것입니다. 연금은 대출(예: 집 저당) 또는 투자(예: 매달 저축 계획)가 될 수 있습니다.
모든 인수에서 지불된 현금(예: 저축 예금)은 음수로 표시되고 받은 현금(예: 배당 수표)은 양수로 표시됩니다.
Rate는 반복적으로 계산됩니다. Rate는 Guess 값에서 시작하여 결과가 0.00001%에 이를 때까지 계산을 반복합니다. 20번을 시도한 후에도 Rate이 결과를 찾을 수 없으면 실패하게 됩니다. 추정치가 10%이고 Rate가 실패하면 Guess에 다른 값을 사용해 보십시오.
예제
다음 예제에서는 총 지불 횟수(TotPmts), 대출 상환액(Payment), 대출금의 현재 가치 또는 대출 원금(PVal), 대출금의 장래 가치(FVal), 지불일로 처리되는 날짜가 지불 기간의 시작과 끝 중 언제인지를 나타내는 숫자(PayType) 및 예상되는 대략적인 이자율(Guess)을 지정한 Rate 함수를 사용하여 대출금에 대한 이자율을 계산합니다.
Sub TestRate()
Dim PVal, Payment, TotPmts, APR As Double
Dim PayType As DueDate
' Define percentage format.
Dim Fmt As String = "##0.00"
Dim Response As MsgBoxResult
' Usually 0 for a loan.
Dim FVal As Double = 0
' Guess of 10 percent.
Dim Guess As Double = 0.1
PVal = CDbl(InputBox("How much did you borrow?"))
Payment = CDbl(InputBox("What's your monthly payment?"))
TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
Response = MsgBox("Do you make payments at the end of the month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
APR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100
MsgBox("Your interest rate is " & Format(CInt(APR), Fmt) & " percent.")
End Sub
요구 사항
네임스페이스:Microsoft.VisualBasic
**모듈:**Financial
**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)