Vrátí hodnotu typu Double určující odpis aktiva pro určité časové období pomocí dvojité degresní metody zůstatku nebo jiné metody, kterou zadáte.
Syntaxe
DDB( náklady, zůstatky, životnost, období [, faktor] )
Syntaxe funkce DDB má tyto argumenty:
Argument |
Popis |
Náklady |
Povinný argument. Double určující počáteční náklady na aktivum. |
Zachránit |
Povinný argument. Double určující hodnotu aktiva na konci jeho životnosti. |
výdrž |
Povinný argument. Double určující délku životnosti aktiva. |
Období |
Povinný argument. Double určující období, pro které se počítá odpis majetku. |
Faktor |
Nepovinný argument. Varianta určující sazbu, s jakou se zůstatek odmítne. Pokud je vynechán, předpokládá se hodnota 2 (metoda dvojitého degresování). |
Poznámky
Dvojitá degresivní metoda odpisu počítá odpis při degresivní sazbě. Odpis je nejvyšší v prvním období a v dalších obdobích se snižuje.
Argumenty životnosti a tečky musí být vyjádřeny ve stejných jednotkách. Pokud je například životnost uvedena v měsících, musí být období také uvedeno v měsících. Všechny argumenty musí být kladná čísla.
Funkce DDB používá k výpočtu odpisů za dané období následující vzorec:
Odpisy / období = ((náklady – zůstatky) * faktor) / životnost
Příklad
Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.
V tomto příkladu se funkce DDB používá k vrácení odpisů aktiva za zadané období vzhledem k počátečním nákladům (InitCost), zůstatkové hodnotě na konci životnosti aktiva (SalvageVal), celkové životnosti aktiva v letech (LifeTime) a období v letech, pro které se odpis počítá (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) & "."