Повертає значення подвійної точності, яке вказує розмір виплати основної суми ануїтету за вказаний період на основі періодичних фіксованих платежів і фіксованої відсоткової ставки.
Синтаксис
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