【Excel】祝日を自動で塗りつぶす【年間行事予定の作成】

未分類

年間行事予定を作成するとき、苦労したことはありませんか?カレンダーを見ながら日付や曜日を入力したり、土日祝日を塗りつぶしたり、、、そのような煩わしい作業をExcelの機能を使って自動化する方法を紹介します。

この記事では、祝日を自動で塗りつぶす方法について扱います。

祝日を塗りつぶす作業の前提として、DATE関数やTEXT関数を使って日付と曜日が表示され、自動で土日が塗りつぶされる年間行事予定表が必要です。ここでは前回の記事で作成したものを使います。

祝日一覧に名前の定義をする。

前回の記事で祝日一覧のシートにテーブルを作成しました。A列の祝日の日付だけが入っているセルをすべてドラッグで選択します。「数式」タブから「名前の定義」を選択します。

名前を「祝日」と書き換えて、「OK」を押します。

これで祝日の日付セルが「祝日」という名前に定義されました。ためしに名前ボックスの▼を押すと、「祝日一覧」のテーブルの他に、「祝日」という名前が定義された範囲が表示されます。ちなみに、この名前ボックスでは「テーブル」なのか「名前が定義された範囲」なのかは見分けがつきません。

条件付き書式の数式を編集する。

年間行事予定のシートに戻ります。4月1日のセルを選択し、「条件付き書式」から「ルールの管理」を選択します。

前々回の記事で作成した土日を塗りつぶすルールが4月の範囲に適用されています。これを選択し、「ルールの編集」を押します。

「=OR($B5=”日”,$B5=”土”)」という数式のOR関数の中に「COUNTIF(祝日,$A5)=1」を加えて、「=OR(COUNTIF(祝日,$A5)=1,$B5=”日”,$B5=”土”)」とします。

このCOUNTIF関数は、先ほど名前を付けた「祝日」の範囲から「A5」セルの日付を検索し、見つけた個数を返してくれます。「A5」セルの日付が祝日の場合は「1」ですし、祝日でない場合は「0」となります。OR関数の条件にCOUNTIF関数が「1」となる場合を加えることで、土日と同じように塗りつぶされるようになります。

ちなみに「A5」の「A」に絶対参照「$」をつけておくことで、すべての行においてA列の日付をもとに塗りつぶしが行われます。(「$A5」の「5」はそれぞれの行において勝手に変えてくれます。)

「OK」を押します。

これで4月の祝日が塗りつぶされました。

条件付き書式の数式をすべての月で編集する。

上と同じ作業を5月から3月でも行います。4月の数式から「COUNTIF(祝日,$A5)=1,」の部分だけコピーしておいて、OR関数の中に貼り付けた後に「$A5」を「$D5」に修正すれば終わりです。

多少手間ですが、条件付き書式をコピー・貼り付けしても、数式内のセル(この場合はA5)がうまく変換されず固定されたままになってしまうので、手動で変えていきます。

これですべての月の祝日が自動で塗りつぶされるようになりました。

ためしに年度に「2021」を入力してみましょう。祝日の位置が変わりましたが、正しく塗りつぶされています。

これで年間行事予定の枠は完成です。このファイルを保存しておいて、年度の最初にコピーして使いましょう。ここに各学年の時数を入れたい場合、違う記事で方法を紹介しますのでご覧ください。

コメント

タイトルとURLをコピーしました