7/03/2024

Excel。日付が入力されているデータの行全体を塗りつぶすには。【Date entered】

Excel。日付が入力されているデータの行全体を塗りつぶすには。

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

書類の提出状況の表があります。

日付が入力されているデータ

C列の提出状況が日付は、提出した日ということです。


今回やりたいことは、提出済み、すなわち日付ならば、そのデータ全体(行全体)を塗りつぶしたいわけです。


では、どのようにしたらいいのでしょうか。

条件がある塗りつぶしなので、条件付き書式をつかうと対応できます。


あとは、どのような条件式をつくればいいのかということです。


Excelには、日付かどうかを見分ける関数はありません。


ただ、日付はシリアル値という数値で管理されているので、日付というよりも数値というのが正しいのかもしれません。


どうやったら、文字と数値を区別することができるのでしょうか。


そこで、MAXA関数という関数をつかってみることにします。


D列にMAXA関数をつかった数式の列をつくってみました。

D2の数式は、

=MAXA(C2)


あとは、オートフィルで数式をコピーします。

結果は、文字だと0で、日付だと数値(シリアル値)で表示されています。


MAXA関数は、MAX関数と同じように、引数内の範囲の中の最大値を算出する関数なのですが、それ以外に、文字の場合は、「0」と算出する関数なのです。


日付は、シリアル値なので、1からはじまります。文字は0です。


これを条件式にすれば、日付のデータがある行に対して塗りつぶしをすることができます。


D列は削除しておきます。

条件付き書式を設定しますので、A2:C6を範囲選択します。


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


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


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

条件式を設定します。


条件式のボックスには、

=maxa($C2)>0


先程のMAXA関数をつかいます。範囲の$C2と複合参照にしています。

これは、行全体を塗りつぶしたいので、列固定の複合参照にします。


その値が、「>0」。ゼロより大きいかと判断させます。

文字ならば、0でした。


あとは、書式ボタンをクリックして、塗りつぶす色を設定します。


OKボタンをクリックして完成です。