この記事は最終更新日から2年以上経過しており、内容が古くなっている可能性があります。
ご理解の上、記事を閲覧いただければと思います。
スプレッドシートの条件付き書式で、文字列の部分一致やOR条件でセルや文字の色を変更する方法を解説します。
(実際に作成したスプレッドシートを公開しています)
※記事内の「関数」は小文字で記載していますが、大文字でも問題ありません。
カスタム数式で「COUNTIF」を使って指定する
「COUNTIF」は、その名のとおり、以下のように、条件に該当するセルをカウントする際に使う関数ですが、「条件付き書式」のカスタム数式内でも利用できます。
特定セルに○の文字を含む場合
以下は、F列に◯の文字を含む場合、行ごと緑の背景色にする場合の条件付き書式です。
=countif($F2, "*◯*")
- *(アスタリスク)はいわゆるワイルドカード、「あらゆる文字」を示しています。
- $は絶対参照、この数式が別のセルに移動しても、$がついている行または列は参照し続けます。
特定セルに○の文字を含まない場合
今度は逆に、F列に◯の文字を含まない場合、行ごと灰色の背景色にする場合の条件付き書式です。
=countif($F2, "<>*◯*")
- 不等号をあらわすを*◯*の前に付与します。
数式に直接文字を記載せず特定のセルを指定する場合
直接文字を記載せず、セルを指定する場合は(ここでは$A$1)、ダブルクオーテーションでかこった*を、&で繋ぎます。
=countif($F2, "*" & $A$1 & "*")
ORを使って「いずれか」の場合を指定する
「OR」関数を「COUNTIF」関数と組み合わせることで、以下のような条件付き書式が指定できます。
【OR関数単体の使用例】E2が10以下またはF2が20以下の時を指定
=or($E2<=10, $F2<=20)
E列かF列のどちらかのセルに×の文字を含む場合
以下は、E列かF列のどちらかのセルに×の文字が含まれる場合に、行ごと赤の背景色にする場合の条件付き書式です。
=or(countif($F2,"*×*"),countif($F2,"*×*"))
以上、スプレッドシートの「条件付き書式」で、カスタム数式を使って、文字列の部分一致やOR条件でセルや文字の色を変更する方法を紹介しました。
実際に作ったスプレッドシートはこちらで、どなたでも実際に編集できるシートと保護シートを一般公開しています。
(複数の条件付き書式を同じセルに指定している場合、上にある条件ほど優先されます)
ちなみに、「COUNTIF」と「OR」のいずれの関数も、Excelで同様に使用できます。
参考にさせていただいた記事
- Googleスプレッドシートのカスタム数式で文字列の部分一致をする – dackdive’s blog
- 挫折する人多数!スプレッドシートの『カスタム数式』の使い方を徹底紹介 | たぬハック
- 特定の文字列を含む/含まないセルをCOUNTIF関数でカウントする方法 – 病院SEにゃんとのパソコン・エクセル活用術
Googleスプレッドシートのカスタム書式設定を調べてここにたどり着きました。
実際に作ったスプレットシートは非常に参考になりました。
サンプル(編集可)のシートで都道府県の条件付き書式設定を誤って消してしまいました。
記憶を辿って修復を試みたものの上手くできませんでした。
本来はシートをコピーするべきでしたがそのままシートを編集してしまい申し訳ありませんでした。
ご対応をよろしくお願いいたします。
>ひろしさん
問題ないですよ、報告ありがとうございます!
(都道府県の条件付き書式設定は私は作った憶えがないので、別のどなたかが作成されていたのだと思います)
一応元に戻しておきました!
スプレッドシート初心者です。
転職先でシフト表管理を任されることになりました。
質問なのですが、カスタム数式をコピーする時にセルの数字だけを変えて列または行にダーッとコピーすることはできないのでしょうか?
数式「=AND(COUNTIF(C3:G3,”*出*”)>0,COUNTIF(I3:W3,”*退*”)>0)」の
・列にコピー→アルファベット
・行にコピー→数字
に変わってほしいのですが…。
説明がわかりづらかったらすみません。
>しののめさん
おそらく「フィルハンドル」が希望されている動作を実現する機能かと思います。
一度、「フィルハンドル」でGoogle検索してみていただければ!