Excel。文字が入力されている行全体を塗りつぶしたい
<条件付き書式+IFEEROR関数>
決まった文字ではないですが、文字が入力されているセルがあれば、わかりやすいようにその行全体をぬりつぶしたい場合、どのようにしたら、いいのでしょうか。
次の表をつかって、紹介します。
提出状況のB列には、提出日が入力されているセルもあれば、対象外など文字が入力されているセルも含まれています。
B4やB5のように文字が入力されているセルならば、その行全体を塗りつぶしたいわけです。
条件のついた書式なので、条件付き書式をつかいます。
問題となるのは、どのような、条件式を設定するかです。
数値や今回のように日付ならば、ここからここまで以外ならのようにすれば、いいかもしれません。
文字が固定されているならば、その文字を指定することで対応できますが、決まっていない文字の場合を考えるとなかなか、大変そうです。
しかし、条件付き書式の条件式は、IFERROR関数だけで対応することができます。
では、A2:B6を範囲選択します。
ホームタブの条件付き書式の新しいルールをクリックします。
新しい書式ルールダイアログボックスが表示されます。
数式を使用して、書式設定するセルを決定をクリックします。
条件式を設定します。
=IFERROR($B2*0,1)
あとは、書式ボタンをクリックして、塗りつぶしたい色を設定します。
OKボタンをクリックして完成です。
これで、文字列だけを対象にして塗りつぶすことができました。
ではどうして、
=iferror($B2*0,1)
という条件式で文字列だけを対象にできたのでしょうか。
IFERROR関数は、エラーならば、どのようにするのかという関数です。
最初の引数は、値です。
B2に「×0」します。ここで、B2が数値ならば、「0」になります。
数値でなければ、「#VALUE!」というエラーが表示されます。
「#VALUE!」は、数値以外のものをつかって計算していますというエラーです。
要するに、文字列の場合ということです。
これで、数値なのか、そうでないかを判断することができます。
今回は、日付ですが、Excelでは、日付はそもそも、シリアル値なので、数値です。
そして、2番目の引数で、エラーの場合どうするのか、設定できます。
ここで、エラーならば、「1」と設定します。
なぜ1なのかというと、Excelは1=TRUEということで、条件が成立というTRUEという意味を含めることができるからです。
なので、「=1」というように、1と等しいとしなくてもいいというわけです。
IFEROR関数をつかって、ワザとエラーを発生させて、数値と文字をわけることができる方法をつかってみました。