NPer 함수

적용 대상
Microsoft 365용 Access Access 2024 Access 2021 Access 2019 Access 2016

정기적인 고정 지급액과 고정 이자율을 기준으로 연금의 기간을 지정하는 Double을 반환합니다.

구문

NPer(rate, pmt,pv [, fv ] [, type ] )

NPer 함수 구문에는 다음과 같은 인수가 있습니다.

인수 설명
요금 필수 요소입니다. 기간당 이자율을 두 번 지정합니다. 예를 들어, 연이율(APR) 10%로 자동차 대출을 받고 매월 상환하는 경우 기간당 이자율은 0.1/12 또는 0.0083입니다.
PMT 필수 요소입니다. 각 기간마다 지불할 금액을 이중 지정합니다. 결제에는 일반적으로 연금 수명 동안 변하지 않는 원금과 이자가 포함됩니다.
PV 필수 요소입니다. 일련의 미래 지불 또는 영수증의 현재 가치 또는 오늘의 가치를 지정하는 이중 것입니다. 예를 들어, 자동차를 사기 위해 돈을 빌릴 때 대출 금액은 매월 지불할 자동차 상환액의 대출 기관에 대한 현재 가치입니다.
fv 선택 요소입니다. 최종 결제 후 원하는 미래 가치 또는 현금 잔액을 지정하는 변형입니다. 예를 들어 대출의 미래 가치는 최종 상환 후의 가치이므로 0달러입니다. 그러나 자녀의 교육을 위해 50,000년 동안 $18를 저축하고 싶다면 $50,000가 미래 가치입니다. 생략하면 0으로 간주됩니다.
type 선택 요소입니다. 지불 기한을 지정하는 변형입니다. 지불 기한이 지불 기간 종료 시에 만료되는 경우 0을 사용하고, 지불 기한이 기간 시작 시에 만료되는 경우 1을 사용합니다. 생략하면 0으로 간주됩니다.

    

주의

연금은 일정 기간 동안 이루어지는 일련의 고정 현금 지불입니다. 연금은 대출(예: 주택 담보 대출) 또는 투자(예: 월 저축 계획)일 수 있습니다.

모든 인수에서 저축과 같은 현금 지출은 음수로 표시하고 배당금과 같은 현금 수입은 양수로 표시합니다.

쿼리 예제

Expression 결과
SELECT FinancialSample.*, INT(NPER([AnnualRate]/12,-[MonthlyRePayment],[LoanAmount],0,0)) AS MonthsRequired FROM FinancialSample; "FinancialSample" 테이블의 모든 필드를 반환하고, "AnnualRate" 및 "MonthlyRePayment"를 기준으로 "LoanAmount"를 지불하는 데 필요한 기간(이 예에서는 월)을 계산하고 결과를 MonthsRequired 열에 표시합니다. INT 함수는 "Double" 데이터 출력을 정수 값으로 변환하는 데 사용됩니다.

VBA 예제

참고

VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

이 예제에서는 NPer 함수를 사용하여 값이 에 포함된 대출금을 상환하기 위해 지불해야 하는 기간을 반환합니다.PVal 또한 기간당 이자율(APR / 12), 상환액(Payment), 대출의 미래가치(FVal), 상환 기간의 시작 또는 종료 시점에 상환 기한이 있는지 여부를 나타내는 숫자(PayType)도 제공됩니다.

Dim FVal, PVal, APR, Payment, PayType, TotPmts
' When payments are made.
Const ENDPERIOD = 0, BEGINPERIOD = 1
FVal = 0    ' Usually 0 for a loan.
PVal = InputBox("How much do you want to borrow?")
APR = InputBox("What is the annual percentage " & _
      "rate of your loan?")
If APR > 1 Then APR = APR / 100 ' Ensure proper form.
Payment = InputBox("How much do you " & _
          "want to pay each month?")
PayType = MsgBox("Do you make payments " & _
          "at the end of month?", vbYesNo)
If PayType = vbNo Then 
    PayType = BEGINPERIOD 
    Else PayType = ENDPERIOD
End If
TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
If Int(TotPmts) <> TotPmts Then 
    TotPmts = Int(TotPmts) + 1
End If
MsgBox "It will take you " & TotPmts & _
" months to pay off your loan."