【Excel2010】最小限の入力で自動作成するシフト表 第2回 日付Part1【関数】

Excel_shift_eye

前回は、実際に作る表の完成図とセル構成をお伝えしました。今回から実際の作成をしていきます。

日付の表示

今回のテーマは、日付の表示です。

Excel_shift_001

単純に日付だけ表示されているように見えますが、日付のシリアル値を利用して表示する方法と、うるう年の月末処理も関数だけで行っています。

表示方法の条件は以下の通り。

  • 入力フォームに入力された年月の値をもとに、日付のシリアル値を各セルに配置。
  • 31日までない月の月末処理は、空欄にする。
  • 閏年の自動判定と月末処理。

年月の入力と表示

まずは、すべての計算式の基準となる、年月の入力と表示の処理。今後の計算式で頻繁に参照するセルになります。

Excel_shift_day_001
セル ”D5″ を年月の基準セルとしています。入力フォームの “AM6” に入力された数値を参照させます。
印刷時の月度表示にも利用するため、表示形式を「セルの書式設定」で変更しています。

Excel_shift_day_001_01

日付欄の表示

今回の表は、20日締め形式の表ですので、1日~20日までが入力した月。21日~31日までが前月となります。

1日~20日まで

Excel_shift_day_002

DATE関数を使って、シリアル値を取得し表示しています。

=DATE(YEAR(D5),MONTH(D5),1)

年月の値を ”D5″ セルを参照して取得し、日付は直接入力してシリアル値を出しています。

Excel_shift_day_002_01
「セルの書式設定」で、日付のみの表示にします。

21日~31日まで

Excel_shift_day_003

21日~31日までは、この表では前月となります。

=DATE(YEAR(D5),MONTH(D5)-1,28)

DATE関数の月の値を ” MONTH(D5)-1 ” とすることで、入力された前月のシリアル値が算出されます。

下段(次郎)の日付

下段の日付は、上段の日付を参照しているだけです。

Excel_shift_day_007
空欄も参照されますので、月末も上段の参照だけでOKです。

基本的な日付に関しては、以上の処理で十分です。問題は月末の処理に関してです。
次回は、日付処理の Part2 と題して、30日までしかない月や2月末の処理を紹介します。

【Excel2010】最小限の入力で自動作成するシフト表 第1回【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第2回 日付Part1【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第3回 日付Part2 月末処理【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第4回 曜日Part1 平常日【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第5回 曜日Part2 月末処理【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第6回 シフトPart1 通常週【関数】
【Excel2010】最小限の入力で自動作成するシフト表 第7回 シフトPart2 月度始め【関数】

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする