Возвращает значение амортизации актива за указанный период (в виде числа 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) & "."