【2021年】Excel(エクセル)で年間カレンダーの作り方(vba なし)

Excel(エクセル)で年間カレンダーを簡単に作成する方法をご紹介します。

 

今回作成するカレンダーは、新年度と祝日にも対応可能です。

これさえあれば、いつでもカレンダーでスケジュールがまとめることが可能です。

 

このページでは、簡単なカレンダーの作成方法と私が実際に作成した Excel カレンダー のファイルについてご紹介します。

作成した Excel カレンダーについて下記ボタンからダウンロードできます。

初期設定で2020年度カレンダーになっています。

※ 2020年11月更新(説明文は2019年の内容ですが、問題なく利用できます!)
2021 年度カレンダー

 

※ なおカレンダー以外にもデジタル時計を Excel で作成した記事もあります。

この二つがあれば時間管理は完璧になる(たぶん)と思います。よければこちらもどうぞ!

 

スポンサーリンク

カレンダーの作成方法

カレンダー作成は下記の流れで行います。

  1. カレンダーのヘッダー
  2. カレンダーの日付
  3. カレンダーの休日(祝日)名を表示

 

カレンダーのヘッダー

まずはカレンダーのヘッダーを作成します。

カレンダーのヘッダーは(普通のカレンダーは)曜日「日」~「土」で構成されます。

文字で入力しても問題ないのですが、ここは TEXT 関数で曜日を入力する方法をご紹介します。

TEXT関数は入力した日付から曜日を取得可能です。

 

 

「TEXT」関数

表記方法
=TEXT(値,表記形式)

曜日を表示させる日付を入力します。

例えば下記画面のように、「2018/12/8」と入力すれば「土」と出力されます。

数字「1~7」を入力すると「日」~「月」までの値を取得できます。

数字「8、9、10...」以降を入力すると「日、月、火...」とループします。

 

表記形式

表記形式について下記が指定できます。

※ TEXT関数は本来、値をさまざまな形式で表記させることが可能ですが、本ページでは曜日の表記方法のみを説明します。

 

aaaa 曜日を表示します (例)月曜日 =TEXT(B2,"aaaa")
aaa 曜日を短縮形で表示します (例)月 =TEXT(B2,"aaa")
dddd 曜日を英語で表示します (例)Monday =TEXT(B2,"dddd")
ddd 曜日を短縮形の英語で表示します (例)Mon =TEXT(B2,"ddd")

 

カレンダーの日付

 

(1)カレンダーの日付についてですが、まずカレンダー表の一番左上のセル(B3セル)に下記の関数を入力すればOKです。

 

入力する値
=DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+1

 

$A$1 には「年度」、$B$1には「月」を指定します。

 

 

「DATE」関数

表記方法
=DATE(年,月,日)

 

入力した年、月、日の値から日付を取得します。

たとえば 「=DATE(2020,12,31)」と入力すると、「2020/12/31」が出力されます。

 

「WEEKDAY」関数

日付に対応する曜日(日曜~土曜)から数字(1~7)を取得します。

表記方法
=WEEKDAY(シリアル値,週の基準)
シリアル値

DATE関数で日付を指定します。

週の基準

下記表は、指定する「週の基準」値とその説明についてです。

例えば、週の基準を「2」とすると、【シリアル値】で指定した日付が月曜日の場合、「1」、火曜日の場合「2」を返します。

要は、関数が返す値をここで設定することが可能ということです。なお省略した場合「1」になります。

※ 省略は可能です(省略した場合「1」)。今回は不要なので省略しています。

 

週の基準 説明
1 1 (日曜日) ~ 7 (土曜日)
2 1 (月曜日) ~ 7 (日曜日)
3 0 (月曜日) ~ 6 (日曜日)
11 1 (火曜日) ~ 7 (日曜日)
12 1 (水曜日) ~ 7 (月曜日)
13 1 (木曜日) ~ 7 (火曜日)
14 1 (木曜日) ~ 7 (水曜日)
15 1 (金曜日) ~ 7 (木曜日)
16 1 (土曜日) ~ 7 (金曜日)
17 1 (日曜日) ~ 7 (土曜日)

 

