• ベストアンサー

シフト表のカレンダーによる条件書式で セル色を3つつける方法

シフト表のカレンダーによる条件書式で セル色を3つつける方法 条件書式で 日曜 土曜までは 条件書式で色つけできたのですが 祝日に関して どうしても できません。 以前 やったことが あるのですが すっかり忘れてしまいました。 確か祝日シートとかをつくって祝日を張り付けてやる方法があったとおもいますが。 シフト表は 縦バージョンではなくて 横バージョンです。 D4 に 2009(年) Q4 に  9(月)を入力して カレンダー部分を変化させています。 B6~AF6に 日にち部分 B7~AF7に 曜日部分 やりたい曜日のセル色は 6と7行目だけに設定。 ただ 2009 年 9月 を 例にとると AF6 AF7が 10月1日の部分が 表示されてしまいます。 月の 曜日が 少ないときに 後半部分を白にして消しているように見せる 条件書式の 設定が あったとおもいます。 そちらのほうも ご存じのかた よろしくおねがいします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

解答No1です。 条件付き書式で、それぞれの条件で色を変えるのでしたら次のようにします。 B6セルからAF7セルまでを範囲として選択し、その後に条件付き書式設定を行います。 数式には次の式を入力します。 条件1では =B$7="土" 書式で色を設定します。 条件2では =B$7="日" 書式で色を設定します。 条件3では =COUNTIF(INDIRECT("Sheet2!A:A"),B$6)>0 書式で色を設定します。

mh1211
質問者

お礼

KURUMITOさんさん 大変失礼しました。 別sheetで 新規に作成してみました。 日付 条件書式とも できました。 意味も考え 今後に 役立てたいとおもいます。 このたびに丁寧な 解説 まことに ありがとうございました。

mh1211
質問者

補足

KURUMITOさん すばやい回答おそれいります。 いま きずいたんですが 自分の入力ミスなのか 9/1が 土曜日 9/30が 日曜日になってしまいます 新規シートでもういちどやってみます。 条件書式のほうも並行してやってみます。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.2です! たびたびすみません。 前回の回答で誤りがありました。 >B2セル・・・を 「B6セル」に、 >C2セル・・・を 「B7セル」に訂正してください。 何度も失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! すでに回答は出ていますので、参考程度で目を通してみてください。 質問に >B6~AF6に 日にち部分 >B7~AF7に 曜日部分 とあるのですが、これでは日付の列と曜日の列がずれてしまいますので こちらで勝手に↓のような表にしてみました。 (見当はずれならごめんなさいね) そして、全てのセルがシリアル値の方が何かと都合が良いので セルの書式設定のユーザー定義から、表示形式だけ変えています。 B2セルの表示形式をユーザー定義から d に C2セルの表示形式をユーザー定義から aaa にしています。 そして、祝日のデータがシリアル値でB10~C31セルにあるものとします。 B2セルに =IF(OR($D$4="",$Q$4=""),"",IF(DATE($D$4,$Q$4,COLUMN(A1))<=EOMONTH(DATE($D$4,$Q$4,1),0),DATE($D$4,$Q$4,COLUMN(A1)),"")) という数式を入れ、条件付書式で 条件1 → 「数式が」→ =WEEKDAY(B7)=1 で書式の塗りつぶしで「赤」を選択 条件2 → 「数式が」→ =WEEKDAY(B7)=7 で同様に「青」を選択 条件3 → 「数式が」→=COUNTIF($B$10:$C$31,B7)=1 で同様に「赤」を選択 次にC2セルの数式を =IF(B6="","",B6) とし、条件付書式で 条件1 → 「数式が」→=WEEKDAY(B6)=1 で塗りつぶし「赤」 というように、B2セルの条件付書式と同じように数式を入れていき、 B2・C2セルを範囲指定した後に、オートフィルで列方向に31日分までコピーすると ↓の画像のような感じになります。 (大の月・小の月の対応もOKだと思います) 尚、EOMONTH関数を使用していますので Excel2003以前のバージョンでは メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておく必要があります。 以上、長々と書いてしまいましたが、 参考になれば幸いです。 他に良い方法があれば読み流してくださいね。m(__)m

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

B6セルからAF6セルまでの日にちの表示のさせ方が初めに問題ですね。次の式をB6セルに入力しAF6セルまでオートフィルドラッグします。 =IF(MONTH(DATE($D$4,$Q$4,COLUMN(A1)))=$Q$4,DATE($D$4,$Q$4,COLUMN(A1)),"") なお、B6からAF6セルを選択して右クリックし、「セルの書式設定」から「表示形式」で[ユーザー設定]で d"日" と入力するか、あるいは、d のみを入力します。これで1日から月末までの日にちが自動的に表示されます。9月は30日が月末ですのでAF6セルには日付が表示されません。 B7セルには次の式を入力しAF7セルまでオートフィルドラッグします。 =TEXT(B6,"aaa") ところで土曜日と日曜日さらには祝日などに色を付ける作業ですが、事前にSheet2の例えばA1セルから下方に祝日を2009/9/23などと入力します。 そこで元のシート1に戻ってB6セルからAF7セルまでを範囲として選択し、その後に条件付き書式設定を行います。 エクセル2003とエクセル2007では設定の方法が多少違いますが、そこで入力する数式には次の式を入力します。 =OR(B$7="土",B$7="日",COUNTIF(INDIRECT("Sheet2!A:A"),B$6)>0) 書式で色を設定することで土曜日、日曜日、祝日に色がつくことになります。

mh1211
質問者

お礼

KURUMITOさん 回答ありがとうございます。 そして お返事のほう 大変 遅れてしまいもうしわけありませんでした。 今日 昼間 時間がとれそうなので 教えていただいたこと やらせていただきます。また 疑問など ありましたら 質問するかも しれませんが よろしく おねがいします。 今回は ありがとうございます。

mh1211
質問者

補足

KURUMITOさん おつかれさまです。 ↓の式は 条件書式でいっぺんにいれていますが =OR(B$7="土",B$7="日",COUNTIF(INDIRECT("Sheet2!A:A"),B$6)>0) 説明不足ですみません。 あと エクセルのバージョンもぬけていました。2007です。 セル色を 土曜 水色 日曜 ピンク 祝日 オレンジ と3色わけてやりたいのですが・・・ よろしければ また おねがいします。 

関連するQ&A

専門家に質問してみよう