前回は、実際に作る表の完成図とセル構成をお伝えしました。今回から実際の作成をしていきます。
日付の表示
今回のテーマは、日付の表示です。
単純に日付だけ表示されているように見えますが、日付のシリアル値を利用して表示する方法と、うるう年の月末処理も関数だけで行っています。
表示方法の条件は以下の通り。
- 入力フォームに入力された年月の値をもとに、日付のシリアル値を各セルに配置。
- 31日までない月の月末処理は、空欄にする。
- 閏年の自動判定と月末処理。
年月の入力と表示
まずは、すべての計算式の基準となる、年月の入力と表示の処理。今後の計算式で頻繁に参照するセルになります。
セル ”D5" を年月の基準セルとしています。入力フォームの "AM6" に入力された数値を参照させます。
印刷時の月度表示にも利用するため、表示形式を「セルの書式設定」で変更しています。
日付欄の表示
今回の表は、20日締め形式の表ですので、1日〜20日までが入力した月。21日〜31日までが前月となります。
1日〜20日まで
DATE関数を使って、シリアル値を取得し表示しています。
=DATE(YEAR(D5),MONTH(D5),1)
年月の値を ”D5" セルを参照して取得し、日付は直接入力してシリアル値を出しています。
21日〜31日まで
21日〜31日までは、この表では前月となります。
=DATE(YEAR(D5),MONTH(D5)-1,28)
DATE関数の月の値を ” MONTH(D5)-1 " とすることで、入力された前月のシリアル値が算出されます。
下段(次郎)の日付
下段の日付は、上段の日付を参照しているだけです。
基本的な日付に関しては、以上の処理で十分です。問題は月末の処理に関してです。
次回は、日付処理の Part2 と題して、30日までしかない月や2月末の処理を紹介します。