• ベストアンサー

エクセル:減価償却

取得価額と取得年月、償却率、現在の年月日の入力で、合計償却額または未償却残高を算出できますでしょうか?残存価額は考慮しなくてもいいのですが・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。任意時点における償却額を求めるユーザー定義関数です。 一応、法人税法上の減価償却定率法の計算手順をクリアしているつもりですが、間違いないと、自信をもって断言できません。。。 正確に計算できることを確認はしましたが、端数に誤差が生じるかもしれませんし、、、つまり使用者の自己責任でお願いします。また、誤りがあれば指摘していただけますと、幸いです。 <使い方> 普通の関数のようにセルに書き込みます。 取得価格:2,000,0000 事業に供した日:2004/5/1(取得し、事業に使い始めた日です) 初年度終了年月日:2005/3/31(購入年度の決算日です) 償却率:0.316 任意の基準年月日:2004/12/9(実際は12/31時点です) とすると、 =定率法償却累計額(2000000,"2004/5/1","2005/3/31",0.316,"2004/12/9") で基準年月日までの償却額の累計が求められます。 ちなみに、未償却残高 = 取得価格 - 償却累計額 ですね。 '******************************************************************** ' 基準日における減価償却累計額を求める(平成16年11月現在) ' 注1)減価償却計上の開始日は実際に事業に供した日からであり、取得日ではない ' 注2)1ヶ月未満は繰り上げて計算する ' 注3)耐用年数を経過しても、帳簿価格が取得価格の5%まで減価償却可能 ' 注4)定率法償却限度額 = (取得価額-償却累計)×償却率 ' 注5)端数に誤差が生じる場合がある '******************************************************************** Function 定率法償却累計額( _   取得価格 As Currency, _   事業に供した年月日 As Date, _   初年度終了年月日 As Date, _   償却率 As Double, _   基準年月日 As Date) As Currency   Dim 初年度%, 以後月%, 期間数%, 端数月%   Dim 残存価格 As Currency   Dim 帳簿価格 As Currency   Dim 償却累計 As Currency   Dim 償却金額 As Currency   Dim Flag As Boolean   Dim i As Long   '引数チェック   If Not (事業に供した年月日 < 初年度終了年月日) Or _     初年度終了年月日 > DateAdd("YYYY", 1, 事業に供した年月日) - 1 Then     Exit Function   End If   '期数と月の計算   初年度 = DateDiff("M", 事業に供した年月日, 初年度終了年月日) + 1   以後月 = DateDiff("M", 初年度終了年月日 + 1, 基準年月日) + 1   期間数 = Int(以後月 / 12)   端数月 = 以後月 - 期間数 * 12   '5%償却の残存価格   残存価格 = Int(取得価格 * 0.05)   '初年度1年未満の償却   償却累計 = Int((取得価格 * 償却率) * (初年度 / 12))   帳簿価格 = 取得価格 - 償却累計   If 以後月 < 1 Then GoTo Result   '1年以上の償却   Flag = False   For i = 1 To 期間数     償却金額 = Int(帳簿価格 * 償却率)     '5%償却対応     If (帳簿価格 - 償却金額) < 残存価格 Then       '最終償却額       償却金額 = 帳簿価格 - 残存価格       Flag = True     End If     償却累計 = 償却累計 + 償却金額     帳簿価格 = 取得価格 - 償却累計     If Flag Then Exit For   Next i   '最終年度端数月の償却   If Flag = False And 端数月 > 0 Then     償却金額 = Int((帳簿価格 * 償却率) * (端数月 / 12))     If (帳簿価格 - 償却金額) < 残存価格 Then       償却金額 = 帳簿価格 - 残存価格     End If     償却累計 = 償却累計 + 償却金額   End If Result:   '返値   定率法償却累計額 = 償却累計 End Function 長文、申し訳ありませんでした。ご参考までに。

azukom
質問者

お礼

お礼が遅くなりすみません。ありがとうございました。初心者なもので、たどり着けるかどうか分かりませんが頑張ってみます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

エクセルにAMORLINCという財務関数があります。 これを使えませんか。 http://thinkfree.inforce.co.jp/help20/calc/function/amorlinc_function.html など参照。 AMORLINCでWEB照会のこと。

azukom
質問者

お礼

ありがとうございます。数年間の償却額を合計で計算できないかと思うのですが、無理なんでしょうか。