自分でカレンダーを作れると、自分好みのデザインにできるうえ、購入費用を浮かせることができて便利です。
でも、12ヶ月分の日付や曜日を手入力するのはたいへんです。年や月から自動反映されるようにしたいですよね。
そこで今回は、Excelで日付と曜日が自動反映されるカレンダーを作る方法をご紹介します。
【無料】Excelのカレンダーテンプレート
自作のカレンダーテンプレートをご紹介します。作成したのは以下の3つのテンプレートです。
- 縦型の年間カレンダーテンプレート
- 横型の月間カレンダーテンプレート
- 曜日固定型の月間カレンダーテンプレート
すべて無料ですので、お急ぎの方はダウンロードしてお使いください。
縦型の年間カレンダーテンプレート

月ごとに縦に日付が並んだ年間カレンダーです。予定書き込み欄もあります。
A1に「2023」のように「年」を入力すると、日付や曜日が自動反映されます。土曜日は薄い青色で塗りつぶされ、日曜日は薄い赤色で塗りつぶされます。
横型の月間カレンダーテンプレート

日付が横に並んだ月間カレンダーです。タスクや人名を入力してタスク管理表やシフト表として使うこともできます。
A1に「2023」のように「年」を、B1に「1」のように「月」を入力すると、日付や曜日が自動反映されます。土曜日は薄い青色で塗りつぶされ、日曜日は薄い赤色で塗りつぶされます。
曜日固定型の月間カレンダーテンプレート

卓上カレンダーによく用いられる曜日固定型の月間カレンダーです。日曜日始まりです。
A1に「2023」のように「年」を、B1に「1」のように「月」を入力すると、日付が自動反映されます。マスに余りがある場合は前月や翌月の日付もグレーで表示されます。
Excelで日付と曜日が自動反映されるカレンダーを作るときに使う関数
Excelで日付と曜日が自動反映されるカレンダーを作るときは、以下のような関数を使います。
- DATE関数
- IF関数
- DAY関数
- WEEKDAY関数
DATE関数
DATE関数(デイト関数)とは、指定された年、月、日から日付を作成する関数です。
365 / 2021 / 2019 / 2016 / 2013
DATE(年, 月, 日)
- 年(必須)
- 年を表す数値を1~4桁で指定する。
- 月(必須)
- 月を表す数値を1~12の範囲で指定する。
- 日(必須)
- 日を表す数値を1~31の範囲で指定する。
IF関数
IF関数(イフ関数)とは、条件を満たす場合と満たさない場合とで処理を変える関数です。
365 / 2021 / 2019 / 2016 / 2013
IF(論理式, 真の場合, 偽の場合)
- 論理式(必須)
- 条件を指定する。
- 真の場合(必須)
- 条件を満たす場合の処理を指定する。
- 偽の場合(必須)
- 条件を満たさない場合の処理を指定する。
DAY関数
DAY関数(デイ関数)とは、日付から日を取り出す関数です。
365 / 2021 / 2019 / 2016 / 2013
DAY(シリアル値)
- シリアル値(必須)
- 日を取得したい日付を指定する。
WEEKDAY関数
WEEKDAY関数(ウィークデイ関数)とは、日付に対応する曜日を返す関数です。
365 / 2021 / 2019 / 2016 / 2013
WEEKDAY(シリアル値, 種類)
- シリアル値(必須)
- 曜日を求めたい日付を指定する。
- 種類(省略可)
- 日付に対応する曜日をどの数字で表すか以下のいずれかで指定する。省略すると「1」として処理される。
- 1:1(日)~7(土)
- 2:1(月)~7(日)
- 3:0(月)~6(日)
Excelで日付と曜日が自動反映されるカレンダーを作る方法
Excelで日付と曜日が自動反映されるカレンダーを作る方法を、以下の2パターンにわけてご紹介します。
- 縦型のカレンダーの場合
- 曜日固定型のカレンダーの場合

