Zwraca liczbę podwójnej precyzji określającą spłatę kapitału w danym okresie raty rocznej na podstawie okresowych, stałych płatności i stałej stopy procentowej.
Składnia
PPmt(stopa;za;liczba_okresów;wb [, wp ] [, typ])
W składni funkcji PPmt występują następujące argumenty:
| Argumenty argumentów | Opis |
|---|---|
| oceń | Argument wymagany. Liczba podwójnej precyzji określająca stopę procentową na okres. Na przykład w przypadku kredytu samochodowego o rocznej stopie oprocentowania (RSO) wynoszącej 10%, ze spłatami miesięcznymi, stopa procentowa na okres wynosi 0,1/12, czyli 0,0083. |
| za | Argument wymagany. Liczba całkowita określająca okres płatności z zakresu od 1 do liczba_okresów. |
| liczba_okresów | Argument wymagany. Liczba całkowita określająca całkowitą liczbę okresów raty rocznej. Na przykład w przypadku czteroletniego kredytu samochodowego ze spłatami miesięcznymi całkowita liczba okresów spłat wynosi 4 * 12 (czyli 48). |
| PV | Argument wymagany. Liczba podwójnej precyzji określająca wartość bieżącą lub dzisiejszą serię przyszłych płatności lub wpływów. Na przykład w przypadku zaciągania pożyczki na zakup samochodu kwota pożyczki to odpowiadająca pożyczkodawcy miesięczna spłata samochodu. |
| wp | Argument opcjonalny. Wariant określający wartość przyszłą, czyli saldo kasowe, które ma zostać osiągnięte po dokonaniu ostatniej płatności. Na przykład w przypadku pożyczki wartość przyszła wynosi 0 zł, ponieważ tyle będzie wynosić saldo po dokonaniu ostatniej płatności. Natomiast w przypadku oszczędności na edukację dziecka, których celem jest zebranie 50 000 zł w ciągu 18 lat, wartość przyszła wynosi 50 000 zł. W razie pominięcia tego argumentu przyjmowana jest wartość 0. |
| typ | Argument opcjonalny. Wariant wskazujący czas wymagalności płatności. Wartość 0 oznacza płatności na końcu okresu, a wartość 1 oznacza płatności na początku okresu. W razie pominięcia tego argumentu przyjmowana jest wartość 0. |
Uwagi
Rata roczna to seria stałych płatności pieniężnych dokonywanych w danym okresie. Może to być pożyczka (na przykład kredyt hipoteczny) lub inwestycja (na przykład miesięczny plan oszczędnościowy).
Argumenty stopa i liczba_okresów muszą być obliczane na podstawie okresów płatności wyrażonych w tych samych jednostkach. Jeśli na przykład argument stopa jest obliczany przy użyciu miesięcy, to argument liczba_okresów także musi być obliczany przy użyciu miesięcy.
Przy wszystkich argumentach środki wpłacane przez Ciebie, takie jak wpłaty na rachunki oszczędnościowe, wyrażone są liczbami ujemnymi, podczas gdy przychody, takie jak wypłaty z tytułu dywidend, wyrażone są liczbami dodatnimi.
Przykład zapytania
| Wyrażenie | Rezultat |
|---|---|
| SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; | Zwraca wszystkie pola z tabeli "FinancialSample", oblicza zapłaconą kwotę kapitału w wartości "per" (w tym przykładzie 10) wartości "LoanAmount" na podstawie wartości "AnnualRate" i "TermInYears" oraz wyświetla wyniki w kolumnie INTPaid. |
Przykład kodu VBA
Uwaga
Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.
W tym przykładzie użyto funkcji PPmt do obliczenia, jaka część płatności w określonym okresie stanowi kapitał, gdy wszystkie płatności mają taką samą wartość. Podano procentową stopę procentową na okres (APR / 12), okres spłaty, dla którego żądana jest część główna (Period), całkowitą liczbę spłat (TotPmts), wartość bieżącą lub kapitał pożyczki (PVal), przyszłą wartość pożyczki (FVal) oraz liczbę wskazującą, czy płatność jest należna na początku, czy na końcu okresu płatności (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