Excel関数の世界へようこそ

このブログは私が在職中に業務の改善で考えたExcel関数を思い出しながら解説するブログです。マイペースでぼちぼちやります。市販の解説本やヘルプには載っていないテクニックも使用します。狭くて深い領域で、一部の人しか参考にならないかもしれませんが、他に応用できる事もあると思います。

一度投稿した記事は、後で誤りを訂正したり、分かりやすく直す事があるかもしれません。

<このプログの関数で出来る事>
・Excel関数で減価償却費をリアルタイムに高速計算する
 現有固定資産データから今後の減価償却費と簿価を計算
 設備投資予算から今後の減価償却費と簿価を計算
 

・減価償却費を減らす為の不要となったサービス用固定資産判定

上記2項をマスターすると、将来の減価償却費と廃却による特別損失のシュミレーションが出来ます。

ご意見、ご希望をお寄せ下さい。メールはelpinojp-bg()yahoo.co.jp宛に、()を@に変更してお送り下さい。

2012年7月26日木曜日

1-⑦複合数式を使って月毎の減価償却費合計を求めよう(3行おきの合計を求める)

この投稿は前のページからの続きで連載物になっていますので、このページのみでは意味が分からないと思います。

<まずはサンプルの表に式をコピーして償却費合計を計算させてみよう>

コピーするサンプル式
=SUM((MOD(ROW(N5:N16),3)=0)*N5:N16)
この式をサンプルワークシートのN36セルにコピーしてみよう。
結果は #VALUE! と表示されてしまい、エラーです。

そこで、このセルをダブルクリックして編集モードにし、ShiftキーとCtrlキーを同時に押しながら、更にEnterキーを押します。
そうすると、今度は先ほどコピーした式が{ }で囲まれた式となり、エラーとならなくなりました。これは、Excelが複合数式と認識して1行ごとに計算している為です。

注意)Excelに複合数式である事を認識させる為には、式を入力して確定させる時に、ShiftキーとCtrlキーを同時に押しながら、更にEnterキーを押します。

この式を横にずっとコピーしていくと、3行おきの合計が計算され、償却費のみの合計が出ます。
書式が設定されてないので、小数点以下が沢山表示されて見づらいので、範囲指定して上の書式バーの,をクリックして3桁区切りで桁を揃えると見やすくなります。


<ここで使用する関数の働き>

SUM
これは、皆さんご存知だと思うので省略しますが、サンプル式では =SUM(N5:N16) でN5からN16までの、ROWとMODで計算される各行の答えが3となる行のみの合計をとります。

MOD
Microsoft Excelのヘルプを参照すると、
「数値を除数で割ったときの剰余を返します。戻り値は除数と同じ符号になります。」
とあります。何だか難しい言葉で書かれていますが、要するに割り算をして余り(割り切れなかった半端な数)を求める関数です。ここではExcelの行ナンバーを3で割って、その余りがゼロ、つまり3で割り切れる行、6,9,12,15行の償却費合計を求める事になります。
サンプル式の余りを2に変更すると、3で割った余りが2の行、5,8,11,14で簿価の合計が求められる事になります。=SUM((MOD(ROW(N5:N16),3)=2)*N5:N16)
ROW
Microsoft Excelのヘルプにを参照すると、
「引数として指定された配列の行番号を返します。」
とあります。つまり、Excelの左に表示されている行ナンバーの値そのものです。

*(AND)
Microsoft Excelのヘルプを参照すると、ANDは
「すべての引数が TRUE のとき、TRUE を返します。引数が 1 つでも FALSE である場合、戻り値は FALSE になります。」とあります。数字を扱っている場合は条件を満足する場合は1、そうでない場合は0です。ただ、ここで掛け算の様に書かなかったのは、この*が文字の演算にも使える為です。
この*の働きで、その左側で計算した行ナンバーを3で割った答えが0の場合だけSUMを計算する事になります。

以上です。