Функция NPer

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

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

Function NPer( _
   ByVal Rate As Double, _
   ByVal Pmt 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.

  • Pmt
    Обязательно.Double, определяющий платеж за каждый период. Обычно платежи содержат основную сумму и проценты, которые не изменяются на протяжении периода действия аннуитета.

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

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

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

Исключения

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

Номер ошибки

Условие

ArgumentException

5

Rate <= -1.

ArgumentException

5

Rate = 0 и Pmt = 0

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

Заметки

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

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

Пример

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

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

    ' 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?"))
    ' Usually 0 for a loan.
    If APR > 1 Then APR = APR / 100
    Payment = CDbl(InputBox("How much do you want to pay each month?"))
    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
    TotPmts = NPer(APR / 12, -Payment, PVal, FVal, PayType)
    If Int(TotPmts) <> TotPmts Then TotPmts = Int(TotPmts) + 1

    MsgBox("It will take you " & TotPmts & " months to pay off your loan.")
End Sub

Требования

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

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

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

См. также

Ссылки

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

ArgumentException