今回はエクセルで作成する、カレンダーの紹介です。
セルに年と月を入力すると、下記のように自動で1カ月のカレンダーが作成されます。
セルA1に「2020/2」と入力すると、下記のように自動で土日も色付き、前後の月のカレンダーもグレーの文字で表示されます。
完成版を下記のリンクにて公開しています。ぜひ参考にしてください。
準備 年と月を入力するセルと週のセルを設定
まずはカレンダーを作りたい月、ここではA1セルに「2020/1」と入力します。
すると、環境によって表示が変わるかもしれませんが、今回は下図のように表示されました。後ほどセルの書式設定で変更しますから、どのように表示されても今の段階では構いません。
ちなみにセルに「2020/1」と入力すると、自動的にセルの内容は「2020/1/1」となります。
WEEKDAY関数とCOLUMN関数
曜日は日曜日から土曜日まで手入力でもいいのですが、今回は関数を利用して表示します。
まず「WEEKDAY関数」とは、日付のシリアル値(後述)から曜日を取得する関数です。
また、シリアル値とは別に「1」が「日曜日」、「2」が「月曜日」と順に「7」が「土曜日」という値も持っています。
さらに「COLUMN関数」は文字通り「列番号」を取得します。
「A2」セルに「=WEEKDAY(COLUMN))」と入力します。
ご覧のように「WEEKDAY関数」は「1」という数値を表示しました。
後ほど「セルの書式設定」で表示を変更します。
「A2」セルの内容を「G2」セルまでドラッグでコピーします。
セルの書式設定で曜日を表示
それでは「セルの書式設定」で曜日を表示させて見ましょう。
「A2」〜「G2」セルを選択した状態でキーボードの「Ctrl」+「1」を押して「セルの書式設定」を開きます。
「セルの書式設定」で「ユーザー設定」「種類」ボックスに「ddd」と入力してOKをクリックします。
以下は「セルの書式設定」で設定できる年や月、日付や曜日の表示形式の一覧です。
お好みで変更していただいても大丈夫です。
表示形式 | 表示例 | |
西暦 | yyyy年 | 2019年 |
西暦 | yy年 | 19年 |
和暦 | ggge年 | 令和1年 |
和暦 | ge | R1 |
月名 | m月 | 8月 |
月名 | mm月 | 08月 |
月名 | mmm | Aug |
月名 | mmmm | August |
日付 | d日 | 1日 |
日付 | dd日 | 01日 |
曜日 | aaa | 月 |
曜日 | aaaa | 月曜日 |
曜日 | ddd | Mon |
曜日 | dddd | Monday |
ご覧のように数字(シリアル値)から曜日に変更されました。
指定した月の最初の週の日付を確定する
続いて、指定した月(ここでは2020年1月)の最初の第一週目の日付を取得します。
先の曜日とは別に、エクセルは日付もシリアル値で管理しています。
日付のシリアル値は「1900年1月1日」を「1」とし、そこからの経過日数を数えています。
「A1」セルには「2020年1月1日」が格納されていますが、ここではシリアル値を調べる必要はありません。
「2020年1月1日」は水曜日(4)ですから、その週の始まりは日曜日(1)です。今回の例では3日の差があります。
ですから「2020年1月1日」の3日前が週の始まり、日曜日の日付となります。月初めの日にから「-3」すればいいことが分かります。
ですので「A3」セルに「=$A$1-WEEKDAY($A$1)+1」と入力します。
数式の意味は「A1セルの日付のシリアル値(2020年1月1日)」ー「曜日のシリアル値(ここでは水曜日)+1」という意味です。+1は日曜日に合わせるための調整です。
これで月の始まりの「1日」が何曜日であっても正確に週の初日の日曜日のシリアル値を取得することができます。
ここは少し難しいので、理解しにくい場合でもそのまま入力すれば大丈夫です。
このままでは分かりにくくなりますので、「セルの書式設定」で日付表示を変更しておきます。
セルの書式設定で、下記を選択してください。
A3セルに西暦とともに日付が表示されました。
この後は簡単です。日付はシリアル値で管理されていますので、「+1」をしていくだけです。
「B4」セルに「=A3+1」を入力します。
月曜日のセルに次の日が表示されました。
そのまま、B3セルをG3セルまでコピーしてカレンダーの第一週目は完成です。
カレンダーの日付を第6週まで確定させる
次に各週の先頭(日曜日)の日付を自動入力する設定をします。
A4セルに「=G3+1」と入力します。数式の意味はもうお分かりですね。
続いて「B4」セルには「=A4+1」と入力します。
その後、B4セルをG4セルまでコピーすると第二週目の完成です。
さらに第六週までの先頭(日曜日)の日付を計算する式をコピーします。
A4セルをA8セルまでドラッグしてコピーします。表示はおかしくなりますが、今はこのままで大丈夫です。
最後に、B4~G4セルを選択し、G8セル(8行目)までコピーして一旦カレンダーの完成です。
カレンダーをセルの書式設定で見やすくする
それでは、カレンダーをセルの書式設定によって見やすくしていきましょう。
セルの書式設定で日付のみの表示にする
まずは、年月と日付が表示されていますので、日付のみの表示に設定します。
A3セルからG8セルを選択し、「セルの書式設定」をします。
「ユーザー定義」「種類」ボックスに「d」と入力して「OK」を押します。
カレンダーの月表示をカスタマイズする
続いてカレンダーのタイトルの表示を変更します。
セルA1を選択して同じくセルの書式設定を開きます。
「ユーザー定義」や「日付」から、好みで選択してください。以下の例では「yyyy/mmmm」としています。サンプルを参考にしてください。
以上の設定が完了すると、下図のようになります。
随分カレンダーらしくなりました。
土日に色を付ける
続いて土日の日付のフォントに色をつけます。
今回のカレンダーでは土日のセルが決まっていますので、「条件付き書式」を利用しなくても簡単に設定できますね。
A2~A8セルを選択後、書式設定でフォントの色を「赤」に、G2~G8セルを選択後同じく書式設定でフォントの色を「青」にします。
下の画像はタイトルと、日曜と土曜のセルのフォントの色を変更したカレンダーとなります。
当該月以外の日付を条件付き書式でグレーにする
最後に、当該月以外の日付(今回では2019年12月と2020年2月)をグレーのフォント色に変更します。
そのためには「条件付き書式」を利用する必要があります。
セル範囲A3〜G8を選択します。
「ホーム」「条件付き書式」から「新しいルール」をクリックします。
「新しい書式ルール」では、「指定の値を含むセルだけを書式設定」を選択後、「次の値の間以外」を選択します。
ここでは、A1セルで入力した月以外の日付をグレーにしますから、セル範囲をA1セルからEDATE関数を利用して正確な1か月後の日付を取得して、マイナス1する事で当該月の範囲にしています。
「セルの書式設定」では、フォントの色をグレーにします(お好みで変更可能)。
以上で設定は完了です。あとはお好みに応じてフォントの種類やサイズなどを変更してください。
年月を入力するだけで自動生成されるカレンダーの完成
もちろん、A1セルに年と月を入力すると自動でカレンダーが生成されます。
シートをコピーして永久に毎月利用可能なカレンダーになります。
下の画像は「2020/5」にした例です。
もちろん、各週の下に行を挿入してもカレンダーは崩れたりしませんのでご安心ください。
祝日を自動的に表示させることもできるのですが、今回はここまでとします。
後日、祝日も自動的に表示させる方法を記事にしたいと思います。
追記:記事にしました。
下記はさらに全自動、予定も書き込み可能なスケジュール管理万年カレンダーのご紹介です。
ご不明な点がありましたら気軽にコメントいただけたら幸いです。
コメント