Returnerar ett värde avskrivningsvärde för en tillgång under en viss tidsperiod med dubbel degressiv avskrivning eller någon annan metod som du anger.
Syntax
DDB( kostnad; restvärde; livslängd; period [; faktor] )
Syntaxen för funktionen DDB har följande argument:
|
Argument |
Beskrivning |
|
kostnad |
Obligatoriskt. Double (Dubbel ) anger initialkostnaden för tillgången. |
|
Bärgning |
Obligatoriskt. Double (Dubbel ) anger tillgångens värde i slutet av dess livslängd. |
|
tid |
Obligatoriskt. Double (Dubbel ) anger tillgångens livslängd. |
|
Period |
Obligatoriskt. Double (Dubbel ) anger den period som tillgångens avskrivning beräknas för. |
|
Faktor |
Valfritt. Variant som anger hur mycket saldot minskar. Om argumentet utelämnas används 2 (dubbel degressiv degressiv metod). |
Kommentarer
Metoden med dubbel degressiv avskrivning beräknar en avskrivning som är störst under den första perioden och minskar successivt under följande perioder.
Argumenten för livslängd och period måste uttryckas i samma enheter. Om till exempel liv ges i månader måste perioden också ges i månader. Alla argument måste vara positiva tal.
Funktionen DDB använder följande formel för att beräkna avskrivningen för en viss period:
Avskrivning/ period = ((kostnad – restvärde) * faktor) / livslängd
Exempel
Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I det här exemplet används funktionen DDB för att returnera avskrivningen för en tillgång under en angiven period givet initialkostnaden (InitCost), restvärdet i slutet av tillgångens livslängd (SalvageVal), tillgångens totala livslängd i år (LifeTime) och perioden i år då avskrivningen beräknas (Depr).
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, DeprConst 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?")LoopLifeTime = 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.")LoopDepr = DDB(InitCost, SalvageVal, LifeTime, DepYear)MsgBox "The depreciation for year " & DepYear & " is " & _Format(Depr, Fmt) & "."