- ベストアンサー
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を組合せて条件式を作っているのですが、赤になり ません。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
なんだかわざわざ難しくしちゃってる感じ。 D1セルの日付がB1とC1の間にあるときにTRUEになる数式は、 =AND(B1<=D1,D1<=C1) ですみますよね。 あとはTRUEとFALSEで色変えをする条件付書式を設定するだけ。
その他の回答 (3)
- comv
- ベストアンサー率52% (322/612)
こんにちは! E2に設定する例です。 1.E2を選択 → 書式 → 条件付き書式 2.数式が → 数式欄に以下の数式を入力 =AND(D2>=B2,D2<=C2,COUNT(B2:D2)=3) 書式ボタン → パターン 「赤」を選択 OK 3.E列の必要行までフィルドラッグ これでOKだと思います。
お礼
そういう考え方もできるのですか... ありがとうございました。
- wonwonwon
- ベストアンサー率22% (15/66)
まず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
お礼
VBは使ったことがないのですが、これかた勉強しようと思っているところです。 またなにかありましたら、お願いします。
- i-harada
- ベストアンサー率22% (56/252)
i-haradaです。 専門じゃないので、よくわかりませんが下記のようじゃ駄目ですか? =IF(AND(D2>B2,D2<C2),1,0) このセルに条件付書式を付ける。
お礼
単純にすればそういうことですね... ありがとうございました。
お礼
そうですね。単純に考えるとうまくいきました。 ありがとうございました。