Press "Enter" to skip to content

エクセルで祝日表示のあるカレンダーを自作する(実践編)

Last updated on 2024年3月3日

祝日を表示するためには、下記のリンクで設定してからこちらにおいでください。

https://okac.net/?p=1508(新しいタブで開く

月間カレンダーを作成してみよう

以前、テレビを見ていて、加賀まりこさんが、自分のスケジュール管理について話をしていました。
Youtubeで探してみたのですが、見つけることができませんでした。もしかしたら、加賀まりこさんでは無いかもしれません。
その時の話で、「A4一枚で、用紙の中央に月間カレンダーが書いてあり、その日付から線を引いて、その日の予定をマネージャーが書いてくれています。」と言っていました。
その紙だけで手帳とかは使っていないといっていました。

まりこ手帳

中央に月間カレンダーを書いて、日付から線を引いて予定を書く。これができるようなカレンダーを作成してみます。
月曜から始まるように指定しています。このカレンダーを参考にして改造すれば、日曜始まりのカレンダーも、週間カレンダーも、一日一ページのカレンダーも作成することができます。

excelファイルの新規作成

(1)新規にエクセルファイルを開きます。
(2)使用するフォントを設定する。
空白のブックを開き、「A1」を選択して、Ctrt+Aでシートを全選択します。
私は、HGP正楷書体の11フォントを選びました。
(3)入力する文字が中央に来るようにします。
(4)列幅と、行の高さを指定します。
Aにカーソルを合わせ、右クリックし、「列の幅」を選択して、列の幅を「2.5」にしました。
続いて「行の高さ」を「13.5」にしました。
列の幅と行の高さは、個人の趣味に合わせて大丈夫です。
(5)ページレイアウト→印刷タイトルを選び、ヘッダーを指定して、タイトルを「まりこ手帳」にしました。
(6)用紙サイズをA4横、余白は最小としました。
(7)ファイルを名前を付けて保存して、作ったファイルがなくならないようにします。
 ファイル名を「mariko_techo」としました。以降は情報を更新する都度、上書き保存して情報が消えることが無いようにしています。

当月表示

R11からX11を選択して、セルを結合して中央揃えを選択。値として、9/1を入力しておきます。
Ctrt+Sで「mariko_techo」を上書き保存してください。

右クリックして、書式をユーザー定義で「yyyy(gee)”年”m”月”」と設定します。括弧の中に和暦が略式表示されます。
好みによって、文字の大きさ・色、太字、アンダーラインを設定してください。
フォントは14にし、太字でアンダーラインを引いています。色は黒より少し薄くしました。
Ctrt+Sで「mariko_techo」を上書き保存します。

曜日の記入

R13からX13まで、曜日を文字入力し、罫線で囲み、文字を中央揃えにしておきます。
Ctrt+Sで「mariko_techo」を上書き保存します。

日付欄の作成

日付を上段に、祝日を下段に表示するために、下記のような罫線を引き、上段の書式を「d」にします。(年月日のうち日付だけを一桁で表示する書式です)
行の高さが高すぎたので、12に変更しました。
Ctrt+Sで「mariko_techo」を上書き保存します。

日付の入力

R14に「=R11-WEEKDAY(R11,3)」と入力します。
R11は、最初に入力した「2023/09/01」が入っています。WEEKDAY(R11,3)は、R11が月曜を0として何番目の曜日かを表しています。実際の数値は、0番目(月曜日)から数えて4番目の曜日(金曜日)が2021/09/01です。
だから、2023/09/01から4を引いた日付が月曜の日付になります。値は2023/08/28ですが、書式が「d」となっているため28と表示されます。
隣の火曜日(S14)は、R14+1と入力すれば、実際にR14の日付の次の日が表示されます。うるう年や31日、30日などはExcelが勝手に管理してれますので計算式で考える必要はありません。
Ctrt+Sで「mariko_techo」を上書き保存します。

