
IF 関数 の応用編として、今回は「セルに特定の文字列が含まれているかどうか」を調べる関数についてご説明していきます。
なお、当サイトでは Excel ではなく Numbers を使って解説しています。
目次
特定の文字列が含まれているかどうかを調べる
今回は例として、セルに「新宿区」が含まれるかどうかを調べ、含まれていれば結果のセルに「◯」を、含まれていなければ「×」が表示されるようにしてみましょう。

式の組み立て方
まずは IF 関数 を使用して「条件式」を指定し、その「条件」には「一致するセルの個数」を算出する COUNTIF 関数 を使って、表示結果を分岐させます。
・IF 関数:条件を指定し、その条件を満たす時と満たさないときとで異なる処理を実行する
・COUNTIF 関数:条件に一致するセルの個数を算出する
それでは、各関数の式の書き方をおさらいしましょう。
IF 関数の式の確認
IF 関数は、「条件式」「値が真の場合」「値が偽の場合」の3つの要素で構成されます。
条件を満たすときを「TRUE(真)」、満たさないときを「FALSE(偽)」といいます。
= IF ( 条件式 , 値が真の場合 , 値が偽の場合 )

COUNTIF 関数の式の確認
COUNTIF 関数は、「条件範囲」「条件」の2つの要素で構成されます。
検索する範囲の中から検索条件に一致するデータを探し、検索結果に対応するセルの数を返します。
= COUNTIF ( 条件範囲 , 条件 )
条件範囲 | セルの検索範囲を指定(例 / B3:B8 または B3) |
条件 | 数値や文字列、比較演算子を使った数式、 ワイルドカード、セル範囲など |

関数 を書く
それでは早速、関数を書いていきましょう。
Step 1
セルにカーソルを合わせ、「= IF」と入力するか、「挿入」メニューから「新規数式」を選択します。

「論理と情報」から IF を選択するか、検索窓に「IF」と入力しても探すことが出来ます。「関数を挿入」をクリックします。

IF 関数を入力する準備ができました。

Step 2
続いて、IF 関数の「条件式」に COUNTIF 関数 を入れ子にします。こうすることで、特定の文字列が含まれているかどうかを確認します。
= IF ( COUNTIF ( 条件範囲 , 条件 ), 真の場合 , 偽の場合 )

Step 3
次に、COUNTIF 関数の「条件範囲」に検索対象となるセルを指定します。ここでは住所が入力されている A2 のセルになります。
= IF ( COUNTIF ( A2 , 条件 ) , 真の場合 , 偽の場合 )

Step 4
続いて、COUNTIF 関数の「条件」に「新宿区が含まれているかどうか」を指定します。
検索条件は、ワイルドカード「*」「?」を使って指定することが出来ます。
今回は「新宿区」を含む文字列を検索しますので、“*新宿区*” と入力します。
= IF ( COUNTIF ( A2 , “*新宿区*” ) , 真の場合 , 偽の場合 )

ワイルドカードについては以下の表を参考にしてください。
* | 任意の文字列 | |
? | 任意の一文字 | |
*海* | 「海」を含む文字列 瀬戸内海、海岸、北海道 など | |
海* | 「海」で始まる文字列 海岸、海開き、海水浴 など | |
*山 | 「山」で終わる文字列 嵐山、火山、丸山 など | |
山?? | 「山」で始まる3文字の文字列 山盛り、山並み、山間部 など | |
??山 | 「山」で終わる3文字の文字列 富士山、筑波山、高野山 など | |
<>山 | 「山」を含まない文字列 |
Step 5
次に、検索条件が「真の場合」と「偽の場合」とで表示結果を指定します。
条件式 | セルに「新宿区」が含まれるかを調べる |
真の場合 | ◯ |
偽の場合 | × |
今回はテキストを指定しますので、ダブルクオーテーション「“」で囲みます。
= IF ( COUNTIF ( A2 , “*新宿区*” ) , “◯” , “×” )

Step 6
Enter を押して式を反映させたら、黄色のハンドルを下にドラッグしてセルを自動入力させます。

入力結果
指定した条件の通りになっているか確認しましょう。
