이중 체감법이나 사용자가 지정한 다른 방법을 사용하여 특정 기간 동안 자산의 감가 상각을 지정하는 Double을 반환합니다.
구문
DDB(cost, salvage, life, period* [, factor] )
DDB 함수 구문에는 다음과 같은 인수가 있습니다.
| 인수 | 설명 |
|---|---|
| 비용 | 필수 요소입니다. 자산의 초기 비용을 지정하는 Double. |
| 인양 | 필수 요소입니다. Double 유효 수명 종료 시 자산의 가치를 지정합니다. |
| 생활 | 필수 요소입니다. Double: 자산의 유효 수명을 지정합니다. |
| 기간 | 필수 요소입니다. Double: 자산 감가 상각이 계산되는 기간을 지정합니다. |
| 요인 | 선택 요소입니다. 잔액이 감소하는 속도를 지정하는 변형입니다. 생략하면 2(이중 감소법)로 간주됩니다. |
주의
이중 체감법은 가속 상각법으로 감가 상각액을 계산합니다. 즉, 처음 기간의 감가 상각 비율이 가장 크고 다음 기간부터는 점점 작아집니다.
수명 및 기간 인수는 동일한 단위로 표현해야 합니다. 예를 들어, 생명이 월 단위로 주어진다면 기간 도 월 단위로 주어져야 합니다. 모든 인수는 양수여야 합니다.
DDB 함수는 다음 수식을 사용하여 일정 기간의 감가 상각액을 계산합니다.
감가상각 / 기간 = ((비용 – 잔존) * 계수) / 수명
예제
참고
VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. 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) & "."