DDB 함수

업데이트: 2007년 11월

이중 체감 잔액법 또는 다른 방법을 사용하여 특정 기간의 자산에 대한 감가상각을 Double 형식으로 반환합니다.

Function DDB( _
ByVal Cost As Double, _
ByVal Salvage As Double, _
ByVal Life As Double, _
ByVal Period As Double, _
Optional ByVal Factor As Double = 2.0 _
) As Double

매개 변수

  • Cost
    필수적 요소. 초기 자산 비용을 지정하는 Double 형식입니다.

  • Salvage
    필수적 요소. 내용 연수 마지막의 자산 값을 지정하는 Double 형식입니다.

  • Life
    필수적 요소. 자산의 내용 연수 길이를 지정하는 Double 형식입니다.

  • Period
    필수적 요소. 자산 감가상각이 계산되는 기간을 지정하는 Double 형식입니다.

  • Factor
    선택적 요소. 잔액 감소 비율을 지정하는 Double 형식입니다. 생략하면 2(이중 체감 잔액법)로 간주됩니다.

예외

예외 형식

오류 번호

조건

ArgumentException

5

Factor가 0보다 작거나 같거나, Salvage가 0보다 작거나, Period가 0보다 작거나 같거나, Period가 Life보다 큽니다.

비구조적 오류 처리를 사용하는 Visual Basic 6.0 응용 프로그램을 업그레이드하는 경우에는 "오류 번호" 열을 참조하십시오. 오류 번호를 Number 속성(Err 개체)과 비교할 수 있습니다. 그러나 가능하면 이러한 오류 제어 방법을 Visual Basic의 구조적 예외 처리 개요에 설명된 방식으로 바꾸는 것이 좋습니다.

설명

이중 체감 잔액법은 가속화된 비율로 감가상각을 계산합니다. 감가상각은 최초의 기간에서 가장 높고 그 다음 기간부터는 연속적으로 감소합니다.

Life 인수와 Period 인수는 같은 단위로 표시해야 합니다. 예를 들어, Life의 단위가 월이면 Period의 단위도 월이어야 합니다. 모든 인수는 양수여야 합니다.

DDB 함수는 다음과 같은 공식을 사용하여 지정된 기간의 감가상각을 계산합니다.

Depreciation / Period = ((Cost – Salvage) * Factor) / Life

예제

다음 예제에서는 DDB 함수에 초기 자산 비용(InitCost), 자산의 내용 연수 종료 시점의 salvage 값(SalvageVal), 연 단위 자산의 총 수명(LifeTime), 연 단위 감가상각이 계산되는 기간(Depr)을 지정하여 특정 기간에 대한 감가상각을 반환합니다.

Dim InitCost, SalvageVal, LifeTime, DepYear As Double
Dim Fmt As String = "###,##0.00"

InitCost = CDbl(InputBox("What's the initial cost of the asset?"))
SalvageVal = CDbl(InputBox("Enter the asset's value at end of its life."))
LifeTime = CDbl(InputBox("What's the asset's useful life in years?"))

' Use the SLN function to calculate the deprecation per year.
Dim SlnDepr As Double = SLN(InitCost, SalvageVal, LifeTime)
Dim msg As String = "The depreciation per year: " & Format(SlnDepr, Fmt)
msg &= vbCrLf & "Year" & vbTab & "Linear" & vbTab & "Doubling" & vbCrLf

' Use the SYD and DDB functions to calculate the deprecation for each year.
For DepYear = 1 To LifeTime
    msg &= DepYear & vbTab & _
        Format(SYD(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbTab & _
        Format(DDB(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbCrLf
Next
MsgBox(msg)

요구 사항

네임스페이스:Microsoft.VisualBasic

**모듈:**Financial

**어셈블리:**Visual Basic 런타임 라이브러리(Microsoft.VisualBasic.dll)

참고 항목

참조

SLN 함수

SYD 함수

회계 요약

ArgumentException