Vráti hodnotu typu Double, ktorá určuje odpis majetku za určité časové obdobie pomocou metódy dvojnásobne rýchlejšie klesajúceho zostatku alebo inej určenej metódy.
Syntax
DDB(cena; zostatok; životnosť; obdobie* [; faktor] )
Syntax funkcie DDB má tieto argumenty:
| Argument | Popis |
|---|---|
| cena | Povinný argument. Dvojité zadanie počiatočnej ceny položky aktív. |
| zostatková hodnota | Povinný argument. Dvojité zadanie hodnoty majetku na konci jeho životnosti. |
| výdrž | Povinný argument. Dvojité zadanie dĺžky životnosti položky aktív. |
| bodka | Povinný argument. Hodnota typu Double určujúca obdobie, za ktoré sa vypočítava odpis majetku. |
| faktor | Voliteľný argument. Hodnota typu Variant, ktorá určuje mieru poklesu zostatku. Ak tento argument nezadáte, bude automaticky predpokladaná hodnota 2 (metóda dvojitého odpisovania). |
Poznámky:
Metóda dvojitého odpisovania z klesajúceho zostatku je metódou zrýchleného odpisovania. Odpis je najvyšší v prvom období a v nasledujúcich obdobiach klesá.
Argumenty životnosť a obdobie musia byť vyjadrené v rovnakých jednotkách. Napríklad, ak je život uvedený v mesiacoch, obdobie musí byť tiež uvedené v mesiacoch. Všetky argumenty musia byť kladné čísla.
Funkcia DDB používa na výpočet odpisu za dané obdobie nasledovný vzorec:
Odpisy / obdobie = ((vstupná cena – zostatok) * faktor) / životnosť
Príklad
Poznámka
Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.
V tomto príklade je funkcia DDB použitá na vrátenie odpisu majetku za zadané obdobie, ak sú uvedené počiatočné náklady (InitCost), zostatková hodnota na konci doby použiteľnosti majetku (SalvageVal), celková životnosť majetku v rokoch (LifeTime) a obdobie v rokoch, za ktoré sa vypočítava odpis (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) & "."