祝日や独自の休日も自動的に色を変える 祝日や独自の休日も自動的に

祝日や独自の休日も自動的に色を変える
■対応バージョン: Excel 97、98(Mac)、2000
ワークシート上に日付データが入力されているとき、条件付き書式を使えば土曜
や日曜日のセルだけ自動的に書式を変更することができる。このテクニックで使用
る WEEKDAY 関数は、指定した日付の曜日を数値で返す関数だ。関数の結果を条
にして、土曜日や日曜日を判定することになる。
だが、たとえば祝日も赤で表示したいとか、お父さんの誕生日は青で塗りつぶした
いようなケースでは、WEEKDAY 関数だけで判定することは不可能だ。ここでは、そ
な独自の休日も自動的に書式を変化させるテクニックを紹介しよう。
図 1 を例に解説する。左側がカレンダー部分。右側の余白には、書式を変更した
祝日や誕生日などのデータを入力しておく。日付はどれもシリアル値で入力するよ
にしよう。
条件付き書式を設定したいセル範囲を選択する。このとき、先頭の日付セルがア
ティブセルになるようにしよう。「書式」→「条件付き書式」をクリックして「条件付き書
式の設定」ダイアログボックスを開く。「条件 1」で「数式が」を選び、右のボックスには
次のように入力する(図 2)。
=MATCH($A2,$D$2:$D$4,0)>0
MATCH 関数は、指定したデータをセル範囲から検索する関数だ。上記の式では
セル A2 のデータをセル範囲 D2:D4 の中から探し、見つかった場合はその位置を返
す。カレンダー部分の全セルにこの条件を指定したので、もし A 列の日付が D2:D4
に存在すれば数値が返ることになる。これが条件付き書式の条件だ。図 3 が実行結
果だ。
ここまできたら、B 列の行事も自動的に表示するようにしたい。これは VLOOKUP
数を使えば可能だ。セル B2 に次の式を入力する。
=VLOOKUP(A2,$D$2:$E$4,2,FALSE)
4 番目の引数に「FALSE」を指定するのがポイントだ。しかし、これでは、該当しな
日付にすべて「#N/A」というエラーが表示されてしまう。それは見栄えが悪いのでい
やだという場合は、次の方法がある。
ISNA 関数と IF 関数を使って、もしエラーになるようなら何も表示せず、該当する日
付が存在する場合だけ行事が表示されるようにするのだ。セル B2 に以下の式を入
力して、下方向にもコピーしたのが図 4 だ。
=IF(ISNA(VLOOKUP(A2,$D$2:$E$4,2,FALSE)),"",VLOOKUP(A2,$D$2:$E$4,2,FALS
図 1 独自の行事や祝日を別のセルに入力する
図 2 書式メニューの条件付書式に
「=MATCH($A2,$D$2:$D$4,0)>0」と入力。「書式」ボタンを押して、
好みの書式を設定する
図 3 指定した休日の色が変わった
図 4 B2 セルに
「=IF(ISNA(VLOOKUP(A2,$D$2:$E$4,2,FALSE)),"",VLOOKUP(A2,$D$2:$E$4,2,FALSE))」
と入力し、下のセルにもコピーする。日付の隣に行事名も表示できた