• ベストアンサー

EXCEL2007 日付の土日を赤字に?条件付き書式?

EXCEL2007について質問です。シフトを作るのに土日を赤背景にしたいのです。先頭(B列)からオートフィルを使いたい。 月表示は16日と1日だけ表示する。必ず16日初めの15日終わりは変わりません。 月によって日数や人数が違うので、融通が効きそうなオートフィルの使用を優先しました。   A  B C D・・・ 1    9月             10月 2    16 17 18 19 20 21 ・・・1 2 3・・・15 3    火 水 木 金 土 日 ・・・水 木 金・・・水 4Aさん 5Bさん 6 16に日付を入れています(B2)。 右にオートフィルをすると日付が分かるためです。9月(B1)や曜日(B3)だと、今が何日か分からないので・・ B1,B3はただB2を参照しているだけで、セルの書式だけを変更しましたm"月"とaaaです。 ただこのままですと、月の行が9月9月9月と全部表示されてしまうので、とても見にくいのです。 これを条件付き書式を使って16日と1日だけ月表示をしたり、土日だけを赤背景にする方法をどなたか教えてください。 この方法にこだわっているわけではありませんが、何か簡単な良い方法があればよろしくお願いいたします。

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

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

一例です。 (1)B1に、=IF(OR(DAY(B$2)=1,DAY(B$2)=16),B$2,"") (2)B3を選択→条件付き書式→新しいルール→「数式を・・・」を選択→=WEEKDAY(B$3,2)>5→書式→塗りつぶしタブで赤を選択→OK 以上を右方向にコピーして下さい。

-damian-
質問者

お礼

ご回答ありがとうございます。 B列に指定するだけと、まさに理想通りのお答えです。 "$"を外せば、表の下に次月をコピーした際も使えますね。 単純でとても変わりやすかったです。 ありがとうございました。

その他の回答 (3)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

>あとで次月にコピーする時に、R列を前後に移動するという事態が発生しませんか? 一応、存在しない日付はーーで表示させましたが。 30日、28日の月のずれを最後に持ってくるなら B2セル =IF($B1+14+COLUMN(A1)<DATE(YEAR($B1),MONTH($B1)+1,15),$B1+14+COLUMN(A1),"--") 右フィル C1セル =IF(DAY(C2)=1,DATE(YEAR($B1),MONTH($B1)+1,1),"") では。 もし、15日締めの集計以外に 1日から月末までの集計が発生する可能性があるなら 1日の列を固定して、その前にーー で補ったほうが便利です。 私の経験則からですが。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

ちょっとシートに式をいれて B1には 9/1 といれて 書式 m月 R1にだけ =DATE(YEAR(B1),MONTH(B1),1) といれて10月と表示させる B2には =B1+15 で書式 d 16と表示 C2には =IF(MONTH($B1)=MONTH($B2+COLUMN(A1)),$B2+COLUMN(A1),"--") 入れて Q列まで右コピィ R2には =R1 S2には =$R2+COLUMN(A1) いれて15日まで右へコピィ B3には =B2 いれて 書式 aaa で右へコピィ これで、B1に 9/1とか10/1とか入れるだけで一月のカレンダーになります。 (毎月B1に日付入れるだけでオートフィルする必要がなくなります) B2~AF3を選択して条件付書式 数式が =WEEKDAY(B$3)=1 書式 パタンでピンクなど 条件付書式追加で 条件2に 数式が =WEEKDAY(B$3)=7 書式 パターンでブルーなど にしてみては如何でしょうか。

-damian-
質問者

お礼

ご回答ありがとうございます。 でもこれですと月が31日、30日や28日の場合、Rの列がずれてきてしまいます。 あとで次月にコピーする時に、R列を前後に移動するという事態が発生しませんか? 16~31日・16~30日・16~28日 条件式書式の使い方が、やっと分かりました。 ありがとうございました。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

>16日と1日だけ月表示をしたり DAY(B2)で1日(月始め)を条件、COLUMN()=2でB列を条件に月を表示 B1=IF(OR(DAY(B2)=1,COLUMN()=2),TEXT(B2,"m月"),"") で右方向にフィルコピー >土日だけを赤背景にする方法 土日とも赤にするなら 「数式が」「=WEEKDAY(B$2,2)>5」で書式を赤 土を青、日を赤にするなら 条件1「数式が」「=WEEKDAY(B$2)=1」で書式を赤 条件2「数式が」「=WEEKDAY(B$2)=7」で書式を青 休日も赤にする場合は、休日の一覧を作成しておいて 「数式が」「=OR(WEEKDAY(B$2,2)>5,COUNTIF(休日の範囲,B$2))」で書式を赤 土を青、日と休日を赤にするなら 条件1「数式が」「=OR(WEEKDAY(B$2)=1,COUNTIF(休日の範囲,B$2))」で書式を赤 条件2「数式が」「=WEEKDAY(B$2)=7」で書式を青 ※WEEKDAY関数は日付の曜日を数値で返します。 WEEKDAY(日付,条件) 条件が1または未入力の場合は日曜:1,月曜:2・・・土曜:7 条件が2の場合は月曜:1・・・土曜:6,日曜:7 条件が3の場合は月曜:0・・・土曜:5,日曜:6 となります。

-damian-
質問者

お礼

ご回答ありがとうございます。 weekday関数は曜日を数字で受けるんですね。 良く分かりました。 ご親切にありがとうございます。 今後にも他で活用で出来そうです。 ありがとうございました。

関連するQ&A