Funktionen PPmt

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerer et dobbelt reelt tal, der angiver hovedstolen for en annuitet baseret på periodiske, faste ydelser og en fast rentesats.

Syntaks

PPmt(rente, per,nper,nv [, fv ] [, type ] )

Syntaksen for funktionen PPmt har disse argumenter:

Argument Beskrivelse
Sats Påkrævet. Dobbelt angiver renten pr. periode. Hvis du f.eks. tager et billån med en årlig rente på 10 procent og betaler månedlige ydelser, er renten pr. periode 0,1/12 eller 0,0083.
pr. Påkrævet. Heltal, der angiver betalingsperioden mellem 1 og nper.
nper Påkrævet. Heltal , der angiver det samlede antal ydelsesperioder i annuiteten. Hvis du f.eks. betaler månedlige ydelser på et fireårigt billån, har dit lån i alt 4 * 12 (eller 48) ydelsesperioder.
nv Påkrævet. Dobbelt angivelse af den nuværende værdi eller den aktuelle værdi af en række fremtidige udgående eller indgående betalinger. Når du for eksempel låner penge til at købe en bil, er lånebeløbet nutidsværdien for långiveren af de månedlige bilbetalinger, du vil foretage.
FV Valgfrit. Variant angiver en fremtidig værdi eller kassebeholdning, du ønsker, efter at du har foretaget den sidste betaling. Hvis f.eks. et låns fremtidige værdi er $ 0, fordi det er værdien efter den sidste betaling. Men hvis du vil spare $50,000 over 18 år til dit barns uddannelse, så er $50,000 den fremtidige værdi. Hvis det udelades, antages det, at værdien er 0.
type Valgfrit. Variant angiver, hvornår ydelserne forfalder. Brug 0, hvis ydelserne forfalder i slutningen af betalingsperioden, eller brug 1, hvis ydelserne forfalder i begyndelsen af perioden. Hvis det udelades, antages det, at værdien er 0.

Bemærkninger

En annuitet er en række faste kontantydelser, der foretages over en periode. En annuitet kan være et lån (f.eks. et privat realkreditlån) eller en investering (f.eks. en månedlig opsparingsplan).

Argumenterne Rente og Nper skal beregnes ved hjælp af betalingsperioder udtrykt i de samme enheder. Hvis rente f.eks. beregnes ved hjælp af måneder, skal nper også beregnes med måneder.

For alle argumenter gælder, at udbetalte beløb, f.eks. indskud på opsparinger, repræsenteres af negative tal, mens modtagne beløb, f.eks. udbytte, repræsenteres af positive tal.

Eksempel på forespørgsel

Udtryk Resultater
SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; Returnerer alle felterne fra tabellen "FinancialSample", beregner det betalte hovedstolsbeløb i "per"(10 i dette eksempel) af "LoanAmount" på basis af "AnnualRate" og "TermInYears" og viser resultaterne i kolonne INTPaid.

VBA-eksempel

Bemærk

Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

I dette eksempel bruges funktionen PPmt til at beregne, hvor meget af en ydelse for en bestemt periode, der er hovedstol, når alle ydelserne er af samme værdi. Givet er rentesatsen i procent pr. periode (APR / 12), den betalingsperiode, for hvilken hovedstolen ønskes (Period), det samlede antal betalinger (TotPmts), lånets nutidsværdi eller hovedstol (PVal), lånets fremtidige værdi (FVal), og et tal, der angiver, om betalingen forfalder i begyndelsen eller slutningen af ydelsesperioden (PayType).

Dim NL, TB, Fmt, FVal, PVal, APR, TotPmts, PayType, Payment, Msg, MakeChart, Period, P, I
Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
NL = Chr(13) & Chr(10)    ' Define newline.
TB = Chr(9)    ' Define tab.
Fmt = "###,###,##0.00"    ' Define money format.
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.
TotPmts = InputBox("How many monthly payments do you have to make?")
PayType = MsgBox("Do you make payments at the end of month?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
Payment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
MakeChart = MsgBox(Msg, vbYesNo)    ' See if chart is desired.
If MakeChart <> vbNo Then
    If TotPmts > 12 Then MsgBox "Only first year will be shown."
    Msg = "Month  Payment  Principal  Interest" & NL
    For Period = 1 To TotPmts
        If Period > 12 Then Exit For    ' Show only first 12.
        P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
        P = (Int((P + .005) * 100) / 100)    ' Round principal.
        I = Payment - P
        I = (Int((I + .005) * 100) / 100)    ' Round interest.
        Msg = Msg & Period & TB & Format(Payment, Fmt)
        Msg = Msg & TB & Format(P, Fmt) & TB & Format(I, Fmt) & NL
    Next Period
    MsgBox Msg    ' Display amortization table.
End If