Возвращает значение амортизации актива за указанный период (в виде числа Double), используя метод двойного уменьшения остатка или иной явно указанный метод.
Синтаксис
DDB( нач_стоимость;ост_стоимость;время_эксплуатации;период ;[коэффициент])
Функция 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) & "."