Vráti hodnotu typu Double, ktorá určuje odpis majetku za konkrétne časové obdobie pomocou metódy dvojnásobného odpisovania z klesajúceho zostatku alebo inej zadanej metódy.
Syntax
DDB( cena; zostatok; životnosť; obdobie [; faktor] )
Syntax funkcie DDB obsahuje tieto argumenty:
Argument |
Popis |
náklady |
Povinný argument. Dvojnásobok určujúci počiatočné náklady na majetok. |
Zachrániť |
Povinný argument. Dvojnásobok určujúci hodnotu majetku na konci jeho životnosti. |
výdrž |
Povinný argument. Double určujúce dĺžku doby použiteľnosti majetku. |
Obdobie |
Povinný argument. Double určujúce obdobie, za ktoré sa vypočíta odpisovanie majetku. |
Faktor |
Voliteľný argument. Variant určujúci mieru poklesu zostatku. Ak sa vynechá, predpokladá sa hodnota 2 (dvojnásobná klesajúca metóda). |
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. Ak je napríklad životnosť daná v mesiacoch, obdobie sa musí uviesť aj v mesiacoch. Všetky argumenty musia byť kladné čísla.
Funkcia DDB používa na výpočet odpisu za dané obdobie nasledujúci vzorec:
Odpis/ obdobie = ((náklady – 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 vzhľadom na počiatočné náklady (InitCost), zostatkovú hodnotu na konci životnosti majetku (SalvageVal), celkovú životnosť majetku v rokoch (LifeTime) a obdobie v rokoch, pre ktoré sa vypočíta 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) & "."