毎月簡単、カレンダーをエクセルで作る
私は、自分で月毎に一枚のカレンダーをエクセルで作り、家族の予定を書いてキッチンの壁に貼っています。
そのカレンダー、毎月、ちまちまと、「今月は何曜日始まりかな?」と確認してから1日を適切なセルにいれて、ドラッグして・・と作っていました。
きっと、エクセルの関数で作れば楽ちんだろうなと分かってはいましたが、その関数で作りこむ面倒さが、毎月ちょこちょこ作る面倒さを上回っている気がして、なかなか作りこむことをしていませんでした。
しかし、思い切って来月からやってみようということで作りました。
やってみるととても簡単。
完成の形
下の図がざっくりとした完成の形です。
実際には、推しの画像とか貼りつつ、家族の予定を書き込んでいるのでもっとごちゃごちゃしていますが。
ここでセルD2の月を毎月変えるだけで、カレンダー内の数値が適切に入力されるというなんと素敵な形。
①当月の最初の日付を入力する
まずはカレンダータイトルとなる重要な「当月」の月をセルに書きます。
セル「D1」に2024/5/1と入力します。ここは「5月」といった文字列ではなく、当月の最初の日付を入力します。
見た目のほうはセルの書式設定で、「m"月"」といった形で指定します。
エクセルに何日からのカレンダーを作るかをここで指定する意味となりますね。
②最初の日(一日)が何曜日から始まるか調べる
ここが一番のポイントです。
関数「WEEKDAY」を使用して、一日が何曜日から始まるかを調べます。
WEEKDAYは、指定した日にちの曜日を数字で返してくれます。
下の図では、網掛けになっている部分です。
第1引数(シリアル値)に、当月の初日、つまりここでは①で入力した2024/5/1のセルを指定します。
第2引数(種類)は好みです。日曜を1にする、月曜を1にする、など選べますが、ここでは1を指定して、日曜日が0、月曜日が1、といった形を選びました。
そして戻り値が「4」になったので、2024年5月1日は水曜日であることが分かります。
ただ、何曜日から始まるかは実際のカレンダーでは表示はしないので、最終的にはこの網掛け部分は色を白などにして見えなくするか、印刷領域に含ませないなどで対応してください。
③カレンダーの一番上の日曜日である日にちを計算する
実際のカレンダーは、1日からではなく1日がある週の日曜日から記載されているので、その日にちを計算します。
下の図でいきなり記載しましたが、計算方法は「当月の一日から、WEEKDAYの戻り値に1を引いた数を引く」です。
よって、セル「A4」は「D1-(I2-1)」となっています。※I2(アイ2です)、12ではないので注意
なぜこのような計算式になるのかの考え方を下に。
カレンダーが月曜日始まりだったり、WEEKDAY関数で月曜日が1で戻ってくるだったりの場合は、計算式が変わるので注意してください。
今回は、曜日の数字より1小さい分だけ日にちを戻ればOKとなりましたので、上記の計算式になりました。
また、セルの書式設定で曜日の数字だけ表示させておくとカレンダーらしくなります。
④オートフィル(ドラッグで自動入力)できるようにする
ここまでできたら後は③で入力できたセル「A4」をドラッグすればできると思いきや、これはうまくいきません。
規則性ということでもう一つ隣のセルを入力します。
セル「B4」に「A4+1」と入力し、セル「B4」を選択しドラッグします。
オートフィルで1週間分が入力されました。
残りは縦方向にもオートフィルです。
エクセルに慣れている方は、「もう一行追加してからその追加した行をオートフィル」と気づかれると思います。
それでOKです。もう続きは読まなくて大丈夫。
では、続いて縦方向にオートフィルで一気にカレンダーを完成させます。
⑤縦方向にも整える
ここで1行できているのですが、やはりこの1行をオートフィル(下にドラッグ)してもうまくいきません。
もう1行記入します。
2行目の始まりは1行目の最後(土曜日)に1プラスして、その右のセルは、そのセルに1プラスします。
ちょっと文章では分かりにくいですね。
下の図を確認してください。
セル「B5」を入力したら右にオートフィル(ドラッグ)です。
これで2行目ができたので、2行目を選択した状態で4行分下にドラッグします。
これで、無事に日付が入力でき、基本の形は完成しました。
後は、土日に色を付けたり、セルの幅高さを設定したりして、カレンダーっぽくしていくだけです。
最初に書きましたが、セル「D1」の値を変えることで、自動でカレンダー内の日にちが入力されます。