横型のカレンダーの作り方は縦型とほぼ同じなので、縦型の作り方を参考にしてみてください。
縦型のカレンダーの場合
縦型のカレンダーの作り方を、「縦型の年間カレンダーテンプレート」を例にご紹介します。
日付を自動反映させる方法
日付を自動反映させるには、まず年と月を入力します。

末尾の「年」「月」は、表示形式の設定で表示されるようにしています。やり方は以下の記事を参考にしてみてください。
日付を表示したい範囲を選択して[Ctrl]+[1](フルキー)を押します。

「セルの書式設定」が表示されたら、「表示形式」タブ⇒「ユーザー定義」⇒「d」と入力⇒「OK」を押します。これで年月日を入力しても日付だけが表示されるようになります。

最初の日付を表示したいセルに=DATE($A$1,$A$2,1)
と入力します。$A$1
には年を入力したセルを、$A$2
には月を入力したセルを指定してください。

翌日の日付を表示したいセルに=A3+1
と入力します。A3
には最初の日付が表示されているセルを指定してください。この数式を28日目までオートフィルします。

29日目のセルに=IF(A30="","",IF(DAY(A30+1)=1,"",A30+1))
と入力します。A30
には28日目のセルを指定してください。この数式を31日目までオートフィルします。

これで日付が自動反映されます。29日・30日・31日は、存在する場合のみ表示されます。

曜日を自動反映させる方法
曜日を自動反映させるには、まず曜日を表示したい範囲を選択して「セルの書式設定」を表示し、「表示形式」タブ⇒「ユーザー定義」⇒「aaa」と入力⇒「OK」を押します。これで曜日が「月火水木金土日」の形式で表示されるようになります。

最初の日付の曜日を表示したいセルに=IF(A3<>"",A3,"")
と入力します。A3
には最初の日付が表示されているセルを指定してください。この数式を31日目までオートフィルします。

これで曜日が自動反映されます。日付が存在しない場合は曜日も表示されません。


残りの11ヶ月分も同様に作成すれば、翌年以降は年を変更するだけでカレンダーが作成されます。
曜日固定型のカレンダーの場合
曜日固定型のカレンダーの作り方を、「曜日固定型の月間カレンダーテンプレート」を例にご紹介します。
日付を自動反映させるには、まず年と月を入力します。末尾の「年」「月」は、表示形式の設定で表示されるようにしています。

印刷範囲外に=DATE(A1,B1,1)
と入力し、その月の最初の日付が表示されるようにします。A1
には年を入力したセルを、B1
には月を入力したセルを指定してください。これは計算用なので最終的に非表示にしてしまってもOKです。

日付を表示したい範囲を選択して「セルの書式設定」を表示し、「表示形式」タブ⇒「ユーザー定義」⇒「d」と入力⇒「OK」を押します。

最初の日曜日のセルに=I2-WEEKDAY(I2)+1
と入力します。I2
には最初の日付が表示されているセルを指定してください。

すると、その月の1日が日曜日の場合は「1」と、日曜日ではない場合は、1日より前の直近の日曜日の日付が表示されます。

あとは数式バーに「=前日のセル+1」と入力するだけです。
たとえば、最初の月曜日のセルに=最初の日曜日のセル+1
と入力して土曜日のセルまでオートフィル⇒最終週のセルまでオートフィル⇒2回目の日曜日のセルに=最初の土曜日のセル+1
と入力して最終週のセルまでオートフィルすると速いです。

これで日付が自動反映されます。マスに余りがある場合は前月や翌月の日付も表示されます。

Excelで当月以外の日付の色をグレーにする方法
Excelで当月以外の日付をグレーにするには、まず日付の表示範囲を選択して「新しい書式ルール」を表示し、「数式を使用して、書式設定するセルを決定」⇒=MONTH(A3)<>$B$1
と入力⇒「書式」を押します。A3
には最初の日曜日のセルを、$B$1
には月が入力されているセルを指定してください。

