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, 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) & "."