9/23/2025

Excel。条件付き書式で日付をつかった条件が、なぜか反映されません【DATE】

Excel。条件付き書式で日付をつかった条件が、なぜか反映されません

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

販売金額を管理している表があります。

 


販売日が2025/9/10以降のデータとわかりやすいように、行全体を塗りつぶしたいと考えました。


2025/9/10以降という条件と、塗りつぶしをしたいということから「条件付き書式」をつかいます。


あとは、2025/9/10以降という条件式をつくればいいわけです。


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


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


「数式を使用して、書式設定するセルを決定」を選択して、条件式を設定します。

=$A2>=2025/9/10


A2を$A2とすることで、行全体を塗りつぶし対象とすることができます。


書式ボタンをクリックして、塗りつぶしたい色を設定したら、OKボタンをクリックしてみます。


すべての行が塗りつぶされてしまいました。

なんでこうなってしまったんでしょうか。


原因を探る必要があります。D列に

=A2>=2025/9/1

という条件式を設定してオートフィルで数式をコピーしてみると、すべてTRUEと判定されています。


TRUEなので、条件を満たしているといっています。


では、数式の検証をつかって、さらに原因を探ってみましょう。


D2をクリックして、数式タブにある、数式の検証をクリックします。


数式の計算ダイアログボックスが表示されます。


検証ボタンを何度かクリックします。


すると、A2が45901というシリアル値で表示されています。

問題なのは、2025/9/1。


なんとシリアル値になるのではなく「/」があるので、除算しています。


こちら希望としては、日付であってほしかったのですが、単純に数値扱いになっていることがわかりました。


45901>=225を比べたら当然、すべてがTRUEになってしまうので、データすべてが塗りつぶされてしまったというわけです。


D2の数式を次のように修正してみました。

=A2>="2025/9/1"


と日付の前後に「”(ダブルコーテーション)」で囲んだところ、今度はすべてFALSEになってしまいました。


「”(ダブルコーテーション)」で囲むと、文字になってしまいます。


数値と文字を比べれば、文字のほうが大きいので、FALSEと表示されるのも納得がいきますが、これもダメということです。


ExcelにはAccessのような「#」で囲むと日付になるというものがありません。

そのため、日付であると認識させるには、DATE関数を使う必要があります。


D2の数式をDATE関数で修正します。

 


=A2>=DATE(2025,9,10)

オートフィルで数式をコピーすると、10日以降がTRUEになったことが確認できました。


あとは、条件付き書式を改めて、設定しなおしましょう。


条件式は、

=$A2>=DATE(2025,9,10)

書式も設定したら確認してみましょう。

条件付き書式で日付をつかった条件が、なぜか反映されません

このように、2025/9/10以降のデータ全体を塗りつぶすことができました。


日付を直接条件として使う場合には、日付とExcelがわかるようにしてあげる必要があります。