연금의 기간별 이자율을 지정하는 Double을 반환합니다.
구문
Rate(nper, pmt,pv [, fv ] [, type ] [, guess ] )
Rate 함수 구문에는 다음과 같은 인수가 사용됩니다.
| 인수 | 설명 |
|---|---|
| nper | 필수 요소입니다. Double : 연금의 총 지불 기간을 지정합니다. 예를 들어, 4년 자동차 대출을 매월 상환하는 경우 대출의 상환 기간은 총 4 * 12(또는 48)입니다. |
| PMT | 필수 요소입니다. 각 기간마다 지불할 금액을 이중 지정합니다. 결제에는 일반적으로 연금 수명 동안 변하지 않는 원금과 이자가 포함됩니다. |
| PV | 필수 요소입니다. 일련의 미래 지불 또는 영수증의 현재 가치 또는 오늘의 가치를 지정하는 이중 것입니다. 예를 들어, 자동차를 사기 위해 돈을 빌릴 때 대출 금액은 매월 지불할 자동차 상환액의 대출 기관에 대한 현재 가치입니다. |
| fv | 선택 요소입니다. 최종 결제 후 원하는 미래 가치 또는 현금 잔액을 지정하는 변형입니다. 예를 들어 대출의 미래 가치는 최종 상환 후의 가치이므로 0달러입니다. 그러나 자녀의 교육을 위해 50,000년 동안 $18를 저축하고 싶다면 $50,000가 미래 가치입니다. 생략하면 0으로 간주됩니다. |
| type | 선택 요소입니다. 지불 기한을 나타내는 숫자를 지정하는 변형입니다. 지불 기한이 지불 기간 종료 시에 만료되는 경우 0을 사용하고, 지불 기한이 기간 시작 시에 만료되는 경우 1을 사용합니다. 생략하면 0으로 간주됩니다. |
| 추측 | 선택 요소입니다. Rate로 반환될 것으로 예상되는 값을 지정하는 변형입니다. 생략하면 추측은 0.1(10%)입니다. |
주의
연금은 일정 기간 동안 이루어지는 일련의 고정 현금 지불입니다. 연금은 대출(예: 주택 담보 대출) 또는 투자(예: 월 저축 계획)일 수 있습니다.
모든 인수에서 저축과 같은 현금 지출은 음수로 표시하고 배당금과 같은 현금 수입은 양수로 표시합니다.
속도 는 반복에 의해 계산됩니다. 추측 값부터 시작하여 결과가 0.00001% 이내로 정확해질 때까지 계산을 순환합니다. Rate가 20번 시도 후에도 결과를 찾을 수 없으면 실패합니다. 추측이 10%이고 비율이 실패하면 다른 값을 추측에 시도합니다.
쿼리 예제
| Expression | 결과 |
|---|---|
| SELECT FinancialSample.*, (Rate([TermInYears]*12,-[MonthlyRePayment],[LoanAmount],0,0,0.1)*12) AS InterestRate FROM FinancialSample; | "FinancialSample" 테이블의 모든 필드와 "TermInYears", "MonthlyRePayment" 및 "LoanAmount"를 기반으로 하는 연간 "이자율"을 반환하고 결과를 InterestRate 열에 표시합니다. |
VBA 예제
참고
VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
이 예제에서는 Rate 함수를 사용하여 총 상환 횟수(TotPmts), 대출 상환Payment액(), 대출의 현재 가치 또는 원금(PVal), 대출의 미래 가치(FVal), 상환 기간PayType의 시작 또는 종료 시점에 상환 기한이 만료되는지를 나타내는 숫자(), 및 예상 이자율의 근사값(Guess).
Dim Fmt, FVal, Guess, PVal
Dim Payment, TotPmts, PayType, APR
' When payments are made.
Const ENDPERIOD = 0, BEGINPERIOD = 1
Fmt = "##0.00" ' Define percentage format.
FVal = 0 ' Usually 0 for a loan.
Guess = .1 ' Guess of 10 percent.
PVal = InputBox("How much did you borrow?")
Payment = InputBox("What's your monthly payment?")
TotPmts = InputBox("How many monthly payments do " & _
"you have to make?")
PayType = MsgBox("Do you make payments at the end " & _
"of the month?", vbYesNo)
If PayType = vbNo Then
PayType = BEGINPERIOD
Else PayType = ENDPERIOD
End If
APR = (Rate(TotPmts, -Payment, PVal, _
FVal, PayType, Guess) * 12) * 100
MsgBox "Your interest rate is " & _
Format(CInt(APR), Fmt) & " percent."