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ボタンをクリックして完成です。