Palauttaa Double-arvon, joka määrittää omaisuuden poiston tietylle ajanjaksolle käyttäen DDB-menetelmää (Double-Declining Balance) tai jotakin muuta määrittämääsi menetelmää.
Syntaksi
DDB(kustannus; loppuarvo; aika; kausi* [, kerroin] )
DDB-funktion syntaksilla on seuraavat argumentit:
| Argumentti | Kuvaus |
|---|---|
| Kustannukset | Pakollinen. Double määrittää resurssin alkuperäisen hankintamennon. |
| Pelastus | Pakollinen. Kaksinkertainen sijoituksen arvo sen käyttöiän lopussa. |
| elämä | Pakollinen. Double määrittää investoinnin käyttöiän pituuden. |
| Kausi | Pakollinen. Double-arvo , joka määrittää kauden, jolle omaisuuden poisto lasketaan. |
| tekijä | Valinnainen. Variantti, joka määrittää poiston laskunopeuden. Jos jätetään pois, oletusarvona on 2 (kaksinkertainen desponointimenetelmä). |
Huomautuksia
DDB laskee poistot degressiivisesti. Tällöin poisto on suurin ensimmäisellä kaudella ja pienenee seuraavilla kausilla.
Aika- ja kausiargumentit on ilmaistava samoissa yksiköissä. Jos esimerkiksi elämä ilmoitetaan kuukausina, myös aika on ilmoitettava kuukausina. Kaikkien argumenttien on oltava positiivisia lukuja.
DDB-funktio laskee poiston tietyn kauden poiston seuraavan kaavan avulla:
Poisto / kausi = ((kustannus – loppuarvo) * kerroin) / aika
Esimerkki
Huomautus
Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Tässä esimerkissä DDB-funktiolla palautetaan sijoituksen poisto tietyltä kaudelta, kun huomioidaan alkuperäinen hankintameno (),InitCost jäännösarvo sijoituksen taloudellisen vaikutusajan lopussa (SalvageVal), investoinnin koko käyttöikä vuosina (LifeTime) ja vuosikausi, jolle poisto lasketaan ().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) & "."