Поделиться через


Функция PPmt

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

Синтаксис

PPmt(rate, per, nper, pv, [ fv, [ type ]])

Синтаксис функции PPmt содержит следующие именованные аргументы:

Part Описание
скорость Обязательно. Имеет тип Double и определяет процентную ставку за период. Например, если получен кредит на автомобиль при годовой процентной ставке (APR) в 10 процентов и платежи следует вносить ежемесячно, то ставка за период составит 0,1/12, или 0,0083.
посредством Обязательно. Целое число, определяющее период платежа в диапазоне от 1 до nper.
nper Обязательно. Целое число, определяющее общее число периодов выплат аннуитета. Например, при ежемесячных выплатах по четырехлетнему займу общее число периодов платежей составит 4 * 12 = 48.
Pv Обязательно. Тип Double; указывает текущую стоимость (или стоимость на сегодняшний день) серии будущих платежей или поступлений. Например, когда вы занимаете деньги для покупки автомобиля, сумма кредита представляет собой приведенную сумму для кредитора ежемесячных платежей за автомобиль, которые вы будете делать.
fv Необязательный параметр. Вариант с указанием будущей стоимости или остатка денежных средств после окончательного платежа. Например, будущая стоимость кредита составляет 0 долл. США, так как это его стоимость после окончательного платежа. Тем не менее, если вы хотите сэкономить $ 50000 в течение 18 лет на образование вашего ребенка, $ 50000 является будущей стоимостью. Если данный аргумент опущен, то подразумевается, что он равен 0.
type Необязательный параметр. Вариант, определяющий, когда наступает срок оплаты. Используйте значение 0, если срок оплаты приходится на конец периода платежа, или используйте значение 1, если срок оплаты приходится на начало этого периода. Если данный аргумент опущен, то подразумевается, что он равен 0.

Замечания

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

Аргументыrate и nper должны вычисляться с использованием периодов оплаты, выраженных в одних и том же единицах. Например, если аргумент rate рассчитывается на основе месяцев, nper также должен рассчитывается с использованием месяцев.

Для всех аргументов выплачиваемые денежные средства (например, вклады в сбережения) представлены отрицательными числами; получаемые денежные средства (например, чеки на получение дивидендов) представлены положительными числами.

Пример

В этом примере используется функция 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 new line.
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

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.