前回で日付の表示が完了しましたので、第4回目となる今回は、曜日の表示について紹介していきます。
曜日の表示
曜日の表示は、日付から曜日を算出する「WEEKDAY関数」がありますので、比較的簡単に表示させることが可能です。
難しいところといえば、月末処理の方法です。
表示方法の条件は以下の通り。
- 日付のシリアル値をもとに、曜日を算出。
- 31日までない月の月末処理は、日付と同様に空欄とする。
- うるう年の自動判定と2月末の処理。
曜日欄の表示
日付の回と同様に、20日締め形式の表ですので、1日〜20日までを入力フォームで入力した月、21日〜31日までを前月として考えていきます。
1日〜20日まで
DATE関数を使って、シリアル値を取得し、WEEKEND関数で曜日を数値化して算出しています。
=WEEKDAY(DATE(YEAR($D$5),MONTH($D$5),DAY(O8)),1)
取得したシリアル値から、WEEKEND関数の出力形式を指定する引数 "1" を指定して算出した値を各セルに表示します。
WEEKEND関数の出力形式は、以下のようにいつか種類が選べます。
- 引数 "1" のとき 1(日曜日)〜 7(月曜日)
- 引数 "2" のとき 1(月曜日)〜 7(日曜日)
- 引数 "3" のとき 0(月曜日)〜 6(日曜日)
出力される値は、1 〜 7 のただの数値の状態です。
「セルの書式設定」で、曜日の表示にします。
「表示形式」タブの「ユーザー定義」で、” aaa ”と入力すると曜日の表示になります。
21日〜31日まで
21日〜31日までは、前月となります。
=WEEKDAY(DATE(YEAR($D$5),MONTH($D$5)-1,DAY(K8)),1)
DATE関数の月の値を ” MONTH($D$5)-1 " として、前月のシリアル値から算出します。
「$D$5」と絶対値にしておくと、複数セルへのコピペが楽です。
下段(次郎)の日付
下段の曜日は、上段の曜日セルを参照しているだけです。
日付の時と同様、空欄も参照されますので、月末も上段の参照だけでOKです。
通常の曜日表示は、以上の処理で行います。
月末処理の方法については、日付の時と同様に、うるう年判定や空欄処理をする必要があります。
次回 Part2 として月末の処理について紹介します。