Palauttaa Double-arvon, joka määrittää resurssin poiston tietylle ajanjaksolle käyttämällä double-declining balance -menetelmää tai jotakin muuta määrittämääsi menetelmää.
Syntaksi
DDB( kustannus, loppuarvo, elinaika, kausi [, kerroin] )
DDB-funktion syntaksissa on seuraavat argumentit:
Argumentti |
Kuvaus |
kustannus |
Pakollinen. Kaksinkertainen , joka määrittää resurssin alkukustannukset. |
Pelastaa |
Pakollinen. Kaksinkertainen , joka määrittää resurssin arvon sen käyttöiän lopussa. |
kesto |
Pakollinen. Kaksinkertainen , joka määrittää käyttöomaisuuden käyttöiän pituuden. |
kausi |
Pakollinen. Kaksinkertainen , joka määrittää kauden, jolle käyttöomaisuuden poisto lasketaan. |
Tekijä |
Valinnainen. Muuttuja, joka määrittää kurssin, jolla saldo laskee. Jos se jätetään pois, oletusarvona on 2 (double-declining method). |
Huomautuksia
DDB laskee poistot degressiivisesti. Tällöin poisto on suurin ensimmäisellä kaudella ja pienenee seuraavilla kausilla.
Elinkaari - ja kausiargumentit on ilmaistava samoissa yksiköissä. Jos esimerkiksi elämä annetaan kuukausina, piste on annettava myös kuukausina. Kaikkien argumenttien on oltava positiivisia lukuja.
DDB-funktio laskee poiston tietyltä ajanjaksolta 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-funktiota käytetään palauttamaan sijoituksen poisto tietyltä ajanjaksolta, kun otetaan huomioon alkuperäiset kustannukset (InitCost), sijoituksen käyttöiän lopussa oleva jäännösarvo (SalvageVal), sijoituksen kokonaiskesto vuosina (LifeTime) ja kausi vuosina, joilta 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) & "."