Excel。わかりやすいように、文字が入力されている行全体を塗りつぶしたい
<条件付き書式+IFERROR関数>
列内のデータで数値ではなく、文字が入力されている場合、その行全体を手早く塗りつぶすにはどのようにしたらいいのでしょうか
次の表を用意しました。
B列の数値が入力されているデータはそのままで、文字が入力されているデータがあれば、その行全体を塗りつぶしたいわけです。
文字が同じならば、その文字をつかって、条件付き書式のルールを作ることもできますが、様々な文字の場合、Excelでは、判断する関数が用意されていません。
数値を除外したくても、例えば、1~10と決まった範囲ならば、それ以外ということも出来るかもしれませんが、それもできません。
ただ、Excelにおいて、文字か数値かを判断するには、それほど、難しくはありません。
では、条件付き書式を設定していきます。
A2:B6を範囲選択して、ホームタブの条件付き書式にある、「新しいルール」をクリックします。
新しいルールダイアログボックスが表示されます。
「数式を使用して、書式設定するセルを決定」を選択します。
次の数式を満たす場合に値を書式設定のボックスに、次の数式を設定します。
=IFERROR($B2*0,1)=1
あとは、書式を設定したら、OKボタンをクリックします。
これで、文字が入力されているデータの行全体を塗りつぶすことができました。
ところで、設定した数式は、どう動いているのでしょうか。
確認しておきましょう。
=IFERROR($B2*0,1)=1
B2に0を乗算しています。数値に「0(ゼロ)」を乗算すれば「0(ゼロ)」になります。
文字の場合、「0(ゼロ)」を乗算すれば、「#VALUE!」というエラーが表示されます。「#VALUE!」は、文字と数値で計算をした場合に表示されるエラーです。
要するに、エラーが表示されたら、文字ということがわかるというわけです。
そこで、IFERROR関数をつかうことで、エラーだった「1」を算出するように設定します。
その「1」と等しかったらセルを塗りつぶすように、条件付き書式を設定すればいいというわけです。
Excelには、エラー発生時に対応する関数が用意されていますので、ワザとエラーを発生させて対応させるという方法もありますよ。