SYD 関数

更新 : 2007 年 11 月

倍精度浮動小数点数型 (Double) の値を返します。定額逓減法を使って、指定した期の減価償却費を返します。

Function SYD( _
   ByVal Cost As Double, _
   ByVal Salvage As Double, _
   ByVal Life As Double, _
   ByVal Period As Double _
) As Double

パラメータ

  • Cost
    必ず指定します。資産を購入した時点での価格を示す倍精度浮動小数点数型 (Double) の値です。

  • Salvage
    必ず指定します。耐用年数が終了した時点での資産の価格を示す倍精度浮動小数点数型 (Double) の値です。

  • Life
    必ず指定します。資産の耐用年数を示す倍精度浮動小数点数型 (Double) の値です。

  • Period
    必ず指定します。減価償却費を計算する期を示す倍精度浮動小数点数型 (Double) の値です。

例外

例外の種類

エラー番号

条件

ArgumentException

5

Salvage < 0、Period > Life、または Period <=0 です。

非構造化エラー処理を使用する Visual Basic 6.0 アプリケーションをアップグレードする場合は、"エラー番号" の列を参照してください(エラー番号を Number プロパティ (Err オブジェクト) と比較することもできます)。ただし、可能であれば、このようなエラー制御は Visual Basic の構造化例外処理の概要 に置き換えることを検討してください。

解説

引数 Life および Period は、同じ単位で指定する必要があります。たとえば、Life を月で指定した場合は、Period も月で指定することが必要です。すべての引数には必ず正の値を指定してください。

使用例

次の例は、資産 1 期あたりの減価償却費を SYD 関数を使って計算します。資産購入時の価格 (InitCost)、耐用年数を経た後での資産の価格 (SalvageVal)、資産の耐用年数 (LifeTime) を指定します。

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)

参照

参照

DDB 関数

SLN 関数

財務処理の概要

ArgumentException