SYD 函數

Applies To
Access for Microsoft 365 Access 2021 Access 2019 Access 2016

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

語法

SYD (成本、報廢、生命、期間)

SYD 函數語法具有下列引數:

引數 描述
成本 必要。 Double 指定資產的初始成本。
搶救 必要。 Double 指定資產在其使用壽命結束時的價值。
生活 必要。 Double 指定資產的使用壽命長度。
期間 必要。 Double 指定計算資產折舊的期間。

註解

生命和句點引數必須以相同的單位表示。 例如,如果 生命 以月為單位,則 期限 也必須以月為單位給出。 所有引數都必須是正數。

查詢範例

運算式 結果
SELECT SYD ([LoanAmount],[LoanAmount]*.1,20,2) AS Expr1 FROM FinancialSample; 考慮資產的使用年期為 20 年,計算價值為 “LoanAmount” 的資產折舊,殘值為 10% (“LoanAmount” 乘以 0.1) 。 折舊會計算第二年的折舊。
SELECT SYD ([LoanAmount],0,20,3) AS SLDepreciation FROM FinancialSample; 將資產的使用年限視為 20 年,傳回價值為 “LoanAmount” 且殘值為 $0 的資產折舊。 結果會顯示在 SLDepreciation 資料行中。 折舊會計算第三年。

VBA 範例

注意

下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

此範例使用 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) & "."