Функция Pmt

Обновлен: Ноябрь 2007

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

Function Pmt( _
   ByVal Rate As Double, _
   ByVal NPer As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double

Параметры

  • Rate
    Обязательный. Double определяет процентную ставку за период. Например, при взятии ссуды на автомобиль под годовую процентную ставку (APR) размером 10% с ежемесячными выплатами ставка за период будет равна 0,1/12 или 0,0083.

  • NPer
    Обязательный.Double задает общее количество периодов платежей аннуитета. Например, при ежемесячных выплатах ссуды за автомобиль на протяжении 4 лет общее количество периодов выплат будет равно 4 x 12 (или 48).

  • PV
    Обязательный. Double задает текущую (нынешнюю) стоимость платежей, которые должны быть уплачены в будущем. Например, если для покупки автомобиля взят заем, то эта сумма представляет собой текущее значение предстоящих ежемесячных платежей за автомобиль.

  • FV
    Необязательный. Double задает требуемую будущую сумму или баланс наличности после уплаты последнего платежа. Например, будущее значение ссуды равно $0, поскольку такова будет ее величина после последней выплаты. Однако если требуется собрать за 18 лет сумму в $50 000 на образование детям, то будущая сумма будет равна $50 000. Если этот аргумент опущен, используется значение 0.

  • Due
    Необязательный. Объект типа Перечисление DueDate, указывающий время выплат. Этот аргумент должен быть либо DueDate.EndOfPeriod, если выплаты должны производиться в конце периода, или DueDate.BegOfPeriod в случае оплаты в начале периода. Если этот аргумент опущен, используется DueDate.EndOfPeriod.

Исключения

Тип исключения

Номер ошибки

Условие

ArgumentException

5

NPer = 0.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует заменять такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.

Заметки

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

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

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

Пример

В этом примере функция Pmt используется для возврата ежемесячного платежа по ссуде за определенный период. Заданными являются процентная ставка за период (APR / 12), общее число платежей (TotPmts), текущая или основная величина ссуды (PVal), будущее значение ссуды (FVal) и число, определяющее, когда — в начале или в конце периода — будет производиться платеж ((PayType).).

Sub TestPMT()
    Dim PVal, APR, Payment, TotPmts As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' Define money format.
    Dim Fmt As String = "###,###,##0.00"
    ' Usually 0 for a loan.
    Dim FVal As Double = 0
    PVal = CDbl(InputBox("How much do you want to borrow?"))
    APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
    If APR > 1 Then APR = APR / 100 ' Ensure proper form.
    TotPmts = CDbl(InputBox("How many monthly payments will you make?"))
    Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    Payment = Pmt(APR / 12, TotPmts, -PVal, FVal, PayType)

    MsgBox("Your payment will be " & Format(Payment, Fmt) & " per month.")
End Sub

Требования

Пространство имен:Microsoft.VisualBasic

**Модуль:**Financial

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Ссылки

Сводка по финансовым функциям

ArgumentException