メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

特定の期間における級数法を浮動小数点型 (Double) で返します。

構文

SYD( cost, salvage, life, period )

SYD 関数の構文には、次の引数があります。

引数

説明

cost

必須です。 資産の初期コストを示す倍精度浮動小数点型

salvage

必須です。 耐用年数が終了した時点での資産の価格を示す倍精度浮動小数点型

life

必須です。 資産の耐用年数の長さを示す倍精度浮動小数点型

period

必須です。 資産の減価償却の計算期間を示す倍精度浮動小数点型

解説

life および period の引数は、同じ単位で表す必要があります。 たとえば、 life が月数で指定されている場合、period も月数で指定する必要があります。 引数はすべて、正の数にする必要があります。

クエリの例

結果

SELECT SYD([LoanAmount],[LoanAmount]*.1,20,2) AS Expr1 FROM FinancialSample;

資産の耐用年数が 20 年であることを考慮して、"LoanAmount" と評価された資産の減価償却費を計算します。サルベージ値は 10% ("LoanAmount" に 0.1 を掛けた値) です。 減価償却費は、2 年目に対して計算されます。

SELECT SYD([LoanAmount],0,20,3) AS SLDepreciation FROM FinancialSample;

資産の耐用年数が 20 年であることを考慮して、"LoanAmount" と評価された資産の減価償却費を 0 ドルで返します。 結果は、SLDepreciation 列に表示されます。 減価償却費は、3 年目に計算されます。

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) & "."

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×