他の日付を作っていきます。
一週目の火曜日は、「=R14+1」で、この計算式を日曜日までコピーします。
二週目の月曜日は、一週目の月曜日に7を加えます。計算式は「=R14+7」、
火曜日以降(S16)は、月曜日(R16)に1を加えます。実際には、「=R16+1」と入力します。この計算式を日曜日までコピーします。
三週目の月曜日は、「=R16+7」、火曜日以降は、月曜日に1を加えます。この計算式を日曜日までコピーします。
四週目の月曜日は、「=R18+7」、火曜日以降は、月曜日に1を加えます。この計算式を日曜日までコピーします。
五週目の月曜日は、「=R20+7」、火曜日以降は、月曜日に1を加えます。この計算式を日曜日までコピーします。
六週目の月曜日は、「=R22+7」、火曜日以降は、月曜日に1を加えます。この計算式を日曜日までコピーします。
六週目は火曜日までで、水曜以降は入力する必要はありません。第一週の日曜日が1日の場合でも、六週目の火曜日が31日となるため、水曜以降は入力が不要です。自分で必要だと思ったら入力しても良いです。
Ctrt+Sで「mariko_techo」を上書き保存します。

祝日表示する

ここで祝日表示のマクロを使います。
しかし、カレンダーで「こどもの日」とか、祝日を表示するにはこのカレンダーのエリアが狭すぎます。

祝日表示するだけなら、「=kt祝日名取得(text(R14,”yyyy/mm/dd”))」で良いはずですが、left関数を使って左からN個を取り出すようにします。実際には1文字だけを取り出しています。(2024/3/3 訂正しました)

R15の欄に、「=LEFT(kt祝日名取得(text(R14,”yyyy/mm/dd”)),1)」と入力すると、R14が祝日なら、左から一文字目を表示できます。(2024/3/3 訂正しました)

R15の文字色を赤にしておくとよいかもしれません。
R15を、他の日付の下にすべてコピーします。29日から一番下の3日までコピーすることになります。
この9月の例では、18日と23日に祝日が表示されています。表示されなければ、マクロが有効になっていませんので、このページの先頭に戻って設定をやり直してください。
Ctrt+Sで「mariko_techo」を上書き保存します。

次月の表示

C36からH36を選択して、セルを結合して中央揃えを選択します。数式「=DATE(YEAR(R11),MONTH(R11) +1,1)」を入力し、書式に「yyyy(gee)”年”m”月”」を設定しておきます。R11は9月なので、9月「MONTH(R11)」に1を加えて10月にしています。
フォントは12にし、太字としました。文字色は黒より薄く設定しています。
Ctrt+Sで「mariko_techo」を上書き保存します。

次月日付の作成

I36からAM36まで、書式を「d」にします。日付だけを表示する設定です。
I36に1日の日付を入力します。実際には、C36が2023/10/1なので、I36に数式「=C36」と入力すると1と表示されます。
2日以降の数値は、J36に数式「=I36+1」と入力します。J36をAM36までコピーします。
この操作により、1日から31日分の日付が入力されます。
Ctrt+Sで「mariko_techo」を上書き保存します。

次月の曜日作成

I37からAM37まで、書式を「aaa」とし、フォントサイズを9に設定します。「aaa」は、曜日を一文字だけ表示する設定。
I37に数式「=I36」と入力します。I36の値は、2023/10/1なので、書式「aaa」と設定しているため、日曜日である「日」が表示されます。
I37をAM37までコピーします。これで31日分の曜日が設定されます。
Ctrt+Sで「mariko_techo」を上書き保存します。

次月の祝日表示

I38の文字色を赤に設定。フォントサイズは、個人の好みで設定してください。
I38に数式「=LEFT(kt祝日名取得(text(I36,”yyyy/mm/dd”)),1)」と入力します。祝日でないため、何も表示されません。
I38をAM38までコピーします。これで祝日が表示されます。2023/10/9はスポーツの日ですので「ス」と表示されています。表示されなければ、マクロが有効になっていませんので、このページの先頭に戻って設定をやり直してください。
Ctrt+Sで「mariko_techo」を上書き保存します。

