• ベストアンサー

Excelの条件付き書式ルールについて

Excelを用いて簡単なスケジュール表を作成しようとしています。 マクロなどは使わず、簡単な条件付き書式のルールを使って作っています。 添付の画像にあるような黄色の塗りつぶしをするためにどのようなルールを設定すればよいでしょうか? 条件は以下の通りです。 (1)実績日の開始日と終了日が埋められている場合 ⇒ 間の期間を塗りつぶし (2)実績日の開始日のみ埋められている場合 ⇒ 開始日からTODAYまでを塗りつぶし (3)実績日と終了日が埋められていない場合 ⇒ 何も塗りつぶさない 試行錯誤しながらチャレンジしましたが、意外とうまくできませんでした。 ご教授よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

お示しのような表でしたら対のようにすればよいでしょう。 初めにE4セルから例えばAI10セルまでを範囲として選択します。 E4セルがアクティブセルの状態となっているでしょう。 そこで「ホーム」タブの「条件付き書式」から「新しいルール」で「数式を使用して…」にチェックを付け数式の窓には次の式を入力します。 =OR(AND(COUNT($C4:$D4)=2,E4>=$C4,E4<=$D4),AND(AND($C4<>"",$D4=""),E4>=$C4,E4<=TODAY())) 同じ画面の「書式」から「塗りつぶし」のタブで黄色を指定してOKします。

chane2004a
質問者

お礼

みなさん回答いただきありがとうございました。 助かりました。

その他の回答 (4)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 $B4<>""や$C4=""で判定したのでは、B4やC4に時刻データや文字列データを誤って入力した場合には、誤動作を起こしてしまいますから、次の様な数式とされた方が良いように思います。 =AND(DAY($B4)>0,E4>=INT($B4),INT(E4)<=IF(ISNUMBER(1/DAY($C4)),$C4,TODAY()))

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

わかりやすく、と言うのなら、表右外側辺りに範囲選択用のセルを作っちゃうと良いです。 添付図ではO列までしか見えないので、それを基に考えて、4行目だと・・   P4セル(開始日):=IF(C4="","",C4)   Q4セル(終了日):=IF(C4="","",IF(D4="",TODAY(),D4)) とし、これをルールに使って条件付き書式を付けます。 E4を基点に範囲を選択し、条件付き書式   式:=AND(E4>=$P4,E4<=$Q4) としてやればOKです。 目触りが悪ければ、P:Q列は非表示にするか、 文字色を背景色に合わせて見えなくしてやると良いですね。 「TODAY」が「エクセルが認識できる今日」ではなく、 「3行目にTODAYと入力した任意の列(日)」だとしたら 話がガラリと変わりますので、補足でもくださいませ。

noname#204879
noname#204879
回答No.2

添付図参照 セル E4 における[条件付き書式]の数式 =IF($B4<>"",AND(E4>=$B4,E4<=IF($C4="",TODAY(),$C4)))

  • ambriel
  • ベストアンサー率51% (65/127)
回答No.1

・開始日を入れるセル : A1 ・終了日を入れるセル : B1 ・日付が入っているセル : C1 として、 =AND($A1<>"",C1>=$A1,IF($B1="",C1<=TODAY(),C1<=$B1)) てな感じでどうでしょう。 (コピペしやすいように開始日と終了日の列のみ絶対参照にしています。)

関連するQ&A