Повертає подвійне значення, що вказує основну виплату за вказаний період ануїтету на основі періодичних фіксованих платежів і фіксованої відсоткової ставки.
Синтаксис
PPmt(rate, per,nper,pv [, fv ] [, type ] )
Синтаксис функції PPmt має такі аргументи:
| Аргумент | Опис |
|---|---|
| Ставка | Обов’язковий. Зазначення подвійної точності, яке вказує відсоткову ставку за період. Наприклад, якщо річна ставка позики на автомобіль становить 10 відсотків, а платежі здійснюються щомісячно, ставка за період дорівнює 0,1/12 або 0,0083. |
| За | — обов’язковий аргумент. Ціле число, яке вказує період платежу в діапазоні від 1 до кпер. |
| кпер | — обов’язковий аргумент. Ціле число , яке вказує загальну кількість періодів платежів у ануїтеті. Наприклад, якщо виплати за чотирирічною позикою на автомобіль здійснюються щомісячно, загальна кількість періодів платежів дорівнює 4 * 12 (або 48). |
| Pv | — обов’язковий аргумент. Подвійне значення, яке вказує поточну вартість (поточну вартість) ряду майбутніх платежів або надходжень. Наприклад, коли ви позичаєте гроші, щоб купити автомобіль, сума позики є теперішньою вартістю для кредитора щомісячних платежів за автомобіль, які ви будете робити. |
| мв | Необов’язковий. Значення типу 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", обчислює суму суми суми, сплачену в полях "per"(10 у цьому прикладі)"LoanAmount" на основі "Річна ставка" та "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