Trả về một Double, xác định khấu hao của tài sản trong một khoảng thời gian cụ thể bằng cách dùng phương pháp giảm dần kép hoặc một số 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:
| Đối số | Mô tả |
|---|---|
| chi phí | Bắt buộc. Đúp xác định chi phí ban đầu cho tài sản. |
| Trục vớt | Bắt buộc. Xác định kép giá trị của tài sản khi kết thúc thời gian hữu ích. |
| cuộc sống | Bắt buộc. Gấp đôi khi xác định độ dài tuổi thọ hữu ích của tài sản. |
| Dấu chấm | Bắt buộc. Kép, xác định kỳ mà tính khấu hao tài sản. |
| Yếu tố | Không bắt buộc. Biến_thể xác định tỷ lệ mà số dư giảm. 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.
Các tham đối tuổi thọ và chu kỳ phải được biểu thị bằng cùng một đơn vị. Ví dụ, nếu tuổi thọ được tính bằng tháng, thì kỳ hạn cũng phải được tính bằng 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ỳ = ((chi phí – thu hồi) * hệ số) / tuổi thọ
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 một tài sản trong một kỳ đã xác định, nếu biết chi phí ban đầu (),InitCost giá trị thu hồi khi kết thúc thời gian hữu ích của tài sản (),SalvageVal tổng vòng đời của tài sản tính theo năm ()LifeTime và kỳ tính khấu hao tính bằng năm ().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) & "."