Функция PPmt

Отнася се за
Access за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Връща число с двойна точност, показващо главницата за даден период на анюитета на базата на периодични фиксирани плащания и фиксиран лихвен процент.

Синтаксис

PPmt(ставка; периоди;настояща_ стойност [, бъдеща_ стойност] [, тип] )

Синтаксисът на функцията PPmt има следните аргументи:

Аргумент Описание
ставка Задължителен. Число с двойна точност, показващо лихвения процент за всеки период. Ако например теглите заем за кола при годишен лихвен процент (ГЛП) 10% и правите месечни вноски, лихвеният процент за всеки период е 0,1/12, което прави 0,0083.
за Задължително. Цяло число, задаващо периода на плащане в диапазона от 1 до периоди.
периоди Задължително. Цяло число , показващо общия брой периоди на плащане в анюитета. Ако например плащате месечни вноски по четиригодишен заем за кола, вашият заем ще има общо 4*12 (или 48) периода на плащане.
фотообект Задължително. Двойно указване на настоящата стойност или стойността днес на последователност от бъдещи плащания или вземания. Например когато вземете пари назаем, за да закупите кола, размерът на заема е настоящата стойност за заемодателя на месечните вноски за колата, които ще правите.
бъдеща_стойност По желание. Стойност от тип вариант, показваща бъдещата стойност или паричната наличност, която искате, след като сте направили последното плащане. Например бъдещата стойност на заема е 0 лв., защото това е стойността му след последното плащане. Ако обаче искате да спестите 50 000 лв. за период от 18 години за образование на вашето дете, тогава бъдещата стойност е 50 000 лв. Ако не е въведена стойност, тя се приема за 0.
тип По желание. Стойност от тип вариант, показваща кога са дължими плащанията. Използвайте 0, ако плащанията са дължими в края на периода за плащане, или 1, ако плащанията са дължими в началото на периода. Ако не е въведена стойност, тя се приема за 0.

Забележки

Анюитетът е серия от фиксирани плащания, извършвани през определен период от време. Анюитетът може да бъде заем (например ипотека на апартамент) или инвестиция (например план за месечните спестявания).

Аргументите ставка и периоди трябва да бъдат изчислени на базата на периодите на плащане, изразени в едни и същи мерни единици. Ако например лихвата се изчислява на базата на месеците, периоди също трябва да се изчисляват на базата на месеците.

За всички аргументи сумите, които сте платили (например депозитни вноски), са представени с отрицателни числа, а сумите, които сте получили (например дивиденти), са представени с положителни числа.

Пример за заявка

Израз Резултати
SELECT FinancialSample.*, PPMT([AnnualRate]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; Връща всички полета от таблицата "FinancialSample", изчисли главницата, платена в "per" (10 в този пример) на "LoanAmount" въз основа на "AnnualRate" и "TermInYears" и показва резултатите в колоната INTPaid.

Пример на VBA

Забележка

Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

Този пример използва функцията PPmt , за да изчисли каква част от дадено плащане за определен период е главница, когато всички плащания са с еднаква стойност. Дадени са лихвеният процент за един период (APR / 12), периодът на плащане, за който се желае главната част (Period), общият брой на плащанията (TotPmts), настоящата стойност или главницата на заема (PVal), бъдещата стойност на заема (FVal), както и число, което показва дали плащането е дължимо в началото или края на периода за плащане (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