10/16/2024

Excel。文字が入力されている行全体を塗りつぶしたい【character】

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関数をつかって、ワザとエラーを発生させて、数値と文字をわけることができる方法をつかってみました。