7/25/2021

Excel。設定日以降の行全体を塗りつぶす。だけど日付を直接入力したルールだとできません【Conditional formatting】

Excel。設定日以降の行全体を塗りつぶす。だけど日付を直接入力したルールだとできません

<条件付き書式・DATE関数>

条件付き書式をつかうことで、視覚的にわかりやすい資料を作ることができるます。

なにかと重宝する機能のひとつです。


細かい設定を追加することで、希望の条件で書式を設定することができるのも、条件付き書式の特徴の一つかもしれません。


ところが、日付をつかった条件だと、思ったように反映してくれないことがあります。


次のような表があって、わかりやすいように、2022/1/1以降のデータの行全体に塗りつぶしをする条件付き書式を設定したいとします。


設定すると、このようになります。


行全体に塗りつぶしを行う条件付き書式を設定するわけですから、新しいルールを作る必要があります。


A2:C11を範囲選択して、ホームタブの「条件付き書式」にある「新しいルール」をクリックします。


新しいルールダイアログボックスが表示されます。


「数式を使用して、書式設定するセルを決定」をクリックして、「次の数式を満たす場合に値を書式設定」に次の数式を設定します。


=$A2>=2022/1/1

ただし、これ。NGなんです。


全部塗りつぶされちゃいました。


ちなみに、

=$A2>=”2022/1/1”

も、NGなんです。


なんで、ダメなのかというと、日付はそもそもシリアル値で数値なわけです。


そして、2022/1/1は文字扱いなので、このようなことになってしまうわけです。


そのため、日付を使いたい時には、次のように数式を作る必要があります。


=$A2>=date(2022,1,1)


DATE関数をつかうと、うまくいきます。

OKボタンをクリックして確認してみましょう。


希望のように条件付き書式が設定できたことがわかります。


ただ、この直接日付を設定する必要がないならば、DATE関数を使わないといけないということを考慮すると、セル参照させるほうが、わかりやすいと思います。


このような表を用意します。


F1に、日付を用意しています。

このF1を使って条件付き書式を設定していきます。


次の数式を設定します。

=$A2>=$F$1

とてもシンプルですが、これで問題ありませんので、OKボタンをクリックして確認しておきましょう。


先程と同じように条件付き書式が反映されていることが確認できました。


このように、条件付き書式の新しいルールで、日付を使うときには、思っているように反映されないことがありますので、ちょっと注意する必要があります。