DDB 函数

注意:  我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的 英文版本 以便参考。

返回一个 Double 值,指定使用双倍余额递减法或其他指定的方法特定时间段内某项固定资产的折旧值。

语法

DDB ( 成本、 残、 生活、 期 [、 因素] )

DDB函数语法具有以下参数:

参数

说明

成本

必填。指定资产的初始成本。

资产残

必填。指定值末尾的年限资产。

生活

必填。指定长度的资产的生命周期。

时间段

必填。指定期间内资产被计算的折旧值。

系数

可选。Variant 值,指定的余额递减的速率。如果省略,则假定 2 (双倍余额递减法)。


注解

双倍余额法计算折旧加速比率。折旧是第一段时期内的最高,并在后续期间减少。

生命 时间段参数必须在相同的单位表示。例如,如果生活给定个月后,必须有个月内。所有参数必须都是正数。

DDB函数使用以下公式计算在给定期间内的折旧值:

折旧 /= ((成本-) *因素) /生活

示例

注意: 下面的示例说明使用此函数在 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) & "."
扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×