הפונקציה DDB

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

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

תחביר

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

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

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

    

הערות

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

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

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

פחת / תקופה = ((costsalvage) * 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) & "."