(2)下記画面のように、さきほど(1)で作成したセル(B3セル)に「1」足した値をすぐ隣のセル(C3セル)に入力します。

 

 

(3)C3セルをコピーし、D3からH3セルに貼り付けます。

 

 

(4)二行目のセル(B4)にH3の値に「1」足した値を入力します。

 

 

(5)(2)と同様に B4に「1」足した値をB5セルに入力します。

 

 

(6)(3)~ (5)の手順を行うことでカレンダー表に日付を完成させます。

 

 

日付の書式変更

カレンダーの日付ですが下記のように「年/月/日」と表示されていますが、

大抵のカレンダーは「日」のみで表示されています。

日付の表記形式の設定方法ですが、セルを選択して右クリックし「セルの書式設定」を選択します。

 

 

「表示形式」→ 「ユーザー定義」をクリックし、「種類」の入力欄に "d" と入力します。

その後「OK」ボタンをクリックします。

 

 

下記のように「日」のみが表示されます。いよいよカレンダーらしくなってきましたね。

 

カレンダーの休日(祝日)名を表示

休日(祝日)名についての表示方法です。

 

(1)まず先ほどカレンダーを下記画面のように一列ごと間をあけてください。

 

 

(2)新しいシートを作成します(下記画面では、「休日と年度」シート)。そして休日と休日の名称を貼り付けます。

 

 

(3)カレンダーを作成したシートで先ほど追加した列(下記画面の赤枠)に、下記コードを貼り付けます。

 

 

貼り付けるコード

=IFERROR(VLOOKUP(TEXT(B3,"m/d"),休日と年度!$A$2:$B$95,2,FALSE),"")

B3 について、貼り付けるセルに応じて変更させてください

(例)G3(1/1 (元日)の横)に貼り付けする場合、B3 →  F3 に変更

 

(4)下記のように、日付の横に休日(祝日)名が表示されます。

 

 

(5)カレンダーのレイアウトを変更してください。下記のように見やすくしましょう!!

 

作成した Excel カレンダーについて

下記のシート名で構成されています。各シートについて順に説明します。

  1. スケジュール
  2. 休日と年度
  3. 全月
  4. 1月 ~ 12月

 

休日と年度」シート

下記のように二つのテーブルがあります。

A列とB列のテーブルで「休日」を登録できます。A列の日付フォーマットは「m/d」(セルの書式は”文字列”)です。

D列の「年度」で変更可能です。D列の日付フォーマットは「yyyy」(セルの書式は”文字列”)です。

 

 

「1月」~「12月」シート

1月から12月のカレンダーです。休日(祝日)の場合、休日名が表示されます。

 

 

スケジュール

「スケジュール」シートでは、自分で入力した年月ごとの予定をカレンダーに表示できるようにしています。

  • 「年月日(yyyy/mm/dd)」列 : 予定を入れる年月日を入力します。
  • 「予定」列 : 年月日の予定を入力します。
注意点
日付は yyyy/mm/dd 形式にしてください。(例)2020年12月31日 → 2020/12/31

 

やりかた

カレンダーの日付の値から予定の値を抽出するように MATCH × INDEX関数(以下の値は一例)を使用しています。

=IFERROR(INDEX(スケジュール!$B:$B,MATCH(B5,スケジュール!$A:$A,0),1)&"","")

 

※ MATCH × INDEX関数 の使い方については下記リンクを参考にしてください。

 

全月

「全月」シートでは、1月 ~ 12月のカレンダーすべてを表示させています。

「スケジュール」シートで入力した予定についても表示されるようになっています。

 

やりかた

コピーしたいカレンダー(1月から12月)をコピーして、

「ホーム」→ 「貼り付け」→ 「その他の貼り付けオプション」から「リンクされた図」(下記図の赤枠)を選択し、

コピーした表を画像として貼り付けます。

それを1月から12月のカレンダーについて行い、シートに並べます。

 

 

最後に

作成時間は大体1時間~2時間くらいです(記事にまとめるほうが長かったです、、)

長々と解説しましたが、めんどくさいという方は私が作成したExcel カレンダーをつかっていただければ何も問題がありません。

 

年度も休日も自由に追加&変更可能なので、ぜひ使ってみてください。

スポンサーリンク
おすすめの記事