ワークシート上に日付データが入力されているとき、条件付き書式でWEEKDAY関数を使えば土曜日や日曜日のセルだけ自動的に書式を変更することができますね。
ご質問いただいたのは、祝日や行事なども書式を設定したいということでした。
こういう場合は、WEEKDAY関数だけで判定することはできません。
セルの塗りつぶしの例を示しながら説明していきます。
データには、左側が日付(カレンダー)、右側には書式を設定したい祝日や行事のデータを入力しておきます。
今回は「A列」に日付、「B列」に行事を入力すると仮定して説明します。
(「1行目」を列見出しにしますので、条件付き書式設定の対象となるデータは2行目から入力するものとします。)
1.条件付書式を設定したいセル範囲を選択します。
2.メニュー「書式」をクリックします。
3.「条件付き書式」をクリックします。
「条件付き書式」ダイアログボックスが表示されます。
4.「条件1」で「数式が」を選択し、右のボックスに次のように入力します。
=MATCH($A2,$D$2:$D$3,0)>0
MATCH関数は、指定したデータをセル範囲から検索する関数です。
上記の式では、セルA2のデータをセル範囲D2:D3の中から探し、見つかった場合はその位置を返します。
これで、指定した休日のセルの色が変わります。
では、B列に行事名も自動的に表示するようにしましょう。
これは「VLOOKUP」関数を使います。
VLOOKUP(A2,$D$2:$E$3,2,FALSE)
しかし、これでは、該当しない日付はすべて「#N/A」というエラーが表示されてしまい、見栄えが悪くなります。
そこで「IF」関数と「ISNA」関数を使って、もしエラーになるようなら何も表示せず、該当する日付が存在する場合だけ行事が表示されるようにしましょう。
以下の式を入力し、下方向にもコピーします。
=IF(ISNA(VLOOKUP(A2,$D$2:$E$3,2,FALSE)),"",VLOOKUP(A2,$D$2:$E$3,2,FALSE))
これで、指定した日付の隣(B列)に行事名も表示できます。
ご質問いただいたのは、祝日や行事なども書式を設定したいということでした。
こういう場合は、WEEKDAY関数だけで判定することはできません。
セルの塗りつぶしの例を示しながら説明していきます。
データには、左側が日付(カレンダー)、右側には書式を設定したい祝日や行事のデータを入力しておきます。
今回は「A列」に日付、「B列」に行事を入力すると仮定して説明します。
(「1行目」を列見出しにしますので、条件付き書式設定の対象となるデータは2行目から入力するものとします。)
1.条件付書式を設定したいセル範囲を選択します。
2.メニュー「書式」をクリックします。
3.「条件付き書式」をクリックします。
「条件付き書式」ダイアログボックスが表示されます。
4.「条件1」で「数式が」を選択し、右のボックスに次のように入力します。
=MATCH($A2,$D$2:$D$3,0)>0
MATCH関数は、指定したデータをセル範囲から検索する関数です。
上記の式では、セルA2のデータをセル範囲D2:D3の中から探し、見つかった場合はその位置を返します。
これで、指定した休日のセルの色が変わります。
では、B列に行事名も自動的に表示するようにしましょう。
これは「VLOOKUP」関数を使います。
VLOOKUP(A2,$D$2:$E$3,2,FALSE)
しかし、これでは、該当しない日付はすべて「#N/A」というエラーが表示されてしまい、見栄えが悪くなります。
そこで「IF」関数と「ISNA」関数を使って、もしエラーになるようなら何も表示せず、該当する日付が存在する場合だけ行事が表示されるようにしましょう。
以下の式を入力し、下方向にもコピーします。
=IF(ISNA(VLOOKUP(A2,$D$2:$E$3,2,FALSE)),"",VLOOKUP(A2,$D$2:$E$3,2,FALSE))
これで、指定した日付の隣(B列)に行事名も表示できます。