إرجاع مزدوج يحدد إهلاك أحد الأصول لفترة زمنية محددة باستخدام أسلوب الرصيد المتناقص المزدوج أو بعض الطرق الأخرى التي تحددها.
بناء الجملة
DDB( cost, salvage, life, period [, factor] )
يحتوي بناء جملة الدالة DDB على هذه الوسيطات:
الوسيطة |
الوصف |
تكلفة |
مطلوبة. تحديد مزدوج للتكلفة الأولية للأصل. |
انقاذ |
مطلوبة. تحديد مزدوج لقيمة الأصل في نهاية عمره المفيد. |
عمر |
مطلوبة. تحديد مزدوج لطول العمر المفيد للأصل. |
الفتره |
مطلوبة. تحديد مزدوج لفترة حساب استهلاك الأصول. |
عامل |
اختيارية. متغير يحدد معدل انخفاض الرصيد. إذا تم حذفه، فسيتم افتراض 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) & "."