Функція PPmt

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Повертає значення подвійної точності, яке вказує розмір виплати основної суми ануїтету за вказаний період на основі періодичних фіксованих платежів і фіксованої відсоткової ставки.

Синтаксис

PPmt(ставка, пер;кпер;зв [, мв ] [, тип ] )

Синтаксис функції PPmt має такі аргументи:

Аргумент Опис
ставка Обов’язковий. Зазначення подвійної точності, яке вказує відсоткову ставку за період. Наприклад, якщо річна ставка позики на автомобіль становить 10 відсотків, а платежі здійснюються щомісячно, ставка за період дорівнює 0,1/12 або 0,0083.
за — обов’язковий аргумент. Ціле число, яке визначає період платежу в діапазоні від 1 до кпер.
кпер — обов’язковий аргумент. Ціле число , яке визначає загальну кількість періодів платежів протягом ануїтету. Наприклад, якщо виплати за чотирирічною позикою на автомобіль здійснюються щомісячно, загальна кількість періодів платежів дорівнює 4 * 12 (або 48).
фотоелектрична лінія — обов’язковий аргумент. Подвійне визначення поточної (сьогоднішньої вартості) ряду майбутніх платежів або надходжень. Наприклад, коли ви позичаєте гроші на покупку автомобіля, сума позики є теперішньою вартістю для кредитора щомісячних платежів за автомобіль, які ви будете вносити.
мв Необов’язковий. Значення типу Variant, що відповідає майбутній вартості або грошовому залишку, який потрібно отримати після внесення останнього платежу. Наприклад, майбутня вартість позики дорівнює 0 ₴, тому що саме такою має буде вартість після останнього платежу. Однак якщо потрібно заощадити 50 000 ₴ протягом 18 років, щоб оплатити навчання дитини, майбутня вартість становитиме 50 000 ₴. Якщо значення не вказано, приймається значення 0.
тип Необов’язковий. Значення типу Variant, яке вказує, коли настає час сплати. Якщо час сплати настає в кінці періоду платежу, задайте значення 0, а якщо на початку – задайте значення 1. Якщо значення не вказано, приймається значення 0.

Примітки

Ануїтет – це послідовність фіксованих виплат коштів, які здійснюються протягом певного проміжку часу. Ануїтет може використовуватися для сплати позики (наприклад, іпотечної) або інвестицій (наприклад, щомісячного плану заощадження).

Аргументи «ставка » та «кпер» слід обчислювати за допомогою періодів платежів, виражених в однакових одиницях. Наприклад, якщо ставка обчислюється через місяці, кпер також має обчислюватися в місяцях.

Для всіх аргументів сплачувані суми (наприклад депозити для заощадження), представлено від’ємними числами, а отримувані суми (такі як дивідендні чеки) – додатними числами.

Приклад запиту

Вираз Результати.
SELECT FinancialSample.*, PPMT([Річна ставка]/12,10,[TermInYears]*12,-[LoanAmount],0,0) AS INTPaid FROM FinancialSample; Повертає всі поля з таблиці «FinancialSample», обчислює основну суму, що виплачується в аргументі «на» (10 у цьому прикладі) аргументу «Сума позики» на основі значень «РічнаСтавка» та «Термін_років» і відображає результати в стовпці 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