Excel。落とし穴連発!指定日以降のデータの行を塗りつぶすにはどうしたらいいの?
<条件付き書式+DATE関数>
簡単そうに思えて、意外と引っかかりやすい処理というのは、Excelにも多々ありまして、次のような表があって、入会日が2019年7月以降のデータがあったら、その該当データの行を塗りつぶすにはどうしたらいいの?条件で塗りつぶしたいということですから、条件付き書式を使っていきますが、意外な落とし穴がありますので、注意しながら作っていくことにしましょう。
A3:E12を範囲選択して、ホームタブの「条件付き書式」にある、新しいルールをクリックします。
今回は、行を塗りつぶしたいということで、数式を作らないといけないので、新しいルールで条件を作ることになります。
新しい書式ルールダイアログボックスが表示されますので、ルールの種類を「数式を使用して、書式設定するセルを決定」を選択します。
これを選ぶことで、数式で条件を設定することができるようになりますので、行を塗りつぶすことができるようになります。
では、「次の数式を満たす場合に値を書式設定」のボックスに数式を作ってみましょう。
数式を、=$C3>="2019/7/1" としてみました。
行を塗りつぶしたい時には、C3ではなくて、列を固定する複合参照にする必要がありますので、$C3とする必要がありますね。
そして、2019年7月1日以降ですから、問題なさそうですよね。
あと、書式ボタンをクリックして、塗りつぶしたい色を設定してあります。
では、OKボタンをクリックしてみましょう。
あれれ?塗りつぶされていない?
そうか!日付にダブルコーテーションを付けているのでダメだったんですね。
では、改めて、数式を=$C3>=2019/7/1としてOKボタンをクリックしましょう。
今度は、全部塗りつぶしされてしまっている!
何が起こってしまっているのでしょうか?
今度は、直接日付を入力するのではなくて、別のセルG2に2019年7月1日と作って、条件付き書式で行を塗りつぶすことができるのか確認してみましょう。
条件付き書式を次のように設定しました。
数式は、=$C3>=$G$2
OKボタンをクリックしてみましょう。
あれれ?今度は希望通りに条件付き書式を設定することができましたね。
では、なんで、直接日付を入力したら、上手くいかなかったのでしょうか?
これが、今回の落とし穴なのです。
条件付き書式に限らず、数式の条件で日付を使う場合には、直接入力しても、上手くいきません。IF関数でも同じような現象になってしまいます。
そこで、DATE関数を使うことで、この問題を解決することができます。
数式を、=$C3>=date(2019,7,1)
として、OKボタンをクリックしてみましょう。
これで、完成しました。
日付を条件とするときには、意外な落とし穴がありますので、注意して数式をつくるといいかもしれませんね。