Връща стойност от тип Double, която задава амортизацията на актив за конкретен период от време, като използва метода за баланс с двойно намаление или някои друг зададен от вас метод.
Синтаксис
DD (стойност; ликвидационна_стойност; живот; период* [; коефициент] )
Синтаксисът на функцията DDB има следните аргументи:
| Аргумент | Описание |
|---|---|
| разходи | Задължително. Число с двойна точност, показващо началната стойност на актива. |
| Ликвидационен план | Задължително. Указващо с двойна стойност на актива в края на полезния му живот. |
| живот | Задължително. Двойно задаване на продължителността на полезния живот на актива. |
| период | Задължително. Double , задаващ периода, за който се изчислява амортизацията на актива. |
| "коефициент" | Незадължително. Стойност от тип вариант, указваща скоростта, с която балансът намалява. Ако не е въведена стойност, се приема 2 (метод с двойно намаление). |
Забележки
Методът за баланс с двойно намаление изчислява амортизацията с променлива норма. Амортизацията е най-висока в първия период и намалява през следващите периоди.
Аргументите за живот и период трябва да бъдат изразени в едни и същи единици. Например, ако животът е даден в месеци, периодът също трябва да се даде в месеци. Всички аргументи трябва да са положителни числа.
Функцията DDB използва следната формула,за да изчисли амортизацията за даден период:
Амортизация / период = ((стойност – ликвидационна) * коефициент) / живот
Пример
Забележка
Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (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) & "."