• ベストアンサー

Excelで日付を条件にした条件付き書式を設定したいのですが...

Excelで日付が期間内に収まるか判定する条件付き書式を書いています。 エクセル技道場もヘルプも見たのですがうまくいきません。 ご存知でしたら、教えて下さい。 やりたいことは次のとおりです。  A      B(開始)  C(終了)  D(対象日) E(判定)  2001年7月  7/1     7/15 7/2 赤   ↑       ↑     ↑ ↑ (2001/07/01)(2001/07/1) (2001/07/15) (A+1) 7/16     色なし  Eを、Dの日付が開始と終了日の間にあれば「赤」に、なければ色なしで  表示したいのです。 DATEDIFとDATEVALUEを組合せて条件式を作っているのですが、赤になり ません。よろしくお願いします。

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

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

なんだかわざわざ難しくしちゃってる感じ。 D1セルの日付がB1とC1の間にあるときにTRUEになる数式は、 =AND(B1<=D1,D1<=C1) ですみますよね。 あとはTRUEとFALSEで色変えをする条件付書式を設定するだけ。

shu-w
質問者

お礼

そうですね。単純に考えるとうまくいきました。 ありがとうございました。

その他の回答 (3)

  • comv
  • ベストアンサー率52% (322/612)
回答No.4

こんにちは! E2に設定する例です。 1.E2を選択 → 書式 → 条件付き書式 2.数式が → 数式欄に以下の数式を入力  =AND(D2>=B2,D2<=C2,COUNT(B2:D2)=3)  書式ボタン → パターン 「赤」を選択 OK 3.E列の必要行までフィルドラッグ これでOKだと思います。

shu-w
質問者

お礼

そういう考え方もできるのですか... ありがとうございました。

  • wonwonwon
  • ベストアンサー率22% (15/66)
回答No.3

まずEに =IF(AND(B3<=D3,D3<=C3),0,1) をいれて 条件付き書式で”セルの値が次の値に等しい時 0 → 文字:赤 パターン:赤 条件付き書式で”セルの値が次の値に等しくない時 0 → 文字:白 パターン:塗りなし これだけでよいのでは? VBでやるのでしたらこちらを参考に Dim b_Day, e_Day, set_D As Date b_Day = Range("b3").Value e_Day = Range("c3").Value set_D = Range("d3").Value If b_Day <= set_D Then If set_D <= e_Day Then Range("e3").Select With Selection.Interior .ColorIndex = 3 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Else Range("e3").Select Selection.Interior.ColorIndex = xlNone End If Else Range("e3").Select Selection.Interior.ColorIndex = xlNone End If

shu-w
質問者

お礼

VBは使ったことがないのですが、これかた勉強しようと思っているところです。 またなにかありましたら、お願いします。

  • i-harada
  • ベストアンサー率22% (56/252)
回答No.2

i-haradaです。 専門じゃないので、よくわかりませんが下記のようじゃ駄目ですか? =IF(AND(D2>B2,D2<C2),1,0) このセルに条件付書式を付ける。

shu-w
質問者

お礼

単純にすればそういうことですね... ありがとうございました。

関連するQ&A