• ベストアンサー

エクセルの数式で第三水曜日に色を付ける

こんにちは、非常に困っているので知恵を貸して下さい。 エクセルのセルA1に「=NOW()」を入力し、現在の月(今で言うと2013年10月)が入力されるようになっています。 そしてセルA2からAE2までは、A1の月の初めの日付から順番に記入されるように数式を組んでいます。(今で言うと2013年10月1日~2013年10月31日) そこで質問なのですが、第三水曜日に色を付けるたい(月が変化しても自動で第三水曜日に色を付ける)には「条件付き書式」を使用すれば良いと思うのですが、数式がわかりません。 どの様な数式もしくはVBAを組めば宜しいでしょうか、ご教授お願いします。

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

  • ベストアンサー
回答No.4

A2の「条件付き書式」に 条件1:数式が =AND(DAY(A2)>=15,DAY(A2)<=21,WEEKDAY(A2)=4)=TRUE で、塗りつぶし色を指定 と設定して、A2を選択してコピー、A2が点滅したら、B2~AE2を選択して「編集」「形式を選択して貼り付け」「書式のみ」で貼り付け。 「第3○曜日」の場合、DAY(A2)は、15以上21以下です。 「水曜日」の場合、WEEKDAY(A2)は、水曜日を表す4です。 なので「DAY()が15以上、かつ、DAY()が21以下、かつ、WEEKDAY()が4、が真(TRUE)」の場合に、色を付ければ良いのです。

noname#247334
質問者

お礼

この度は迅速な回答ありがとうございました。 どちらのベストアンサーにするか迷いましたが、一番分かりやすい回答を頂いたのでベストアンサーにしました。 この度はありがとうございました。

その他の回答 (3)

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

こんにちは! 2行目セルはシリアル値が入っているという前提です。 Excel2007以降をお使いだとして・・・ 色を付けたいセルを範囲指定 → 条件付き書式 → 新しいルール → 「数式を使用して・・・」 → 数式欄に =A$2=TODAY()-DAY((TODAY()))-WEEKDAY(TODAY()-DAY(TODAY())-2,3)+21 という数式を入れ → 書式 → 塗りつぶし → 好みの色を選択しOK A1セルを >=NOW() ではなく、 >=TODAY() にしておけば そのデータを利用して =A$2=$A$1-DAY($A$1)-WEEKDAY($A$1-DAY($A$1)-2,3)+21 という数式にしても大丈夫だと思います。 ※ =NOW()だと時刻までのデータとなりますので、小数点以下の数値が入ってしまいます。 足し算・引き算をしているので整数の方が間違いないと思います。 これで何とかご希望通りにならないでしょうか?m(_ _)m

noname#247334
質問者

お礼

この度は迅速な回答ありがとうございました。 Now()とToday()で数式が変わるんですね、凄いです。 この度は分かりやすい回答ありがとうございました。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

あ、A2セルからでしたね。 先ほどの式のB2をA2に代えて下さい。 シツレイシマシタ

noname#247334
質問者

お礼

この度は迅速な回答ありがとうございました。 わざわざ修正した回答もしていただき非常に感謝しています。 非常に助かりました。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

条件付き書式で、その日が水曜日でなおかつ15~21日なら第3水曜日っていう条件で良いのでは? =AND(WEEKDAY(B$2)=4,DAY(B$2)>=15,DAY(B$2)<=21)

noname#247334
質問者

お礼

この度は迅速な回答ありがとうございました。 わざわざ修正した回答もしていただき非常に感謝しています。 非常に助かりました。