Excelで作成したデータに「指定した文字列」が含まれるかは、「IF関数」を活用すると確認できます。しかし検索文字列の条件を指定する方法が特殊なため、思うように使いこなせないことも。本記事では、ExcelのIF関数で指定した文字列が含まれるか確認する方法を、画像付きで解説します。
IF関数で「指定した文字列」が含まれるか確認する方法
Excelの「IF関数」を使うと、入力したデータに「指定した文字列」が含まれるか確認できます。IF関数は指定した条件に応じてセルの表示を変える関数で、引数は「論理式」「値が真の場合」「値が偽の場合」の3つ。最初の論理式には指定したい条件、残りの2つには条件を満たす場合・満たさない場合に表示する文字を指定します。
今回は住所録を作成したあとで、「横浜市」という文字列を含むセルを検索する例を紹介します。なお左側の列は検索対象の文字列で、右側の列は検索したいキーワードが含まれるかを「〇」か「×」で示すものです。

【1】まずは一番上のセルに「=IF(COUNTIF(A2,”*横浜市*”)=1,)」と入力しましょう。「COUNTIF(A2,”*横浜市*”)=1」の部分は、「A2セルに横浜市を含む場合」を意味する式です。なお横浜市の前後にある「*(アスタリスク)」を入れ忘れると、正しく機能しないので注意してください

【2】次に「値が真の場合」の表示を指定するために、「 “〇”,」を追加します。これは「横浜市を含むセルには〇を表示する」という意味です

【3】次に「値が偽の場合」の表示を指定するために、「 “×”)」を追加します。これは「横浜市を含まないセルには×を表示する」という意味です。セルに「=IF(COUNTIF(A2,”*横浜市*”)=1,”〇”,”×”)」という式が正しく記載されているか、再確認してみましょう

【4】先ほどの式をほかのセルに反映させるために、B2セルの右下部分をB11セルまでドラッグしてください。その結果「横浜市」を含むセルに「〇」が付き、ほかのセルには「×」が付きました
文字列を「部分一致」で確認するにはワイルドカードを活用
先ほどの例では「全体一致」ではなく「部分一致」を使用しました。全体一致は検索文字列を完全に一致するセル、部分一致はその文字列を含むセルが対象となります。すべてのセルが「横浜市」以外の文字列も含むため、全体一致ではなく部分一致が必要でした。部分一致を使用する際は、キーワード以外の文字列を示す記号「ワイルドカード」が欠かせません。

ワイルドカードの種類は「*(アスタリスク)」と「?(クエスチョンマーク)」の2種類。「*」は「0文字以上」、「?」は「1文字」を示します。①「トラ」の後ろに2文字、②「トラ」の後ろに0文字以上、③「トラ」の前に3文字と後ろに0文字以上、④「トラ」の前に0文字以上と後ろに2文字を意味する条件式です
なお「*」は1つだけ書けば「0文字」でも「100文字」でも合致しますが、「?」は指定したい文字数だけ書く必要があります。たとえば「トラとライオン」を検索したい場合は、「トラ*」もしくは「トラ?????」となります。文字数を厳密に指定したい場合を除いて、基本的には「*」を使うほうが便利です。
検索方法 | *(文字数を指定しない) | ?(文字数を指定する) |
前方一致 | キーワード* | キーワード? |
後方一致 | *キーワード | ?キーワード |
中間一致 | *キーワード* | ?キーワード? |
前後一致 | キーワード*キーワード | キーワード?キーワード |
先ほどの解説をまとめた表です。冒頭の横浜市を検索する例では、前後に不特定多数の文字列を含むため、「*」を使用しなければ正常に動作しませんでした。ワイルドカードの使い方はわかりづらい部分が多いので、自身でいろいろ試しながら理解を深めていきましょう。
ワイルドカードの種類による出力結果の違い
ワイルドカードの種類による出力結果の違いについて、冒頭の例を用いてもう少し詳しく検証してみましょう。たとえば住所表示に表記ゆれが存在する場合は、「*」を使わなければ検出がさらに困難になります。

【1】冒頭と同じく「*横浜市*」と記載した例です。このように表記ゆれが大きくても、しっかり検出できています

【2】「横浜市??」と指定した場合は、横浜市の前に文字がなく、後ろに2文字を含むセルしか一致しません

【3】2つのワイルドカードを組み合わせて「*横浜市?」と指定したケース。横浜市の前に0文字以上、後ろに1文字を含む2つのセルが該当しました

【3】ちなみに「*赤城?町*」とすると、「赤城」と「町」の間に任意の1文字を含む2つのセルが該当しました
まとめ
Excelでは「IF関数」と「COUNTIF関数」を組み合わせ、検索したい文字列を指定することで、任意の文字列を含むかどうか検索できます。ほとんどのケースでは「*」と「?」のワイルドカードの使用が必要です。しかし文字列検索やワイルドカードは複雑な部分が多いため、基本的にはキーワード前後に「*」を付けた部分一致での検索がおすすめです。
※サムネイル画像(Image:Wachiwit / Shutterstock.com)