Returnerer et langt flyttall som angir hovedstolbetalingen for en gitt periode for en annuitet basert på periodiske, faste innbetalinger og en fast rentesats.
Syntaks
PPmt ( rente; per; antall_innbet ; nåverdi [, sluttverdi ] [, type ] )
Syntaksen for funksjonen PPmt har følgende argumenter:
Argument |
Beskrivelse |
sats |
Obligatorisk. Langt flyttall som angir rentesats per periode. Hvis du for eksempel får et billån med en årlig prosentsats (APR) på 10 prosent og foretar månedlige betalinger, er satsen per periode 0,1/12 eller 0,0083. |
Per |
Obligatorisk. Heltall som angir betalingsperioden i området 1 til antall_innbet. |
antall_innbet |
Obligatorisk. Heltall som angir totalt antall betalingsperioder i annuiteten. Hvis du for eksempel betaler månedlige avdrag på et fireårig billån, har lånet totalt 4 * 12 (eller 48) avdragsperioder. |
Pv |
Obligatorisk. Langt flyttall som angir nåverdi, eller verdi i dag, for en serie fremtidige innbetalinger eller inntekter. Når du for eksempel låner penger til å kjøpe en bil, er lånebeløpet nåverdien til utlåneren av de månedlige bilbetalingene du foretar. |
sluttverdi |
Valgfritt. Variant som angir en fremtidig verdi eller kontantbalanse du vil ha etter at du har betalt siste avdrag. Den fremtidige verdien for et lån er for eksempel 0 dollar fordi det er lånets verdi etter det siste avdraget. Hvis du imidlertid vil spare 500 000 dollar over 18 år til barns utdanning, er 500 000 den fremtidige verdien. Hvis dette utelates, brukes 0. |
type |
Valgfritt. Variant som angir når betalingen forfaller. Bruk 0 hvis betalingen forfaller på slutten av betalingsperioden, eller bruk 1 hvis betalingen forfaller i begynnelsen av perioden. Hvis dette utelates, brukes 0. |
Merknader
En annuitet er en serie med faste kontantavdrag som betales over tid. En annuitet kan være et lån (for eksempel et huslån) eller en investering (for eksempel en månedlig spareplan).
Argumentene sats og antall_innbet må beregnes ved hjelp av avdragsperioder som uttrykkes i de samme enhetene. Hvis for eksempel sats beregnes ved hjelp av måneder, må også antall_innbet beregnes med måneder.
For alle argumenter representeres kontanter du betaler ut, for eksempel bankinnskudd på sparekonti, av negative tall, og penger du får inn, for eksempel utbyttesjekker, av positive tall.
Eksempel på spørring
Expression |
Resultater |
SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; |
Returnerer alle feltene fra tabellen "FinancialSample", beregner hovedstolbeløpet betalt i "per"(10 i dette eksemplet) av "LoanAmount" basert på "AnnualRate" og "TermInYears" og viser resultatene i kolonnen INTPaid. |
VBA-eksempel
Obs!: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.
Dette eksemplet bruker PPmt-funksjonen til å beregne hvor mye av en betaling for en bestemt periode som er hovedstol når alle betalingene har lik verdi. Angitt er rentesatsen per periode (APR / 12), innbetalingsperioden som hovedstoldelen er ønsket for (Period), totalt antall innbetalinger (TotPmts), nåverdi eller hovedstol for lånet (PVal), den fremtidige verdien av lånet (FVal), og et tall som angir om betalingen forfaller i begynnelsen eller slutten av betalingsperioden (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