• ベストアンサー

条件書式による曜日の着色に関して

2007で、土、日、祝日の着色がうまく行きません。 当コーナーのQ&Aや本を参考にしてやってみたのですが、どこかがチョット違うようなのですが・・。 数式を使用しての部分での数式を「=IF(WEEKDAY(A2)=1,TRUE,FALSE)」とすると日曜ではなく土曜が、この式の=1の部分を=7にすると土曜ではなく月曜が着色され、6だと金曜日になります。また、休日の一覧から「=MATCH(A2,休日,0)」を入れると一覧の日付の前日が着色となります。どうしてなのか、2日がかりで検証してみたのですがわかりません。多分、つまらないマチガイだとは思うのですが原因が不明です。 また、数式を入れるボックスが複数ないため、一度にまとめて全部の着色を指定するのはムリですか・・?(以前にやったときは、各々別個に条件書式を3回入れた記憶なのですが)

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

日付表示しているセルの年数が2009年以外で設定されているのではないでしょうか、A列や「休日」のセルを選択し、数式バーの表示を確認して下さい。 条件付き書式の数式ですが、条件が確定すればよいのでIF関数は不要で、ご例示の数式ならば、=WEEKDAY(A2)=1で済みます。 因みに土日を同色で表示する場合、=WEEKDAY(A2,2)>=6とすれば土日が選択されます。 又、2007では条件の制限が拡張されているので、ホーム→条件付き書式→ルールの管理→新規ルールで複数定義できますのでお試しください。

enimy
質問者

お礼

日付は確認しましたが12月は2009年です。来年1年間分を作表する予定なのですが、1/1以降は2010年となりますが、2009年の現時点でやると不具合が起きることになるのでしようか。 数式は意味をよく理解してそうしたわけではないのですが、列全体を選択した場合、未使用部分にも着色されるのを避けるために、こうした方が良いのかな、としてみたものです。効果のほどはまだ検証しておりませんが。 ルールの管理なるものがあったのですね。本は2003のものを使っているので、2007になってひとつしか定義できなくなったのだと思っておりました。 単純にできるに越したことはないので修正してみます。 ありがとうございました。

その他の回答 (2)

  • 135ok
  • ベストアンサー率34% (26/75)
回答No.2

下記でどうでしょうか。 条件1 =MATCH(A2,休日,0)>0 条件2 =WEEKDAY(A2)=1 条件3 =WEEKDAY(A2)=7 休日を優先しています。

参考URL:
http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/gekkan-n.htm
enimy
質問者

お礼

参考URLをみると、お示しいただいたものとは様子が異なるみたいですが、単純な方がよいので上記を転用させていただきます。 条件1,2,3の順に設定入力をすると、仮に土曜と休日が重なった場合は休日で指定した着色になる、という解釈でよいでしょうか。 ありがとうございました。

回答No.1

> =IF(WEEKDAY(A2)=1,TRUE,FALSE) A2にはなにが入ってますか。本来は対象となる日付シリアル値が入 るべきところですが、dayを入れるとしているバカな解説サイトが複 数あります。2009年11月16日なら16を入れてる状態ですね。 この場合、Windows版の既定値である「1900年1月0日を基準とする」 方法では偶然1900年1月1日を日曜日と誤認するバグがあるおかげで 正しく見える値を返しますが、バグが解消されたバージョンが配布 されるか、「1904年を基準にする」設定になっているブックまたは Mac版で同じことをヤルと当然ズレます。 まずは正しく日付を入れているかをチェックして下さい。

enimy
質問者

お礼

ありがとうございました。

enimy
質問者

補足

日報的な作業表を12月より様式を変更する予定で、A2セルには「12/1(火)」と入っております。(m/d(aaa)の書式にて) 日付と曜日のセルを分けていないのがマズイでしょうか? *1900/1/1で曜日を表示させると日曜日となります。

関連するQ&A