共用方式為


SYD 函數

會傳回 Double ,指定指定期間內資產的年總位數折舊。

語法

SYD (成本回收生命期間)

SYD 函式具有下列命名自變數

部分 描述
成本 此為必要動作。 精度浮點數指定資產的初始成本。
打撈 此為必要動作。 在資產的實用生命周期結束時,再次指定資產的值。
生命 此為必要動作。 精度浮點數指定資產使用年限的長度。
時期 此為必要動作。 精度浮點數指定要計算資產折舊的期間。

註解

lifeperiod自變數必須以相同的單位表示。 例如,如果 生命 週期是以月為單位, 則期間 也必須以月為單位。 所有自變數都必須是正數。

範例

這個範例會使用 SYD 函數傳回指定期間內資產的折舊,因為資產的初始成本 () InitCost 、資產實用生命週期 () SalvageVal 結束時的回收值,以及資產 LifeTime 年份 () 的總生命週期。 以年為單位計算折舊的期間為 PDepr

Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, DepYear, PDepr
Const YEARMONTHS = 12    ' Number of months in a year.
Fmt = "###,##0.00"    ' Define money format.
InitCost = InputBox("What's the initial cost of the asset?")
SalvageVal = InputBox("What's the asset's value at the end of its life?")
MonthLife = InputBox("What's the asset's useful life in months?")
Do While MonthLife < YEARMONTHS    ' 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 / YEARMONTHS    ' Convert months to years.
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
    LifeTime = Int(LifeTime + 1)    ' Round up to nearest year.
End If 
DepYear = CInt(InputBox("For which year do you want depreciation?"))
Do While DepYear < 1 Or DepYear > LifeTime
    MsgBox "You must enter at least 1 but not more than " & LifeTime
    DepYear = CInt(InputBox("For what year do you want depreciation?"))
Loop
PDepr = SYD(InitCost, SalvageVal, LifeTime, DepYear)
MsgBox "The depreciation for year " & DepYear & " is " & Format(PDepr, Fmt) & "."

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應