エクセルで工程管理表などを作る際にカレンダーを作りたいことがあります。エクセルでカレンダーを作る方法を紹介します。
ここで作成するカレンダー
2025年のカレンダーを作ってみます。工程管理表的な資料を想定しているので、日付はA列で下へ下へ伸ばしていくレイアウトです。
- 2025年1月からのカレンダーを作ってみます
- 土曜日は青、日曜日は赤、セルの色が自動的に変化するようにします
- 基準日の1セルだけを変更したら、すべての日付欄が変更できるようにします
エクセルでカレンダーを作る
まずは基準日を作成する
西暦部分が要らない場合や「〇月〇日」という表にしたかったら、A列全体のセルの書式設定で変更します。ここでは 「〇月〇日」の表示で進めます。
翌日、翌々日…セル参照で作成する
下のセルからA1セルを相対参照し、「+1」を追記すると、A2セルが「1月2日」になります。
このA2セルをオートフィルすると続きの日付が入ります。31日を越えたら月も変化してくれます。
そして2025年は閏年ではないので2月は自動的に28日までにしてくれて、A60セルが「3月1日」になっています。
土曜日と日曜日の色が書式設定で自動的に変わるようにする
weekday関数で曜日を判定する
A1セルにweekday関数を入れて一番下までオートフィルして埋めます。
日曜日~土曜日をそれぞれ、1~7で数値化してくれます。2025年1月1日は水曜日なので4となり、1月5日でまた1にリセットされます。
=WEEKDAY(A1)
土曜日、日曜日のセルの色を自動で変更する
ホームの条件付き書式で「新しいルール」を選びます。
今回、A~D列全体を選んで条件付き書式設定をしてみます。
- 「数式を使用して、書式設定するセルを決定」を選択
- 「次の数式を満たす場合に値を書式設定」に「=$B1=7」と入力する
B列を$付きの絶対参照、行を$なしの相対参照にするのがポイントです - 「書式」を押してセルの塗りつぶしの色を設定する
=$B1=7
同じ要領で1の行を赤に設定すると、こうなります。
タイトルを付けて列を隠したら完成
※ここでは、後述の「脱初心者のために」を施した状態で説明します。
1行目を挿入し、タイトルを作ります。A列とB列はこの後で隠すのでタイトルは不要といえば不要ですが、私なら空白にはせず「シリアル値」「曜日判定」と入れておきます。いずれ改造するときなどに「あれ?この列は何のためにあるんだっけ?」とならないためです。
A列とB列を非表示にして出来上がりです。
このままだと表示が1,2,…となっています。1月、2月…とするには、文字列にしてしまうのではなく書式設定でつけましょう。詳しくは以下を参考にしてください。
脱初心者のために
実際に仕事で使う時、月でフィルタリングしたいこともあります。そのために月と日を別の列に分けてみましょう。
C1セルにMONTH関数を入れてA1セルを相対参照させます。
それをオートフィルするとC列に月だけが表示されます。
=MONTH(A1)
ちゃんと2月になると2になっていることが分かります。
同じ要領でDAY関数で日を抜き出すことができます。
=DAY(A1)
まとめ
- まずは基準日を作成する
- 翌日、翌々日…セル参照で作成する
- 土曜日と日曜日の色が書式設定で自動的に変わるようにする
- weekday関数で曜日を判定する
- 土曜日、日曜日のセルの色を自動で変更する
- タイトルを付けて列を隠したら完成
コメント