החזרת Double המציין את הפחת של נכס עבור תקופת זמן מסוימת באמצעות שיטת היתרה הפוחתת הכפולה או כל שיטה אחרת שתציין.
תחביר
DDB(cost, salvage, life, period* [, factor] )
תחביר הפונקציה DDB מכיל את הארגומנטים הבאים:
| ארגומנט | תיאור |
|---|---|
| עלות | נדרש. Double המציין את העלות ההתחלתית של הנכס. |
| חילוץ | נדרש. כפול המציין את ערך הנכס בתום חייו האפקטיביים. |
| חיים ; life | נדרש. כפול המציין את אורך החיים השימושי של הנכס. |
| נקודה | נדרש. תקופה מציינת כפולה שעבורה מחושב פחת הנכסים. |
| גורם | אופציונלי. משתנה המציין את השיעור שבו תפחת היתרה. אם הוא מושמט, מניחים כי 2 (שיטת דחייה כפולה). |
הערות
בשיטת היתרה הפוחתת הכפולה מחשבים את הפחת בקצב מואץ. הפחת הגבוה ביותר מתרחש בתקופה הראשונה, וקצב הירידה פוחת והולך בתקופות הבאות.
הארגומנטים life ו - period חייבים להיות מבוטאים באותן יחידות. לדוגמה, אם החיים ניתנים בחודשים, התקופה חייבת להינתן גם בחודשים. כל הארגומנטים חייבים להיות מספרים חיוביים.
הפונקציה DDB משתמשת בנוסחה הבאה לחישוב פחת עבור תקופה נתונה:
פחת / תקופה = ((cost – salvage) * factor) / life
דוגמה
הערה
הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.
דוגמה זו משתמשת בפונקציה DDB כדי להחזיר את הפחת של נכס עבור תקופה שצוינה בהינתן העלות ההתחלתית (InitCost), ערך הניצולת בתום החיים האפקטיביים של הנכס (SalvageVal), אורך החיים הכולל של הנכס בשנים (LifeTime) והתקופה בשנים שעבורה מחושב הפחת (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) & "."