Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Синтаксис

Rate( кпер , плт, пс [, бс ] [, тип ] [, гипотеза ] )

Функция Rate имеет следующие аргументы:

Аргумент

Описание

кпер

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

плт

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

пс

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

бс

Необязательный аргумент. Значение Variant, обозначающее будущую стоимость (баланс), которой вы хотите достичь после последней выплаты. Например, будущая стоимость для займа равна 0 р., поскольку это значение останется после последней выплаты. Но если вы хотите накопить за 18 лет 50 000 $ на образование ребенка, будущая стоимость равна 50 000 $. Если этот аргумент не задан, используется значение 0.

тип

Необязательный аргумент. Значение Variant, определяющее, когда должна производиться выплата. Укажите значение 0, если платежи выплачиваются в конце периода оплаты, или 1, если они выплачиваются в начале периода. Если этот аргумент не задан, используется значение 0.

гипотеза

Необязательный аргумент. Значение Variant, которое указывает значение, которое предположительно будет возвращено функцией Rate. Если аргумент гипотеза опущен, используется значение 0,1 (10 %).

Замечания

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

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

Функция Rate вычисляется методом итераций. Начиная со значения гипотеза, функция Rate циклически повторяет вычисления, пока не будет достигнут результат с точностью 0,00001 процента. Если функции Rate не удалось получить такой результат после 20 попыток, вычисления прекращаются. Если с помощью функции Rate вычислить результат не удалось и для аргумента гипотеза используется значение 10 %, попробуйте изменить это значение.

Пример запроса

Expression

Результаты

SELECT FinancialSample.*, (Rate([TermInYears]*12,-[MonthlyRePayment],[LoanAmount],0,0.1)*12) AS InterestRate FROM FinancialSample;

Возвращает все поля из таблицы "FinancialSample" и годовую процентную ставку на основе "TermInYears", "MonthlyRePayment" и "LoanAmount" и отображает результаты в столбце Процентная ставка.

Пример VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере функция Rate используется для вычисления процентной ставки по кредиту с учетом общего количества платежей (TotPmts), суммы платежа по кредиту (Payment), приведенной стоимости кредита (PVal), будущей стоимости кредита (FVal), числа, определяющего, должен ли платеж производиться в начале или в конце периода (PayType), и предполагаемой процентной ставки (Guess).

Dim Fmt, FVal, Guess, PValDim Payment, TotPmts, PayType, APR' When payments are made.Const ENDPERIOD = 0, BEGINPERIOD = 1    Fmt = "##0.00"    ' Define percentage format.FVal = 0    ' Usually 0 for a loan.Guess = .1    ' Guess of 10 percent.PVal = InputBox("How much did you borrow?")Payment = InputBox("What's your monthly payment?")TotPmts = InputBox("How many monthly payments do " & _          "you have to make?")PayType = MsgBox("Do you make payments at the end " & _          "of the month?", vbYesNo)If PayType = vbNo Then     PayType = BEGINPERIOD     Else PayType = ENDPERIODEnd IfAPR = (Rate(TotPmts, -Payment, PVal, _      FVal, PayType, Guess) * 12) * 100MsgBox "Your interest rate is " & _    Format(CInt(APR), Fmt) & " percent."

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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