年間行事予定を作成するとき、苦労したことはありませんか?カレンダーを見ながら日付や曜日を入力したり、土日祝日を塗りつぶしたり、、、そのような煩わしい作業をExcelの機能を使って自動化する方法を紹介します。
この記事では、祝日を表示する方法について扱います。
祝日を表示する作業の前提として、DATE関数やTEXT関数を使って日付と曜日が表示される年間行事予定表が必要です。ここでは前回の記事で作成したものを使います。
Contents
祝日一覧のシートを作成する。
Excelに祝日を表示する関数や書式はありません。よって祝日を表示するには、何月何日が祝日であるかわかる一覧が必要となります。まずは「年間行事予定」のシートとは別のシートに「祝日一覧」という名前の空のシートを用意しましょう。
ネットからコピーしてきた祝日一覧の表を張り付けます。ここでは「教えて!HELPDESK」さんから表をいただきました。
祝日一覧のテーブルを作成する。
祝日一覧のシートにある表を、テーブルとして設定します。こうしておくことで、後で参照したりデータを追加したりするのが楽になります。
まず、表の全体をドラッグで選択し、「テーブルとして書式設定」のボタンを押します。するとデザインが選べるので、好みのデザインを選択してください。
データ範囲はこのままで、「先頭行をテーブルの見出しとして使用する」にもチェックを入れたままにします。「OK」を押します。
これでテーブルが設定されました。テーブルツールのデザインにテーブル名が「テーブル1」と表示されていると思いますが、これを変更します。
直接入力して「祝日一覧」としてください。
VLOOKUP関数とIFERROR関数で祝日一覧を参照する。
年間行事予定のシートに戻ります。4月1日の祝日を表示させたいセルを選択し、数式バーに「=IFERROR(VLOOKUP(A5,祝日一覧,3,0),””)」と入力します。
VLOOKUPを使ってA5セルの値「2020/4/1」を「祝日一覧」のテーブルから探し出し、同じ行の「3」列目の値を完全一致「0」で表示します。しかし、VLOOKUPだけでは「祝日一覧」に値がなかった場合、エラーがでてしまいます。IFERRORを使うことで、VLOOKUPでエラーが出た場合は空白「””」を表示します。
4月1日は祝日ではないので何も出てきません。
オートフィルを使って2日から31日までにも同じ関数を入力します。1日のセルを選択し、+マークが出たら31日までドラッグしましょう。29日に「昭和の日」と表示されるはずです。
祝日を表示する数式をすべての月にコピーする。
4月に入力した祝日を表示する数式をすべての月にもコピーしていきます。まず4月1日の祝日を表示させるセル(ここではC5)を選択し、右クリックでコピーします。次に5月1日の祝日を表示させるセル(ここではF5)を選択し、右クリックで「形式を選択して貼り付け」を選びます。
最初は「すべて」にチェックが入っていると思いますが、これを「数式」に変えます。「OK」を押します。
5月1日のセルに数式がコピーされました。この時、4月1日の時は「A5」となっていた部分が自動的に「D5」に変換されています。
4月の時と同じようにオートフィルで31日までのばします。これで5月の祝日が表示されました。
同じ作業を6月から3月まで行います。4月1日をコピーしたまま、「各月の1日を選択、形式を選択して貼り付け」を繰り返していきます。後からそれぞれの月をオートフィルでのばすとよいと思います。
これですべての月の祝日が表示されました。実際に行事を入力していく際は、今回の数式を消して手書きで入力したり別ファイルから貼り付けをしたりします。行事を入力する前のファイルは別に保存しておいて、来年度も使用できるようにしましょう。ためしに年度を「2021」に変えて、祝日が表示されるか確かめてください。
祝日の塗りつぶしについては、違う記事で紹介したいと思います。
コメント