[[20070912091246]] 『改正減価償却制度で改定取得価格を求める関数』(セキ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『改正減価償却制度で改定取得価格を求める関数』(セキ)
 今年から、減価償却制度が改正し、計算方法が変わりました。
新しい計算方法に対応する計算式を作りたいのですが、
改定取得価格を求める計算式ができません…。
どなたか教えていただけると幸いです。
よろしくお願い致します。

 <定率法の償却費の計算式>
1.調整前償却額>=償却保証額
   期首帳簿価格×償却率
2.調整前償却額<償却保証額
   改定取得価格×改定償却率

 <例>
取得価格  200,000円
耐用年数  6年
償却率   0.417
償却保証率 0.05776 → 償却保証額11,552円(取得価格×保証率)
改定償却率 0.5000

 年数    1      2    3    4    5    6
期首簿価  200,000  116,600  67,978  39,632  23,106  11,553
償却額   83,400   48,622     28,346  16,526   9,635
改定償却額                      11,553  11,552
期末簿価  116,600     67,978   39,632  23,106 11,553     1

 ポイント1.償却費の計算は、円未満切捨て
 ポイント2.上の例でいうと、5年目の期首簿価が改定取得価格
      期首簿価×償却率<償却保証額になった初めての年の期首簿価

 *エクセルのバージョンは2000です。


 =IF(B3<$B$2*0.05776,IF(COUNT(A4)=1,$B$2*0.05776,B2*0.5),"")
 かしら…?

 (Ohagi)

 (1) D4セル =INT(B1*B4)

 (2) B8セル =IF(OR(B7="",$B2<B7),"",IF(B7=1,$B$1,A11))

 (3) B9セル =IF(B$8="","",INT(B8*$B$3))

 (4) B10セル =IF(B$8="","",IF(B9>=$D$4,"",
       IF($B$2=B7,B8-1,INDEX(8:8,MATCH(1,INDEX(1/($B9:B9<$D4),0),0)+1)*$B$5)))

 (5) B11セル =IF(B$8="","",B8-MAX(B9:B10))

 B8:B11を一括選択して、右へフィルコピー

  行   _____A______  ___B___  ____C_____  __D___  __E___  __F___  __G___  _H_
   1   取得価格      200,000                                                 
   2   耐用年数            6                                                 
   3   償却率         0.4170                                                 
   4   償却保証率     0.0578  償却保証額  11,552                             
   5   改定償却率     0.5000                                                 
   6                                                                         
   7   年数                1           2       3       4       5       6    7
   8   期首簿価      200,000     116,600  67,978  39,632  23,106  11,553     
   9   調整前償却額   83,400      48,622  28,346  16,526   9,635   4,817     
  10   改定償却額                                         11,553  11,552     
  11   期末簿価      116,600      67,978  39,632  23,106  11,553       1     

 (半平太)

 年数は、数式で出した方がいいかも知れません。
 B7セル =IF($B2<COLUMN(A1),"",COLUMN(A1)) 右へフィルコピー

<追記>

 切捨てるのを忘れました。m(__)m
 B10セル =IF(B7="","",IF(B9>=$D$4,"",
      IF($B$2=B7,B8-1,INT(INDEX(8:8,MATCH(1,INDEX(1/($B9:B9<$D4),0),0)+1)*$B$5))))

Ohagi様、半平太様、ご回答、ありがとうございます。

すみません、質問の仕方が悪かったようです。

年数を追ってやっていくのは簡単なのですが、ファイルは以下のようになっています。

     A     B    C      D     E    F    G    H   I
     耐用年数 取得価格 期首簿価 当期償却額 期末簿価 償却率 改定償却 保証率 改定取得価格

 資産1 6    200,000 39,632        =B-D    *    *    *   ?

 資産2

 資産3

 *印のところは、耐用年数を軸に別シートからvlookupでひっぱって来てます。
耐用年数によって、償却率も違い、何年目に保証額を下回るのかもわかない状態です。

 これを、資産2以降にもコピーして出したいのですが…。
可能でしょうか?

すみません、改行がうまくいかなかったのでもう一度…。

 _____  ___A___  ___B___   ___C___  ___D_____  ___E___   __F__  ___G___   __H__  ____I____ 
        耐用年数  取得価格  期首簿価 当期償却額 期末簿価 償却率 改定償却 保証率 改定取得価格 

 資産1    6       200,000   39,632       =B-D     *    *    *   ? 
 資産2 
 資産3 

 ちなみに、減価償却の参考までに…
 http://kan-no-blog.cocolog-nifty.com/blog/2007/06/post_cf7f.html

 >耐用年数 取得価格 期首簿価 当期償却額 期末簿価 償却率 改定償却 保証率 改定取得価格
 1.「改定償却」は「改定償却率」のことですね?

 > =B-D
 2.=C-D ですね?

 3.専門外なのでお尋ねしますが、耐用年数6年のものを期の丁度中間で取得した場合、
   償却期間は足掛け7年(実質6.5年)になるのでしょうか?
   
   イメージとしては、こんな事でしょうか?
             ↓ 
     1期       2 〜 6期     7期
   本来の償却額の半分 本来の償却額  残額-1円
   
   
 4.改定取得額を知るには、シミュレーションするしかないと思っているのですが、
    そうする為には、取得年月と決算月も情報として必要になるのですが、
    セキさんは、無くても算出可能とお考えですか?

  シミュレーションしないで済ませるには、各資産が改定取得額に達したとき、
  その情報は、次年度以降に引き継がれるような仕掛けにする必要があると思うのですが、、、

 (半平太)

半平太様、ご回答、ありがとうございます。

1〜2.はい、そのとおりです。申し訳ありません。

3.償却期間は足掛け7年、実質は6年です。

  7期の前半で償却が終了する形ですが、どちらでも税務計算上変わらないので、問題ありません。

4.取得年月日と決算月があれば、シュミレーションなしでできますか?

   シュミレーションなしで算出可能であって欲しいと思い、悪戦苦闘中です。
   改定取得額に達したとき、次年度以降に引き継がれる仕組みは、どうしたらできるでしょうか?
   ちなみに、VBAでの方法はwebであったのですが、VBA使わずにしたいので悩んでいます。
   http://office-kawakami.com/kawa_s/zakki_02/zakki_078.html

(セキ)


 >改定取得額に達したとき、次年度以降に引き継がれる仕組み

 シミュレーションはあくまで予定通りに行った時にしか有効でなく、実務で使用するデータとしてはリスキー過ぎると思います。
 実務では、改定取得額に達したとき、当該資産とその改定取得額を紐づけ管理し、以後必要に応じて参照すべきだと思います。

 、、と言っても難しいことは考えておりません。次年度になったら、下の表の「次繰情報」をK列に「値の貼り付け」する位です。

 行   __A___  _B__  ____C____  ____D____  ____E_____  ___F____  __G___  ____H_____  ___I___  ____J_____  ___K____  ___L____
  1           耐年  取得価格   期首簿価   当期償却額  期末簿価  償却率  改定償却率  保証率   改取価(新)  (既発生)  次繰情報
  2   資産A     6    200,000     39,632      16,526    23,106   0.417         0.5  0.05776                                
  3   資産B     6    200,000     23,106      11,553    11,553   0.417         0.5  0.05776      23,106              23,106
  4   資産C     6    200,000     11,553      11,552         1   0.417         0.5  0.05776                23,106    23,106
  5   資産D    10  1,000,000  1,000,000     250,000   750,000    0.25       0.334  0.04448                                
  6   資産E    10  1,000,000    177,980      44,495   133,485    0.25       0.334  0.04448                                
  7   資産F    10  1,000,000    133,485      44,583    88,902    0.25       0.334  0.04448     133,485             133,485
  8   資産G    10  1,000,000     88,902      44,583    44,319    0.25       0.334  0.04448               133,485   133,485
  9   資産H    10  1,000,000     44,319      44,318         1    0.25       0.334  0.04448               133,485   133,485
 10   資産I    10  1,000,000          1           0         1    0.25       0.334  0.04448               133,486   133,486

 その様な仕掛けであれば、以下の数式でどうでしょうか?

 E2セル =IF(COUNTA(B2:D2)<3,"",IF((D2-MAX(J2:K2)*H2)<MAX(J2:K2)*H2/12/3,D2-1,IF(COUNT(J2:K2),INT(MAX(J2:K2)*H2),INT(D2*G2))))
 F2セル =IF(E2="","",D2-E2)
 J2セル =IF(COUNTA(B2:D2)<3,"",IF(K2<>"","",IF(INT(D2*G2)>=INT(C2*I2),"",D2)))
 L2セル =IF(COUNT(J2:K2),MAX(J2:K2),"")

 ※ 償却最終年度の判定をする必要があるのですが、充分な情報がないようなので、
  「期首簿価-改定償却額」が改定償却額の1ヶ月分相当額の更に3分の1以下であれば
   償却最終年と判定して簿価を1円にします。(E列の式)

 (半平太)

 冗長な部分がありましたので、スリム化しました。改取価(新)は不要になります。

 E2セル =IF(COUNTA(B2:D2)<3,"",IF((D2-N(K2)*H2)<N(K2)*H2/12/3,D2-1,IF(N(K2),INT(N(K2)*H2),INT(D2*G2))))
 F2セル =IF(E2="","",D2-E2)
 K2セル =IF(J2<>"",J2,IF(INT(D2*G2)>=INT(C2*I2),"",D2))

 行   __A___  _B__  ___C____  ___D____  ____E_____  ___F____  __G___  ____H_____  ___I___  ______J_______  ___K____
  1           耐年  取得価格  期首簿価  当期償却額  期末簿価  償却率  改定償却率  保証率   改取価(既発生)  次繰情報
  2   資産A     6   200,000    39,632      16,526    23,106   0.417       0.500  0.05776                          
  3   資産B     6   200,000    23,106      11,553    11,553   0.417       0.500  0.05776                    23,106
  4   資産C     6   200,000    11,553      11,552         1   0.417       0.500  0.05776          23,106    23,106

 (半平太)

半平太様、ご回答ありがとうございます。

値の貼り付けは上司に却下されてしまいまして、結局マクロを組みました…。
せっかく考えてくださったのに申し訳ありません。

ちなみに、組んだマクロ↓

Sub 改定取得価格()

Dim 期首取得価格
Dim 償却率
Dim 償却保証額
Dim 改定取得価格
Dim i

For i = 3 To 110

Set 期首取得価格 = Cells(i, 24).Offset(ColumnOffset:=-16)
Set 償却率 = Cells(i, 24).Offset(ColumnOffset:=-5)
Set 償却保証額 = Cells(i, 24).Offset(ColumnOffset:=-2)

Do While Int(期首取得価格 * 償却率) > 償却保証額

期首取得価格 = 期首取得価格 - Int(期首取得価格 * 償却率)

Loop

改定取得価格 = 期首取得価格

Cells(i, 24).Value = 改定取得価格

Next i

End Sub


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.