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