僕はがんばればExcelでロケットも飛ばせるのではと思うことがたまにあるのですが、今日は普通にカレンダーを作ってみたいと思います。
Excelでロケットを飛ばしたら「大変です、画面が真っ白で動きません」とか、「間違えてセルを削除してしまったため数式が壊れてしまいました」みたいなことで、なかなか飛ばないのだろうなと想像しています。
完成形のExcelカレンダー
完成形はこうなるを最初に見ておいて、作り方はどうするを見ていきたいと思います。
祝日と土日の色付けもできていますが、タイトル行と日付以外はすべて数式になっています。
曜日の数式
曜日の列のすべてのセルには、下記のような数式を入力しておきます。
=CHOOSE(WEEKDAY(A2,1),”日”,”月”,”火”,”水”,”木”,”金”,”土”)
WEEKDAY関数はA列の値を見て日曜だったら1、月曜だったら2・・・土曜は7と順番に数値を割り当ててくれます。
CHOOSE関数でその1から7の値を、文字列の「日」から「土」に変換しています。
祝日と休日の数式
祝日を数式にするには、別のシートなどで「祝日マスタ」を用意しておく必要があります。
臨時の休日も今回用意してみました。
こんな感じですが、正確な祝日の表を卓上カレンダーなどから入力するのは大変なので、内閣府のサイトから引用して整形しています。
条件付き書式で色付けする
特定の列だけ判定してその行全体に色付けする方法を思い出すのに30分ぐらいかかりましたが、無事に完成しました。
たとえば土曜日(青色)の数式はVLOOKUP関数で「=VLOOKUP($B1,休日!$A$1:$B$10,2,FALSE)=”△”」としています。
これはまた休日を設定したシートの上の方のセルを参照しています。
じつは曜日の設定を隠し持っていました。
ここで休みが土日ではない人も、自由に曜日ごとの休みを設定できるという感じです。
サンプルのExcelでは△が青で〇が赤にしていて、条件付き書式やVLOOKUP関数を修正すれば自由に変えることもできます。
完成したExcelファイルはこちら
ダウンロードして自由に編集したり使ったりしてみてください。