Returnerar ett värde av datatypen Double som anger en tillgångs värdeminskning under en viss tidsperiod med hjälp av dubbel degressiv avskrivning eller någon annan metod som du anger.
Syntax
DEGAVSKR(kostnad; restvärde; livslängd; period* [, faktor] )
Syntaxen för funktionen DEGAVSKR har följande argument:
| Argument | Beskrivning |
|---|---|
| Kostnad | Obligatoriskt. Double anger initialkostnaden för tillgången. |
| Bärgning | Obligatoriskt. Double anger värdet för tillgången i slutet av dess livslängd. |
| Liv | Obligatoriskt. Double anger längden på tillgångens livslängd. |
| Punkt slut | Obligatoriskt. Double anger den period som tillgångsavskrivningen beräknas för. |
| faktor | Valfritt. Variant som anger hur snabbt tillgången avskrivs. Om argumentet utelämnas används 2 (dubbel 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 livslängd och period måste uttryckas i samma enhet. Om t.ex. livet anges i månader, måste mens också anges i månader. Alla argument måste vara positiva tal.
I funktionen DEGAVSKR används 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 DEGAVSKR för att returnera avskrivningen för en tillgång under en angiven period givet den initiala kostnaden (InitCost), restvärdet i slutet av tillgångens livslängd (SalvageVal), tillgångens totala livslängd i år (LifeTime) och perioden i år för vilken 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) & "."