スゴ技会計士からの挑戦状 VOL.17

8月 21, 2017




【日付を自在に操る技】
前回の決算日を関数で求める問題の解答プロセスを解説します。





日付と決算月を入力するだけで、日付の属する決算日を求めることができましたでしょうか。

いつもお伝えしていることですが、皆さんが直面する問題をExcelで解決しようとする場合、
「アウトプットを明確にする」
ところから始めてください。
頭の中で考えているだけではよいアイデアは浮かびません。
必ず上図のようにアウトプットを明確にしてから必要な情報を考えてください。

3月決算会社で2016年6月9日の属する決算期の決算日は2017年3月31日です。
2017年3月31日を表示するのに足りない情報を考えてみましょう。

まず「月」は簡単です。
決算月の情報はすでに条件として与えられているからです。

次に「日」を考えてみましょう。
前回も触れましたが、末日を求めるためには、
「翌月1日の前日」
という指定のしかたをします。
ですので、3月末日を求めたければ、4月1日を作成して1日引けばよいのです。
Excelでは1900年1月1日からの累積日数で日付を管理しているからこそできる技です。

問題は「年」となります。
2016年6月9日も2017年1月1日も決算日は2017年3月31日ですので少しむつかしくなります。

「12月決算だったら簡単なんだけど...」
と思いついた方は正解の一歩手前まで来ています。
思いついたら任意の日付を12月決算に換算してしまいましょう。
「月」から決算月分だけ引いた日付を作成します。
欲しい情報は「年」だけなので、「日」は1日で構いません。



=DATE(YEAR(B2),MONTH(B2)-B3,1)

この結果得られる情報は、
「決算日の前年の『年』」
です。
何やらわかりにくい表現ですが、12月決算に換算して得られた「年」の翌年が決算日の属する「年」となります。
これを使って決算日を求めると図のようになります。



=DATE(YEAR(C2)+1,B3+1,1)-1
2017年4月1日をDATE関数で作成してから、1日引いて2017年3月31日を表示しています。

2017年4月0日と指定しても同じ結果となります。
=DATE(YEAR(C2)+1,B3+1,0)

実務では日付操作ができるかどうかで大きく差がつくケースがありますので、確実にマスターしてください。

今回IF関数を使って回答した方も多いかと思います。
IF関数はもちろん重要なのですが、よく考えずにIF関数を使うと数式が複雑になり見にくくなることがあります。
中級者はIF関数を多用しがちなので注意してください。
IF関数を使わなくても解決できるケースも多いです。

また、ひとつのセルにすべての数式を記述した方も多いと思います。
セルをたくさん使うと「もったいない」と思われるかもしれませんが、長い数式の方がよほど時間を浪費します。
結論に至るプロセスをなるべくセルに残し、メンテナンスのしやすい記述を心がけましょう!

無料メルマガ「スゴ技会計士の挑戦状」登録はこちらから!

無料メルマガ登録

株式会社シンプルソリューションズ

〒102-0074
東京都千代田区九段南1-5-6
りそな九段ビル5F KSフロア
Powered by Blogger.