Returnerer et dobbelt reelt tal, der angiver afskrivningen på et aktiv i et bestemt tidsrum ved brug af dobbeltsaldometoden eller en anden afskrivningsmetode, som du angiver.
Syntaks
DSA(omkostning, restværdi, levetid, periode* [, faktor] )
Syntaksen for funktionen DSA har disse argumenter:
| Argument | Beskrivelse |
|---|---|
| Koste | Påkrævet. Dobbelt angivelse af aktivets kostpris. |
| Bjærgning | Påkrævet. Dobbelt angivelse af aktivets værdi ved afslutningen af dets levetid. |
| Liv | Påkrævet. Dobbelt angiver aktivets levetid. |
| Periode | Påkrævet. Dobbelt angivelse af den periode, som aktivafskrivningen beregnes for. |
| faktor | Valgfrit. Variant angiver den sats, som saldoen falder med. Hvis den udelades, forudsættes 2 (dobbelt faldende metode). |
Bemærkninger
Dobbeltsaldometoden benyttes til beregning af hurtig afskrivning. Afskrivningen er størst i den første afskrivningsperiode og faldende i de efterfølgende perioder.
Argumenterne levetid og periode skal udtrykkes i de samme enheder. Hvis liv f.eks. er angivet i måneder, skal perioden også angives i måneder. Alle argumenter skal være positive tal.
Funktionen DSA bruger følgende formel til at beregne afskrivningen for en given periode:
Afskrivning/ periode = ((købspris – restværdi) * faktor) / levetid
Eksempel
Bemærk
Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.
I dette eksempel bruges funktionen DSA til at returnere afskrivningen på et aktiv i en bestemt periode under forudsætning af den oprindelige kostpris (InitCost), restværdien ved afskrivningens afslutning (SalvageVal), aktivets samlede levetid i år (LifeTime) og perioden i år, som afskrivningen beregnes for (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) & "."