MONTH関数(マンス関数)とは、日付から月を取り出す関数です。
365 / 2021 / 2019 / 2016 / 2013
MONTH(シリアル値)
- シリアル値(必須)
- 月を取得したい日付を指定する。
「セルの書式設定」が表示されたら「フォント」タブを開き、「色」からグレーを選択して「OK」を押します。

「新しい書式ルール」に戻ったら「OK」を押して閉じます。これで当月以外の日付の色がグレーになります。

Excelで土日に色を付ける方法
Excelで土日に色を付けるには、まず色を付けたい範囲を選択し、「ホーム」タブ⇒「条件付き書式」⇒「新しいルール」を選択します。

「新しい書式ルール」が表示されたら、「数式を使用して、書式設定するセルを決定」⇒=WEEKDAY($A3)=7
と入力⇒「書式」を押します。$A3
には最初の日付が表示されているセルを指定してください。

「セルの書式設定」が表示されたら、「塗りつぶし」タブを開き、土曜日の色を選択して「OK」を押します。

「新しい書式ルール」に戻ったら「OK」を押して閉じます。

日曜日は同様に=WEEKDAY($A3)=1
と入力して日曜日の色を選択すればOKです。すると、土曜日と日曜日に色が付きます。

Excelで祝日に色を付ける方法
Excelで祝日に色を付ける手順は以下のとおりです。
- 祝日リストを作る
- 色を付けたい範囲に条件付き書式を設定する
手順1:祝日リストを作る
まずは祝日リストを作成します。「祝日リスト」シートに、祝日の日付、曜日、名称などをまとめます。例ではA2:C18にまとめています。

2023年の祝日リストを作成したい方は、以下をコピペしてください。
日付 | 曜日 | 名称 |
---|---|---|
2023/1/1 | 日 | 元日 |
2023/1/2 | 月 | 休日 |
2023/1/9 | 月 | 成人の日 |
2023/2/11 | 土 | 建国記念の日 |
2023/2/23 | 木 | 天皇誕生日 |
2023/3/21 | 火 | 春分の日 |
2023/4/29 | 土 | 昭和の日 |
2023/5/3 | 水 | 憲法記念日 |
2023/5/4 | 木 | みどりの日 |
2023/5/5 | 金 | こどもの日 |
2023/7/17 | 月 | 海の日 |
2023/8/11 | 金 | 山の日 |
2023/9/18 | 月 | 敬老の日 |
2023/9/23 | 土 | 秋分の日 |
2023/10/9 | 月 | スポーツの日 |
2023/11/3 | 金 | 文化の日 |
2023/11/23 | 木 | 勤労感謝の日 |
手順2:色を付けたい範囲に条件付き書式を設定する
祝日リストを作成したら、まず色を付けたい範囲を選択して「新しい書式ルール」を表示し、「数式を使用して、書式設定するセルを決定」⇒=COUNTIF(祝日リスト!$A$2:$C$18,$A3)
と入力⇒「書式」を押します。$A3
には最初の日付が表示されているセルを指定してください。

COUNTIF関数(カウントイフ関数)とは、単一の条件に一致するセルの個数を求める関数です。
365 / 2021 / 2019 / 2016 / 2013
COUNTIF(範囲, 検索条件)
- 範囲(必須)
- 検索する範囲を指定する。
- 検索条件(必須)
- 検索する条件を指定する。
「セルの書式設定」が表示されたら、「塗りつぶし」タブを開き、祝日の色を選択して「OK」を押します。例では薄い黄色を選択しています。

「新しい書式ルール」に戻ったら「OK」を押して閉じます。これで祝日に色が付きます。

まとめ
今回は、Excelで日付と曜日が自動反映されるカレンダーを作る方法をご紹介しました。
Excelでカレンダーを作る方法は意外と簡単です。いくつかの関数と条件付き書式の使い方がわかっていれば、年間カレンダーも数分で完成するでしょう。
自分好みのカレンダーを作りたい方や、カレンダーの購入費用を節約したい方は、ぜひこの記事を参考にしてみてくださいね。