プロが教える店舗&オフィスのセキュリティ対策術

Excelで作成したカレンダーの任意期間を
条件付き書式で自動的に塗りつぶしたいです。

添付しました画像の様に
Sheet1に2か月分の月間カレンダー表を作り、
Sheet2に日付を入力することで実行させることは可能でしょうか。
(セルA2に開始日、B2に終了日を入力します。)

また条件付き書式…と書いてはいますが自分は理解が薄いので、
見当違いの事を言っているかも知れません。

宜しければ具体的な方法をご教授いただけないでしょうか。
お願いします。

「Excelカレンダーで任意の期間を自動で」の質問画像

質問者からの補足コメント

  • 失礼しました。
    8月のカレンダーに間違いがありましたので再UPします。

    「Excelカレンダーで任意の期間を自動で」の補足画像1
      補足日時:2018/04/29 04:47

A 回答 (2件)

添付図参照

「Excelカレンダーで任意の期間を自動で」の回答画像2
    • good
    • 0

こんにちは!



カレンダーはシリアル値表示ではないのでしょうか?
余計なお世話かもしれませんが、↓の画像のような感じでシリアル値のカレンダーにすれば
簡単だと思います。
画像ではSheet1のG3、G13セルにその月の1日のシリアル値を表示させておきます。
G3は
=DATE(B3,D3,1)
G13は
=DATE(B13,D13,1)
という数式を入れセルの表示形式はユーザー定義から mmm としています。

次にA5セル(セルの表示形式はユーザー定義から d としておく)に
=IF(MONTH($G$3-WEEKDAY($G$3)+COLUMN(A1)+7*(ROW(A1)-1))=$D$3,$G$3-WEEKDAY($G$3)+COLUMN(A1)+7*(ROW(A1)-1),"")
という数式を入れます。
そしてA5セルを選択したまま → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=AND(A5>=Sheet2!$B$1,A5<=Sheet2!$B$2)
とし → 書式 → 塗りつぶしから好みの色を選択しOK!
最後にA5セルのフィルハンドルで列・行方向にコピーすると
画像のような感じになります。

A15セル(セルの表示形式はユーザー定義から d としておき)の数式は
=IF(MONTH($G$13-WEEKDAY($G$13)+COLUMN(A1)+7*(ROW(A1)-1))=$D$13,$G$13-WEEKDAY($G$13)+COLUMN(A1)+7*(ROW(A1)-1),"")

条件付き書式 → ・・・中略・・・ → 数式欄に
=AND(A15>=Sheet2!$B$1,A15<=Sheet2!$B$2)
となります。

これで年と月の数値だけを入れ替えるだけで
その月のカレンダーができます。m(_ _)m
「Excelカレンダーで任意の期間を自動で」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!