SYD 函數
會傳回 Double ,指定指定期間內資產的年總位數折舊。
語法
SYD (成本、 回收、 生命、 期間)
SYD 函式具有下列命名自變數:
部分 | 描述 |
---|---|
成本 | 此為必要動作。 雙 精度浮點數指定資產的初始成本。 |
打撈 | 此為必要動作。 在資產的實用生命周期結束時,再次指定資產的值。 |
生命 | 此為必要動作。 雙 精度浮點數指定資產使用年限的長度。 |
時期 | 此為必要動作。 雙 精度浮點數指定要計算資產折舊的期間。 |
註解
life 和period自變數必須以相同的單位表示。 例如,如果 生命 週期是以月為單位, 則期間 也必須以月為單位。 所有自變數都必須是正數。
範例
這個範例會使用 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 支援與意見反應。