【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月末の処理を紹介します。

スポンサーリンク

シェアする

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

フォローする

スポンサーリンク