הפונקציה DDB

חל על
Access של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

החזרת נתון מסוג 'כפול' המציין את הפחת של נכס עבור פרק זמן ספציפי באמצעות שיטת היתרה הפוחתת הכפולה או כל שיטה אחרת שתציין.

תחביר

DDB(cost, salvage, life, period* [, factor] )

תחביר הפונקציה DDB מכיל את הארגומנטים הבאים:

ארגומנט תיאור
עלות נדרש. Double המציין את העלות ההתחלתית של הנכס.
להציל נדרש. Double מציין את ערך הנכס בסוף חייו השימושים.
החיים נדרש. Double המציין את אורך החיים השימושי של הנכס.
תקופת נדרש. Double המציין תקופה שעבורה מחושב פחת נכס.
גורם אופציונלי. משתנה המציין שיעור שבו היתרה תדחה. אם הוא מושמט, ההנחה היא ש- 2 (פעולת שירות הפוחתת הכפולה).

    

הערות

בשיטת היתרה הפוחתת הכפולה מחשבים את הפחת בקצב מואץ. הפחת הגבוה ביותר מתרחש בתקופה הראשונה, וקצב הירידה פוחת והולך בתקופות הבאות.

יש לבטאאת הארגומנטים של החיים והתקופה באותן יחידות. לדוגמה, אם החיים נתונה בחודשים, יש לתון תקופה גם בחודשים. כל הארגומנטים חייבים להיות מספרים חיוביים.

הפונקציה DDB משתמשת בנוסחה הבאה לחישוב הפחת עבור תקופה נתונה:

פחת / נקודה = ((costsalvage) * factor) / life

דוגמה

הערה

הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications‏ (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.

דוגמה זו משתמשת בפונקציה DDB כדי להחזיר את הפחת של נכס עבור תקופה שצוינה בהינתן העלות ההתחלתית (InitCost), ערך התשואה בסוף החיים השימושיים של הנכס (), חיי הנכס הכוללים בשנים (SalvageValLifeTime) והתקופה בשנים שעבורה מחושבת הפחת (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) & "."