Excelで契約終了日の日付を計算する

Excelで契約日と終了日を管理しようとして、ちとはまったのでメモ。

やりたいことは年単位の契約で、契約日から起算して契約終了日を計算して表示したい。
例えば契約日が2013/7/1 なら終了日は2014/6/30 と表示する。

Office総合ポータルあたりを参考にして

翌年だから契約日のセルの日付に1年加算して。。。

例)セルA2に「2013/7/1」
=DATE(YEAR(A2)+1,MONTH(A2),DAY(A2))

と、こんな感じにしてみれば。。。。

結果:2014/7/1

あれ、月日が一緒。そうか、1年足すと同じ日なんだな。あたりまえか。契約終了日は 一日前の2014/6/30にしたいんだな。。。。

という事で、日付の方に364日を足してみる。

=DATE(YEAR(A2),MONTH(A2),DAY(A2)+364)

結果:2014/6/31

今度はよさそうだ。でも、うるう年はこれだとまずいんじゃ。。。
日付を2015/3/1にして試してみると。。。

結果:2016/2/28

ああ、やっぱり。2016年はうるう年。ここは2/29にならないとまずい。

うるう年とか判定かけて、日数計算して、366日にして、そうして、こうして、うう、メンドウだなって思ったけど、よく考えたら、こうすりゃいいのに気が付いた。

=DATE(YEAR(A2)+1,MONTH(A2),DAY(A2)-1)

結果:2016/2/29

単純に1年足して、1日引く。これでうるう年も大丈夫。

コメント

このブログの人気の投稿

TabError: inconsistent use of tabs and spaces in indentation

マクロを含んだ.XLSがExcel2010で開けない

using ディレクティブまたはアセンブリ参照が不足しています。