型月間カレンダーを使いたい方へ、それでもやはり「Excelを使う」ことをおすすめします.png)

せるワザでは、ビジネス・パーソンの個人的なスケジュール管理ツールとして、過去にもExcelをゲキ推ししてきました。
Excelは、やっぱり最強のスケジュール管理ソフトでした!!
なぜなら、レイアウトの自由度が高く、サービス・ベンダーの仕様にも左右されず、いくらでもカスタマイズできるからです。
Excel→CSV→Google Calendarインポートを覚えておくと、予定表の一元管理にとっても便利
また、CSVやXMLファイルなどへ変換することで、Google Calendarやスマートウォッチなどとも予定を同期できます。社内プロジェクト・メンバーとの間だけで連絡をとりあうビジネス・チャット製品の多くも、csvスケジュール・インポートに対応していますので、わざわざ再度、予定を入力しなおす必要がありません。
とはいえねぇ…
以前ご紹介したコレ ↓ だけでは、ちょっとアッサリしすぎてますかね?


日付の足し引き計算もできたりして、とても便利なんですけどね。
やはり子供の頃からなれ親しんできた、スクエア型月間カレンダーの方が良いですか?
それも、Excelで表現してしまうことをオススメしますよ。
Excel関数をうまく使えば、スクエア型の月間カレンダーが、あっという間にできてしまいます。


この記事では、Excel関数で上図のようなスクエア型万年カレンダーを作成する方法について解説します。
ちなみに、上図の仕上がりは、一般的な”長さ4:3比率”の長方形ではないですよね。
そうです! スマートフォンで表示しきれるタテヨコ比のワークシートにしてみました。
スクエア型カレンダーを万年対応させるキモは、「1日が何曜日から始まるか」をExcel関数でわり出すこと
まず、1ヶ月28日分なり、31日分の日付を埋め込むスクエア(四角)型のカレンダー・テンプレートを作成します。


カレンダー・タイトルは自由に名付けるにせよ、年月を数値で指定するヘッダは必ず作成してください(この情報が、後ほどExcel関数で日付シリアル値を生成するために使われます)。
自由入力セルのままでもよいですが、表示する年月の範囲は限られるでしょうから、[データ]→[入力規則…]→[リスト]で、必要な西暦年の範囲、1月から12月までの数値をプルダウン・リストにしておくと、誤入力が防げます。
続いて、月〜日までの曜日を入力します。
市販のカレンダーでは、キリスト教由来の伝統により、日曜始まりの月間カレンダーも多数見かけますが、ビジネス用途では、月曜始まりの方が使いやすいですね。


上図のセルB6へ、
=IF(A6=””,IF(TEXT($C$3&”/”&$E$3&”/”&1,”aaa”)=B$5,”1″,””),A6+1)
という関数式を入力します。
“A6セルが空白の場合、テキスト関数でつなげた2025/4/1という日付の曜日が、5行目の曜日と一致するならば1(1日目)とする。A6セルが空白でない場合には、A6セルに1を足す”という意味です。これで、指定する年月がいつでもあっても、1日目が何曜日かを判定し、スクエア型月間カレンダーのマス目に、正しく日付を埋め込んでいけるようになります。


1ヶ月は、最低28日間以上はありますから、1日目から28日目までは、前日+1という単純な計算式で、正しい日付になります。それでは、「4月31日」とか「5月32日」というような誤った表示をさけるために、月末の関数式をどうしたらよいでしょうか?


たとえば、上図の28日目に当たるマスは、関数式
=IFERROR(IF(LEN(TEXT($C$3&”/”&$E$3&”/”&H12+1,”aaa”))=1,H12+1,””),””)
で求めています。つまり、
“「2025/4/28」が実在する日(実在する曜日)であれば、※LEN(日付,”曜日”)=1 前日マスの日付に1を足す。そうでなければ、そのマスは空欄とする。”
という指示です。これで、2月末は28日(うるう年のぞく)までの表示となり、月末が30日までか、31日までかを正確に判定できるようになります。
文字列操作関数で日付のシリアル値を作れるので、VLOOKUP関数で、別表からスケジュールを読み込めます
前章で「日付」を取り出すには、TEXT関数を使って、「曜日」を比較する方法をとりました。今度は、「曜日」ではなく「日付のシリアル値」を作っておけば、VLOOKUP関数で別表のスケジュールを読み込むことができます。
たとえば、


仮に”List2”と名づけた別表の予定表を参照する場合は、


=VLOOKUP(VALUE(CONCAT($C$3,”/”,$E$3,”/”,C6)),List2,2,0)
という関数式を、内容欄へ入力します。
CONCAT関数で「年」「月」「日」の数字をスラッシュ付きでつなぎ( 例;2025/4/1 )、VALUE関数でその日付のシリアル値を求めたら、そのシリアル値を検索値として、別表の情報を読み込むのです。
「日付」+「予定(内容)」の別表は、ご自身で手入力したものはもちろん、他のカレンダー/ToDoアプリからエクスポートしたもの、PDFなどから文字認識したものもの使えますから、オンとオフの予定を一体化させてもよいですし、チームや家族の予定を合体させる、というような応用も、自由自在ですね。
まとめ;スクエア型カレンダーもやっぱりExcel!関数を駆使し、なれ親しんだ月間スタイルでカスタマイズ自由自在
前章のようなスクエア型カレンダーが出来上がってしまえば、スマートフォンで表示、入力するもよし、ダッシュボードにして毎朝確認するもよし、使い方も自由自在ですね。
一度だけ正確なExcel関数式を組み立てて、スクエア型カレンダー・テンプレートを作ってしまえば、あとからそこへ流し込む内容自体は、カスタマイズ自由自在です。
使用する関数も一般的なものばかりで、難しくはありませんから、ぜひ一度、あなたご自身の「オリジナル・カレンダー」をExcelで自作してみませんか?



自分で作ったテンプレートには愛着がわきますし、予定忘れ防止にもつながりやすくなりますよ!





