エクセル(EXCEL)で月間カレンダーを作成していたら、月曜始まりのときに月曜日の日付欄に思った曜日が反映されないことがありました。
例えば、4月1日が日曜日のとき、月曜始まりのカレンダーでWEEKDAY関数を使って月曜日に表示したい日付は3月26日ですが、どうしても4月2日が反映されてしまいます。
そこで今回は、WEEKDAY関数を使って自分で月曜始まりのカレンダーを作成するとき、1日が反映されない問題を解決したいと思います。
1日が反映されない問題とは?
自分で日曜始まりと月曜始まりのエクセルカレンダーを作成していますが、WEEKDAY関数を使って月曜はじまりのカレンダーを作成したとき、日曜日が1日のとき前月の月曜日の日付を反映させたいのに2日が表示されてしまう問題が発生しました。
例えば、2018年4月のカレンダーを作成しようとしたときがそうで、上記の画像のように表示されてしまいます。
WEEKDAY関数の使い方
日曜始まりのときには発生しなかった問題が、月曜始まりだと発生してしまう問題がありましたので、解決するための方法をまとめています。
WEEKDAY関数を使ったエクセルカレンダーの作り方は下記にて紹介していますので、ご覧下さい。
「 エクセルで月間カレンダーを自分で作る!関数を使い1度作れば年度や月を変えるだけの作り方 」
今までの関数の式
月曜始まりのエクセルカレンダーを作成するときに使っていた関数の式は「=G1-WEEKDAY(G1)+2」を使っていました。
2018年4月のエクセルカレンダーを作成していたら、本来、関数を入力したセルA3には「3/26」が表示されてないといけないのに「4/2」と表示されてしまいます。
このままでは、年月を変えるだけで簡単に作れるカレンダーになりませんので、関数の式を考えてみました。
変更後の関数の式
「 エクセルで月間カレンダーを自分で作る!関数を使い1度作れば年度や月を変えるだけの作り方 」で作成したエクセルカレンダーを基に修正した箇所をまとめます。
1.セルG1に入力していた「=DATE(A1,C1,1)」を削除しています。
2.セルA3に入力する関数の式を「=DATE(A1,C1,1)-WEEKDAY(DATE(A1,C1,1),2)+1」に変更しました。
この2点を変更することで、月曜はじまりのエクセルカレンダーを作成するときに、1日が反映されない問題が解決できます。
編集後記
関数に関しては、まだまだ勉強不足のところがあり、改善するための方法も試行錯誤です。
もしかしたら、もっと良い方法があるかも知れませんが、私は今のところ、この関数の式に変更して対応して、数年間作って見ましたが問題ありませんでした。
問題が発生したら一つ一つ、改善していきたいと思います。