Функция DDB

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Возвращает значение амортизации актива за указанный период (в виде числа Double), используя метод двойного уменьшения остатка или иной явно указанный метод.

Синтаксис

DDB(cost, salvage, life, period* [, factor] )

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

Аргумент Описание
Стоимость Обязательный аргумент. Значение типа Double, выражающее первоначальную стоимость актива.
ост_стоимость Обязательный аргумент. Значение типа Double, выражающее стоимость актива по истечении срока службы.
время_эксплуатации Обязательный аргумент. Значение типа Double, выражающее срок службы актива.
период Обязательный аргумент. Значение Double, указывающее период, для которого вычисляется амортизация.
коэффициент Необязательный аргумент. Значение Variant, обозначающее коэффициент уменьшения остатка. Если этот аргумент опущен, предполагается значение 2 (метод двойного уменьшения остатка).

    

Замечания

Метод двойного уменьшения остатка вычисляет амортизацию, используя увеличенный коэффициент. Амортизация является максимальной в первый период и уменьшается в последующие.

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

Функция DDB вычисляет амортизацию за указанный период по следующей формуле:

Амортизация / период = ((стоимостьспасение) * фактор) / срок жизни

Пример

Примечание

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

В этом примере функция DDB используется для возврата амортизации актива за указанный период с учетом начальной стоимости (InitCost), стоимости спасения в конце срока использования актива (SalvageVal), общего срока жизни актива в годах (LifeTime) и периода в годах, для которого рассчитывается амортизация (Depr).

Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, Depr
Const YRMOS = 12    ' Number of months in a year.
Fmt = "###,##0.00"
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("Enter the asset's value at end of its life.")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YRMOS    ' Ensure period is >= 1 year.
    MsgBox "Asset life must be a year or more."
    MonthLife = InputBox("What's the asset's useful life in months?")
Loop
LifeTime = MonthLife / YRMOS    ' Convert months to years.
If LifeTime <> Int(MonthLife / YRMOS) Then
    LifeTime = Int(LifeTime + 1)    ' Round up to nearest year.
End If 
DepYear = CInt(InputBox("Enter year for depreciation calculation."))
Do While DepYear < 1 Or DepYear > LifeTime
    MsgBox "You must enter at least 1 but not more than " & LifeTime
    DepYear = InputBox("Enter year for depreciation calculation.")
Loop
Depr = DDB(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & _
Format(Depr, Fmt) & "."