Excelでは、条件付き書式を利用することで特定のセルに値が入力された場合に行全体の色を変更できます。
この記事では「セルに値が入っている場合」「特定の文字が入力されている場合」など、条件に応じて行全体に色を付ける方法を解説します。
リスト機能と組み合わせるとプルダウンで値を操作でき、その値で行を一括管理することができるので、エクセルでステータスの管理をしたい場合に便利です。
1.セルに値が入っていたら行を色塗りする
・この処理をしたい行を選択して「ホーム」タブから「条件付き書式」をクリックし、「新しいルール」をクリックします。

・「数式を使用して、書式設定するセルを決定」を選択して、数式欄に以下の数式を記載します。
※選択した行の中で判定に利用したいセルの値を入力してください。今回はE列を判定に利用したいのでE3セルを選択しています。
=$E3<>""
・「書式」を選択して「塗りつぶし」タブより色を選択します。

・「OK」をクリックしたら条件付き書式の設定は完了です。

・最後に、条件付き書式を設定した行をコピーして、

それ以降の行に「書式設定」のみペーストします。

これで設定完了です。
1-1. 値が入っていたら色塗りされるかを確認する
E列に値を入れて確認してみます。

値が入っている行が色塗りされることが確認できます。
1-2. =$E3<>”” の解説
少しわかりづらい部分もあるので、「=$E3<>””」この数式の意味も解説しておきます。
| 部分 | 意味 |
|---|---|
$E3 | E列3行目を判定(E列は固定、行固定は無し) |
<> | 「等しくない」 |
"" | 空白 |
つまり、「E列3行目が空白ではない場合」という意味です。
2.特定の値が入っていたら行を色塗りする
次に同じようなやり方で、特定の値が入っていた場合に行を色塗りするということを試してみます。
上記と同じように数式で判定させ、入力する式で特定の値を指定するだけです。
今回はOKと入力された場合に行を色塗りします。
=$E3="OK"試してみるとokと入力されると色塗りされることが確認できます。

入力される文字列は大文字小文字の区別がされないのでその点は少しだけ注意しましょう。
また、リスト機能と組み合わせるとプルダウンで値を操作でき、その値で行を一括管理することができるので、エクセルでステータスの管理をしたい場合に便利です。
3.特定の文字が「含まれていたら」行を色塗りする
最後に特定の文字が含まれていた場合に行を色塗りするをやってみました。
やり方は上記と同じですが、ISNUMBER と SEARCH の関数を利用します。
=ISNUMBER(SEARCH("完了",$E3))試してみると「完了」という文字が含まれていれば色塗りされることがわかります。

4.うまく色塗りされない場合
いろんな要素が考えられますが、自分もよくやっていたミスを紹介します。
4-1. $をつける位置が間違っている
正しい数式は
=$E3="OK"なのに、以下のように行固定もしてしまうミスです。
=$E$3="OK"$は参照先を固定します。
列固定だけであれば、書式をコピーしてほかの行にも適用させた際に、行は自動的にコピー先の行になります。
しかし、このミスのように3行目の部分も固定してしまうと、書式をペーストした先のセルでも色塗り判定が「E3セル」の値を参照してしまうので、50行目でも100行目でも「E3セル」の結果を参照してしまうことになります。

