|
Функция PPmt | | Синтаксис PPmt(rate, per, nper, pv[, fv[, type]]) | Возвращает значение типа Double, указывающее часть периодического платежа, приходящуюся на выплату собственно займа. Предполагается, что выплаты делаются регулярно, а сумма выплат и учетная ставка остаются постоянными. | Параметры Наименование | Описание | Rate | Обязательный. Выражение типа Double, указывающее учетную ставку за период. Например, при выплате займа на приобретение автомобиля из расчета 10 процентов годовых, ежемесячная ставка составит 0 1/12, т.е. 0,0083.
| Per | Обязательный. Выражение типа Integer, указывающее число периодов (выплат) в диапазоне от 1 до nper.
| NPer | Обязательный. Выражение типа Integer, указывающее полное число периодов (выплат) за рассматриваемый срок. Например, если заем на приобретение автомобиля взят на четыре года, число месячных периодов (количество выплат) составит 4 * 12 (48).
| Pv | Обязательный. Выражение типа Double, указывающее величину суммы на текущий момент. Например, при займе на покупку автомобиля, сумма займа является текущим значением при расчете будущих платежей.
| Fv | Необязательный. Выражение типа Variant, указывающее результат, который должен быть достигнут по завершении выплат. Для займа это, очевидно, нулевое значение (заем должен быть погашен). Если же вы копите деньги на обучение ребенка, а всего накопить следует 50 000 долларов за 18 лет, то результатом является сумма в 50000 долларов. Если этот аргумент опущен, подразумевается значение 0.
| Type | Необязательный. Выражение типа Variant, указывающее режим выплат. Значение 0 означает, что платежи вносятся в конце каждого периода, а значение 1, что они вносятся в начале каждого периода. Если этот аргумент опущен, подразумевается значение 0. |
| Замечания | Пример использования 'в данном примере используется функция 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 'режим платежей
NL = Chr(13) & Chr(10) 'новая строка
TB = Chr(9) 'табуляция
Fmt = "###,###,##0.00" 'денежный формат
FVal = 0 'для займа обычно 0
PVal = InputBox("Каков объем займа?")
APR = InputBox("Какова годовая учетная ставка?")
If APR > 1 Then APR = APR / 100 'правильная форма
TotPmts = InputBox("Каково число ежемесячных выплат?")
PayType = MsgBox("Выплаты производятся в конце месяца?", vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
Payment = Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Общий объем платежа составляет " & Format(Payment, Fmt) & ". "
Msg = Msg & "Выдать раскладку по выплате собственно займа "
Msg = Msg & "и процентов?"
MakeChart = MsgBox(Msg, vbYesNo) 'нужна ли раскладка
If MakeChart <> vbNo Then
If TotPmts > 12 Then MsgBox "Сведения только за первый год."
Msg = "Месяц Взнос Осн.часть Проценты" & NL
For Period = 1 To TotPmts
If Period > 12 Then Exit For 'только первые
12
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
P = (Int((P + .005) * 100) / 100) 'округляет
I = Payment - P
I = (Int((I + .005) * 100) / 100)
'округляет проценты
Msg = Msg & Period & TB &
Format(Payment, Fmt)
Msg = Msg & TB & Format(P, Fmt) & TB &
Format(I, Fmt) & NL
Next Period
MsgBox Msg 'выводит таблицу
End If | Дополнительная информация Категория: Тригонометрические и финансовые функции Еще функции: Atn, Cos, DDB, FV, IPmt, IRR, Log, MIRR, NPer, NPV, Pmt, PPmt, PV, Rate, Sin, SLN, SYD, Tan |
|
|