Returnează o valoare Dublă precizie care specifică amortizarea unui mijloc fix pentru o anumită perioadă de timp, utilizând metoda balanței dublu descrescătoare sau altă metodă specificată.
Sintaxă
DDB( cost, recuperat, durată, perioadă [, factor] )
Sintaxa funcției DDB are următoarele argumente:
Argument |
Descriere |
cost |
Obligatoriu. Dublă precizie specificând costul inițial al mijlocului fix. |
Salvare |
Obligatoriu. Dublă precizie specificând valoarea mijlocului fix la sfârșitul duratei sale de utilizare. |
durată |
Obligatoriu. Double specificând durata de utilizare a mijlocului fix. |
Perioada |
Obligatoriu. Dublă precizie specifică perioada pentru care se calculează amortizarea mijlocului fix. |
Factor |
Opțional. Variant care specifică rata de descreștere a soldului. Dacă se omite, se consideră 2 (metodă dublu descrescătoare). |
Observații
Metoda balanței dublu-regresive calculează amortizarea cu o rată accelerată. Amortizarea este mare în prima perioadă și descrește în timp.
Argumentele viață și perioadă trebuie exprimate în aceleași unități. De exemplu, dacă durata de viață este exprimată în luni, perioada trebuie să fie dată și în luni. Toate argumentele trebuie să fie numere pozitive.
Funcția DDB utilizează următoarea formulă pentru a calcula amortizarea pentru o perioadă dată:
Amortizare / perioadă = ((cost – recuperat) * factor) / durată
Exemplu
Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.
Acest exemplu utilizează funcția DDB pentru a returna amortizarea unui mijloc fix pentru o perioadă specificată, dată fiind costul inițial (InitCost), valoarea reziduală la sfârșitul duratei de utilizare a mijlocului fix (SalvageVal), durata totală a mijlocului fix în ani (LifeTime) și perioada în ani pentru care se calculează amortizarea (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) & "."