Excel 月を変えると祝祭日が変わる便利なカレンダー(後半)

カレンダーに祝日を表示

便利なカレンダーをつくる 2013Excel関数技BEST 64回

月が変わると祝日が変わるカレンダー

祝日表の準備ができたので、今度はカレンダーに祝日を表示させていきましょう。63回で作成したカレンダーを使用しています。

IF関数で祝日かどうかを場合分け

では、カレンダーに祝日を表示するようにしましょう。

曜日のセルB3には、日付を取得する式が入力されています。
DATE関数を使ってA1セルの年、D1セルの月、A3セルの日から、
=DATE($A$1,$D$1,A3)
日付を作成して、それをセルの書式設定から曜日を表示しています。
ユーザー定義で(aaa)と記入しています。
カレンダーに祝日
隣のC3セルには、祝日ならば、祝日を表示し、そうでなければ空白という式が入っています。 IF関数とCOUNTIF関数とVLOOKUP関数です。
=IF(COUNTIF(日付,B3),VLOOKUP(B3,祝日表,3,0),"")
祝日を表示する式
=IF(論理式, [真の場合], [偽の場合])

IF関数
論理式の部分が、 COUNTIF(日付,B3)で、
”名前で定義した日付の範囲で、B3すなわち=DATE($A$1,$D$1,A3)で返される日付と同じものをカウントしなさい。”
COUNTIF関数で祝日ならば1、祝日でなければ0を返してきますから、それはそのまま、1=TRUE、0=FALSEとなります。


偽の場合の処理

真(1=TRUE)の場合の処理が、 VLOOKUP(B3,祝日表,3,0)で、
検索値”B3"の日付を名前で定義した祝日表の最左列から探して、
該当すれば、指定した列番号3の値(祝日)を返します。
偽の場合の処理は、" "(空白)です。
複雑な式を作るときに、範囲を名前で定義していると、スッキリします。
月を変えると祝日が変わる便利なカレンダーの完成です。
また、月末の29日から31日の式を関数技63回の式を入力しておくと、万年カレンダーになります。
祝日を自動で表示するカレンダー