Visual Basic, .NET, ASP, VBA, VBScript
 
  Справочники  
  Справочник по Windows API Справочник по Visual Basic  
     
  Функция PPmt  
 

Функция

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 использует именованные аргументы. Функция подходит для расчета выплат по закладной (например за дом) или итогов накоплений при ежемесячных банковских взносах. Аргументы 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 'режим платежей

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

 
     
  VBNet online (всего: 52050)  
 

Логин:

Пароль:

Регистрация, забыли пароль?


В чате сейчас человек
 
     
  VBNet рекомендует  
   
     
  Лучшие материалы  
 
ActiveX контролы (112)
Hitman74_Library (36119)
WindowsXPControls (20739)
FlexGridPlus (19374)
DSMAniGifControl (18295)
FreeButton (15157)
Примеры кода (546)
Parol (18027)
Passworder (9299)
Screen saver (7654)
Kerish AI (5817)
Folder_L (5768)
Статьи по VB (136)
Мое второе впечатление... (11236)
VB .NET: дорога в будущее (11161)
Основы SQL (9225)
Сообщения Windows в Vi... (8788)
Классовая теория прогр... (8619)
 
     
Техническая поддержка MTW-хостинг | © Copyright 2002-2011 VBNet.RU | Пишите нам