【Excel】IF関数で「指定した文字列」が含まれるか確認する方法を画像付き解説

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)

オトナライフ編集部
iPhone・Android・SNS・パソコン関連・キャッシュレス、QRコード決済など、さまざまな情報を独自の視点や切り口で発信するニュースサイト
X/Twitter:@otonalife
YouTube:OTONALIFE Ch

iPhone/Androidスマホやキャッシュレス決済、SNS、アプリに関する情報サイト[オトナライフ]

関連記事

TOPICS
スキル・ビジネス最新記事

RANKINGランキング

6:00更新