Geeft als resultaat een gegevenstype Double dat het aantal perioden voor een annuïteit aangeeft op basis van periodieke, vaste betalingen en een vaste rentevoet.
Syntaxis
NPer(rente, bet, hw [, tw ] [, type_ ] )
De syntaxis van de functie NPer heeft deze argumenten:
| Argument | Beschrijving |
|---|---|
| Tarief | Vereist. Getal met dubbele precisie waarmee de rente per periode wordt opgegeven. Als u bijvoorbeeld een autolening neemt met een jaarlijkse rente van 10 procent en per maand betaalt, bedraagt de rente per periode 0,1/12, oftewel 0,0083. |
| bet | Vereist. Getal met dubbele precisie waarmee de betaling die verschuldigd is per periode wordt opgegeven. Betalingen bestaan meestal uit een bedrag aan aflossing en rente dat niet verandert gedurende de looptijd van de annuïteit. |
| hw | Vereist. Getal met dubbele precisie dat de huidige waarde (de waarde op dit moment) aangeeft van een reeks toekomstige betalingen of ontvangsten. Wanneer u bijvoorbeeld geld leent om een auto te kopen, is het geleende bedrag de huidige waarde voor de verstrekker van de lening. |
| tw | Optioneel. Variant waarmee de toekomstige waarde of de gewenste contante waarde na de laatste betaling wordt aangegeven. Zo is de toekomstige waarde van een lening € 0 omdat dit de waarde van de lening is na de laatste betaling. Als u echter € 50.000 wilt sparen over een periode van 18 jaar voor de opleiding van uw kind, is € 50.000 de toekomstige waarde. Als dit argument wordt weggelaten, wordt 0 als standaardwaarde gebruikt. |
| type | Optioneel. Variant waarmee wordt aangegeven wanneer betalingen moeten plaatsvinden. Gebruik 0 als betalingen aan het einde van de betalingsperioden moeten plaatsvinden of 1 voor betalingen aan het begin van de periode. Als dit argument wordt weggelaten, wordt 0 als standaardwaarde gebruikt. |
Opmerkingen
Een annuïteit is een reeks vaste contante betalingen gedurende een specifieke periode. Een annuïteit kan een lening zijn (bijvoorbeeld een hypotheek) of een investering (bijvoorbeeld een maandelijks spaarplan).
Voor alle argumenten worden betaalde bedragen (zoals stortingen op een spaarrekening) weergegeven als negatieve getallen, terwijl ontvangen bedragen (zoals dividenden) worden weergegeven als positieve getallen.
Voorbeeld van een query
| Expressie | Resultaten |
|---|---|
| SELECT FinancialSample.*, INT(NPER([Jaarrente]/12,-[MonthlyRePayment],[LoanAmount],0,0)) AS MonthsRequired FROM FinancialSample; | Retourneert alle velden uit de tabel 'FinancialSample', berekent het aantal termijnen (Maanden in dit voorbeeld) dat nodig is om het 'LoanAmount' te betalen op basis van de 'AnnualRate' en 'MonthlyRePayment' en geeft de resultaten weer in de kolommen MonthsRequired. De functie INTEGER wordt gebruikt om de gegevensuitvoer 'Dubbel' te converteren naar een geheel getal. |
VBA-voorbeeld
Opmerking
In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
In dit voorbeeld wordt de functie NPer gebruikt om het aantal termijnen te retourneren gedurende welke betalingen moeten worden gedaan om een lening af te betalen waarvan de waarde is opgenomen in PVal. Verder worden het rentepercentage per termijn (APR / 12), de betaling (Payment), de toekomstige waarde van de lening (FVal), en een getal dat aangeeft of de betaling aan het begin of aan het einde van de termijn verschuldigd is (PayType), vermeld.
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."