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