EXCELの関数で問題解決

[EXCEL] 毎月1日をカレンダーの曜日位置へ表示する数式

EXCELでカレンダーを作る場合や、日程に関わる資料の中で補助的にカレンダーを表示したい事もあるかと思います。

ここで面倒なのが、何年何月の1日は「何曜日?」を調べて、1日を決まった「曜日位置」に毎回セットするという手作業が発生してしまうところです。

そこで「年」「月」を入力すると、日曜始まり等「曜日位置」があらかじめ決まったカレンダーの枠に日付を表示するためのテクニックをご紹介いたします。

スポンサーリンク




1日をカレンダーの曜日位置へ表示する

最初の一週間が問題

カレンダーづくりで頭を抱える「最初の一週間」の作り方に絞って解説いたします。

「年」「月」を入力すると、最初の一週間の日付が自動で表示されるようにします。

WEEKDAY関数

WEEKDAY(日付)

WEEKDAY(日付)は、エクセルの日付(シリアル値)から曜日番号(日曜=1…土曜=7)を取り出す関数です。

2020年12月1日は火曜日ですから、WEEKDAY(“2020/12/”)=3 となります。

DATE関数

DATE(年,月,日) 

DATE(年,月,日) は「年」「月」「日」をバラバラの数値で指定するとエクセルの日付(シリアル値)へ変換できる関数です。

①カレンダーの最初のセル=「日曜日」へ数式を設定します。

② =DATE(C1,E1,1) で指定した年月の「1日」の日付を取得します。

③ WEEKDAY(DATE(C1,E1,1))  取得した日付の曜日番号を取得します。

式=DATE(C1,E1,1)-WEEKDAY(DATE(C1,E1,1))+1

DATE(C1,E1,1)-WEEKDAY(DATE(C1,E1,1))は先週の土曜日の日付を指しているため+1 で調整します。

月曜以降は 前日+1 で「最初の一週間」が表示できました。

表示形式

「セルの書式設定」「表示形式」「ユーザー定義」で d とすれば「日付」だけを表示します。

「最初の一週間」が完成しました。2週目以降は足し算でカレンダーは完成します。


ポイント解説動画

エクセル屋の解説動画は毎日増えています。「知ってるんだけど確認したい」時に便利なよう、ほとんどが1分以内でナレーション無し-まわりに気兼ねなく何度でもくり返し確認できます。下のボタンからチャンネル登録をお願いいたします。


スポンサーリンク