Функция Rate

Отнася се за
Access за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Синтаксис

Rate (периоди, плащ;настояща_стойност [, бъдеща _стойност] [, тип ] [, предположение ] )

Синтаксисът на функцията Rate има следните аргументи:

Аргумент Описание
периоди Задължително. Число с двойна точност, показващо общия брой периоди на плащане в анюитета. Ако например плащате месечни вноски по четиригодишен заем за кола, вашият заем ще има общо 4*12 (или 48) периода на плащане.
плащане Задължителен. Число с двойна точност, показващо плащането, което ще се извършва във всеки период. Плащанията обикновено имат главница и лихва, които не се променят за времето на анюитета.
фотообект Задължително. Двойно указване на настоящата стойност или стойността днес на последователност от бъдещи плащания или вземания. Например когато вземете пари назаем, за да закупите кола, размерът на заема е настоящата стойност за заемодателя на месечните вноски за колата, които ще правите.
бъдеща_стойност Незадължително. Стойност от тип вариант, показваща бъдещата стойност или паричната наличност, която искате, след като направите последното плащане. Например бъдещата стойност на заема е 0 лв., защото това е стойността му след последното плащане. Ако обаче искате да спестите 50 000 лв. за период от 18 години за образование на вашето дете, тогава бъдещата стойност е 50 000 лв. Ако не е въведена стойност, тя се приема за 0.
тип Незадължително. Стойност от тип вариант, показваща число, показващо кога са дължими плащанията. Използвайте 0, ако плащанията са дължими в края на периода за плащане, или 1, ако плащанията са дължими в началото на периода. Ако не е въведена стойност, тя се приема за 0.
предположение Незадължително. Стойност от тип вариант, указваща стойността, която очаквате, ще бъде върната по ставка. Ако предположение се пропусне, предположение е 0.1 (10 процента).

Забележки

Анюитетът е серия от фиксирани плащания, извършвани през определен период от време. Анюитетът може да бъде заем (например ипотека на апартамент) или инвестиция (например план за месечните спестявания).

За всички аргументи сумите, които сте платили (например депозитни вноски), са представени с отрицателни числа, а сумите, които сте получили (например дивиденти), са представени с положителни числа.

Лихвата се изчислява чрез итерация. Започвайки със стойността на предположението, Rate повтаря циклично изчислението, докато резултатът достигне точност с точност от 0,00001 процента. Ако Rate не може да намери резултат след 20 опита, сумата е неуспешна. Ако вашето предположение е 10 процента и Rate е неуспешно, опитайте с друга стойност за предположение.

Пример за заявка

Израз Резултати
SELECT FinancialSample.*, (Rate([TermInYears]*12;-[MonthlyRePayment],[LoanAmount],0,0,0.1)*12) AS RatesFrom FinancialSample; Връща всички полета от таблицата "FinancialSample" и годишната лихва "TermInYears", "MonthlyRepayment" и "LoanAmount" и показва резултатите в колоната InterestRate.

Пример на VBA

Забележка

Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

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

Dim Fmt, FVal, Guess, PVal
Dim 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 = ENDPERIOD
End If
APR = (Rate(TotPmts, -Payment, PVal, _
      FVal, PayType, Guess) * 12) * 100
MsgBox "Your interest rate is " & _
    Format(CInt(APR), Fmt) & " percent."