Trả về một giá trị kiểu Đúp xác định khấu hao của một tài sản cho một khoảng thời gian cụ thể bằng cách dùng phương pháp số dư giảm dần kép hoặc phương pháp khác do bạn chỉ định.
Cú pháp
DDB( cost, salvage, life, period [, factor] )
Cú pháp hàm DDB có các đối số sau đây:
Đối số |
Mô tả |
chi phí |
Bắt buộc. Xác định kép chi phí ban đầu của tài sản. |
Salvage |
Bắt buộc. Xác định kép giá trị của tài sản khi kết thúc vòng đời hữu ích của nó. |
thời lượng |
Bắt buộc. Xác định kép độ dài vòng đời hữu ích của tài sản. |
Thời gian |
Bắt buộc. Xác định kép kỳ khấu hao tài sản được tính toán. |
Yếu tố |
Không bắt buộc. Biến thể xác định tỷ lệ mà tại đó số dư từ chối. Nếu bỏ qua, giả định là 2 (phương pháp giảm kép). |
Chú thích
Phương pháp số dư giảm dần kép tính khấu hao theo tỷ suất tăng dần. Khấu hao lớn nhất trong kỳ thứ nhất và giảm trong các kỳ kế tiếp.
Tham đối tuổi thọ và kỳ phải được thể hiện bằng cùng đơn vị. Ví dụ, nếu cuộc sống được cho theo tháng, thời gian cũng phải được cung cấp theo tháng. Tất cả các đối số phải là số dương.
Hàm DDB dùng công thức sau đây để tính toán khấu hao trong một kỳ đã cho:
Khấu hao / kỳ = ((cost – salvage) * factor) / life
Ví dụ
Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ này sử dụng hàm DDB để trả về khấu hao của tài sản trong một kỳ đã xác định, tính theo chi phí ban đầu (InitCost), giá trị thu lại khi kết thúc vòng đời hữu ích của tài sản (SalvageVal), tổng vòng đời của tài sản theo năm (LifeTime) và kỳ tính khấu hao (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) & "."