動作確認

R11に戻り、2023/9/1と表示されているエリアに別の値を入力し、第一週の1日が正しい位置に表示されているか と 祝日が表示されるかを確認します。
別の値とは、1/1、2/1、3/1、4/1、5/1、6/1、7/1、8/1、9/1、10/1、11/1、12/1などです。
自分の生まれた年度と月を入力すると、自分の誕生日が何曜日なのか知ることができます。
例:2000/10/25生まれの方は、2000/10/1と入力します。

カレンダーの加工

文字色やフォントの種類、文字の大きさ、文字の色など、自分好みに変更して使えば、自分だけの手帳ができあがります。
9月のカレンダーを作成しましたが、表示を見ると、先頭に前月の8月の日付が入っていて、最後の方に10月の日付が入っています。このままでも問題はありませんが、表示しないように設定もできます。

前月日付を調べる

もし、1日が月曜日だとしたら、日曜日は7日です。つまり先頭の週は、1から7以外の数値は入らず、7以上の数値が入っていたら前月の日付だということがわかります。演算式で書くと「日付 > 7」となります。

次月日付を調べる

2月が月間日数が一番少なく、28日が最低です。第一週の月曜日が2月1日とすると、四週目の日曜日が2月28日となります。翌週の月曜日は3月1日になります。上記のカレンダーでは、9月25日から10月3日までの9日間です。ここに3月1日から3月9日までが表示されます。つまり10より小さい数値が表示されているのは次月ということになります。演算式で書くなら「日付 < 10」となります。不等号の向きが前月日付と逆になっています。

条件付き書式の使用

前月日付を非表示

R14とR15を選択して、メニューの中から条件付き書式を選択し、「新しいルール」を作成します。

「数式を使用して、書式設定するセルを決定」を選び、「=(DAY(R$14) > 7)」を「次の数式を満たす場合に値を書式設定(E) の欄に入力。
書式を選んで文字と背景を「白」にすることにより、表示している日付を見えなくする。

フォントと塗りつぶしを「白」に設定して、文字を見えなくする。

R14とR15を選択してコピーを選択。S14からW15を選択して、「書式だけをコピー」します。
これで、第一週の月曜から土曜まで、先月の日付が表示されている場合に文字が見えなくなります。

次月日付の非表示

R22とR23を選択して、メニューの中から条件付き書式を選択し、「新しいルール」を作成します。
「数式を使用して、書式設定するセルを決定」を選び、「=(DAY(R$22) < 10)」を「次の数式を満たす場合に値を書式設定(E) の欄に入力。
書式を選んで文字と背景を「白」にすることにより、表示している日付を見えなくする。
R22とR23を選択してコピーを選択。S22からW23を選択して、「書式だけをコピー」します。
これで、第五週の月曜から日曜まで、次月の日付が表示されている場合に文字が見えなくなります。
同様にR24とR25、S24とS25にもコピーして文字が見えないことを確認してください。

次月カレンダー日付の非表示

AK36とAK37とAK38を選択して、メニューの中から条件付き書式を選択し、「新しいルール」を作成します。
「数式を使用して、書式設定するセルを決定」を選び、「=(DAY(AK36) < 28)」を「次の数式を満たす場合に値を書式設定(E) の欄に入力。
書式を選んで文字と背景を「白」にして、表示している日付を見えなくします。

著作権表示

お借りしたaddinboxさんへの感謝を込めて著作権表示しておきます。

エクセルを使ってカレンダーを作成し、自分好みのレイアウトを使って効率的な情報管理ができることを期待しています。
私が作ったものは、ご自由にお使いください。作るのが面倒なのでエクセルファイルが欲しいという方は申し出てください。

調整

文字の大きさ、色、太字など、自分流に改良してください。

Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です