12/09/2022

Excel。日付が入っているデータの行全体を塗りつぶすには、どうしたらいいの【fill the date line】

Excel。日付が入っているデータの行全体を塗りつぶすには、どうしたらいいの

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

日付の列に文字と日付が混在している場合、次の表のように、日付が入力されているデータの行全体を塗りつぶすには、どのようにしたら効率よく設定することができるのでしょうか?


条件によって、行全体やセルを塗りつぶす設定をするには、「条件付き書式」をつかいます。

問題になるのは、どのような条件を設定したらいいのかを考える必要があります。


A2:C6を範囲選択します。

ホームタブの「条件付き書式」にある「新しいルール」をクリックします。


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


「数式を使用して、書式設定するセルを決定」をクリックします。


数式を満たす場合に値を書式設定のボックスに、MAXA関数をつかった数式を設定します。


=MAXA($C2)>0


あとは、書式を設定したら、OKボタンをクリックします。


これで、日付が入力されているセルがある場合、行全体をぬりつぶすことができます。


では、どうして、

=MAXA($C2)>0

というMAXA関数を使用した数式で、日付だけを対象にすることができたのでしょうか。


このMAXA関数は、そもそもはMAX関数と同じように最大値を算出するのですが、それ以外にも、繊維選択内の対象が「文字」の場合は、「0」と判断してくれる関数なのです。


つまり、日付は、シリアル値なので、1以上なわけです。


そして、「未提出」や「不要」のように、どのような文字が入力されていても「0」と判断されるので、「>0」というゼロより大きいという条件を設定してあげれば、日付のデータが入力されている行全体を塗りつぶすことができるというわけです。


なお、行全体を塗りつぶすには、「$C2」という列を固定させる「列固定の複合参照」にする必要がありますので、忘れずに設定しましょう。