エクセル実践塾 > 特集「条件式の考え方」

エラー回避のためのISNUMBER関数と組み合わせたFIND関数で検索することにより、特定の文字列が含まれているかどうかを調べる

 

特定の文字列がセルに含まれているかどうかはFIND関数で調べられますが、含まれていない場合にはエラーとなるので、ISNUMBER関数でそれを回避します

FIND関数を使うと、特定の文字列の検索を行えます。それが見つかった場合には、その文字列が最初に現れる左端からの、文字数を返します。

ただし、見つからなかった場合にはエラーとなるので、数値か否かで真偽を評価できるISNUMBER関数と組み合わせて使うようにします。

特定の文字列が複数あるときには、あらかじめそれらをセルに入力しておき、そのセル範囲に適当な名前を付けておきます。それを使って、SUM関数による配列数式、もしくはSUMPRODUCT関数式で、特定の文字列が含まれているかどうかを評価できます。

 

 

 

 

特定の文字列がセルに含まれている否かは、この例のような数式で評価することができます。

条件付き書式では、FIND関数だけでも条件式として成り立ちますが、ISNUMBER関数と組み合わせることで真偽の判断をより明確に行えます。

含まれているかどうかを調べたい文字列が複数ある場合には、あらかじめそれらをセルに入力しておき、そのセル範囲に適当な名前をつけておきます。

それをFIND関数の検索文字列として指定すれば、SUM関数の配列数式でその有無を判定できます。

【参考】論理値は、加算できる

SUM関数の配列数式は、SUMPRODUCT関数式に置き換えることができます。

条件付き書式では配列数式を条件式として設定できないので、 このSUMPRODUCT関数式を使います。

特定の文字列が中ほどに含まれる場合でも、FIND関数でその有無を調べることができます。

ただし、この例のように、「大阪市」の含まれる「住所」を調べようとして、意図しない「東大阪市」が該当してしまう場合もあるので、使い方には注意する必要があります。

上の例のような、意図しない結果を回避するには、中ほどにある文字列を検索するのではなく、先頭からの一連の文字列で検索できるようにするのが賢明です。

この例では、県庁所在地だけではなく、その都道府県を含めて、「住所」での検索を行うようにしています。

「&」は、文字列をつなぐための演算子です。

 

<< “日付”はシリアル値の整数部、“時間”はシリアル値の小数部 質問や要望などはこちらへ 【条件付き書式での使用例】
関東地方の一都六県に住む人を強調する >>

関連する他のページ

「仙台市」の含まれる住所セルを強調したい
「セルの強調表示ルール」→「文字列」を使います

条件付き書式を使って、特定の文字列を含むセルに色を付ける
Excel 2010/2007では「セルの強調表示ルール」の「文字列」を、Excel 2003/2002ではSEARCHなどの関数による条件式を使います

別シートの一覧に含まれる商品名が入力されたときに、そのセルを任意の色で塗りつぶして強調したい
COUNTIF関数を使った条件式で、条件付き書式を設定します

「仙台市」の含まれる住所セルと同じ行にある、氏名セルを強調したい
FIND関数を使って、条件付き書式を設定します

「仙台市」の含まれる住所セルがある、行全体を強調したい
指定列の強調を、行全体の強調に広げるだけなら、適用先を変更するだけで行えます

特定のデータが入力されているセルの数を知りたい
COUNTIF関数を使えば、指定データの入力されているセルの数がわかります

受注番号の重複する行を非表示にしたい
フィルタオプションで重複するレコードを無視すれば、重複しない行だけの表示できます

受注番号の重複する行を取り除きたい
Excel 2010/2007では、[重複の削除]機能で、重複データを含む行の削除が可能です

条件付き書式を使って、重複する値を強調する
Excel 2010/2007では「セルの強調表示ルール」の「重複する値」を、Excel 2003/2002ではCOUNTIF関数による条件式を使います

「オイル」と名のつく製品をのぞいて、SUMIFS関数でその個数を合計したい
SUMIFS関数の検索条件では、等しくないことを表す、比較演算子「<> (不等号)」も使えます

「オイル」と名のつく製品名と、識別数字の両方の条件に合致するものを、SUMIFS関数で合計したい
SUMIFS関数の検索条件には、任意の文字列を表すワイルドカードも使えます

特定の列のデータに応じて、その行全体を強調する
列番号を絶対指定した条件付き書式にすれば、特定の列の値を条件にして、行全体を強調することができます

一覧に含まれるデータが入力されたときに、条件付き書式で強調する
COUNTIF関数を使った条件式で、条件付き書式を設定します

特定の列のデータに応じて、指定列のセルを強調する
列番号を絶対指定した条件付き書式にすれば、特定の列の値を条件にして、指定列のセルを強調することができます

指定文字列を含む商品名が入力されたときに、そのセルを任意の色で塗りつぶして強調したい
条件付き書式の「セルの強調表示ルール」→「文字列」を使えば、指定文字列を含むセルだけを自動的に強調表示することができます

入力したデータに、指定文字列が含まれる場合に強調する
条件付き書式の「セルの強調表示ルール」→「文字列」を使えば、指定文字列を含むセルだけを自動的に強調表示することができます

上のセルと同じ値になっているセルを強調したい
条件付き書式で、上のセルとの比較を行えば、同じ値の続くセルを適当な書式で強調できます