Excelで作成したデータに「指定した文字列」が含まれるかは、「IF関数」を活用すると確認できます。しかし検索文字列の条件を指定する方法が特殊なため、思うように使いこなせないことも。本記事では、ExcelのIF関数で指定した文字列が含まれるか確認する方法を、画像付きで解説します。
IF関数で「指定した文字列」が含まれるか確認する方法
Excelの「IF関数」を使うと、入力したデータに「指定した文字列」が含まれるか確認できます。IF関数は指定した条件に応じてセルの表示を変える関数で、引数は「論理式」「値が真の場合」「値が偽の場合」の3つ。最初の論理式には指定したい条件、残りの2つには条件を満たす場合・満たさない場合に表示する文字を指定します。
今回は住所録を作成したあとで、「横浜市」という文字列を含むセルを検索する例を紹介します。なお左側の列は検索対象の文字列で、右側の列は検索したいキーワードが含まれるかを「〇」か「×」で示すものです。
文字列を「部分一致」で確認するにはワイルドカードを活用
先ほどの例では「全体一致」ではなく「部分一致」を使用しました。全体一致は検索文字列を完全に一致するセル、部分一致はその文字列を含むセルが対象となります。すべてのセルが「横浜市」以外の文字列も含むため、全体一致ではなく部分一致が必要でした。部分一致を使用する際は、キーワード以外の文字列を示す記号「ワイルドカード」が欠かせません。
なお「*」は1つだけ書けば「0文字」でも「100文字」でも合致しますが、「?」は指定したい文字数だけ書く必要があります。たとえば「トラとライオン」を検索したい場合は、「トラ*」もしくは「トラ?????」となります。文字数を厳密に指定したい場合を除いて、基本的には「*」を使うほうが便利です。
検索方法 | *(文字数を指定しない) | ?(文字数を指定する) |
前方一致 | キーワード* | キーワード? |
後方一致 | *キーワード | ?キーワード |
中間一致 | *キーワード* | ?キーワード? |
前後一致 | キーワード*キーワード | キーワード?キーワード |
先ほどの解説をまとめた表です。冒頭の横浜市を検索する例では、前後に不特定多数の文字列を含むため、「*」を使用しなければ正常に動作しませんでした。ワイルドカードの使い方はわかりづらい部分が多いので、自身でいろいろ試しながら理解を深めていきましょう。
ワイルドカードの種類による出力結果の違い
ワイルドカードの種類による出力結果の違いについて、冒頭の例を用いてもう少し詳しく検証してみましょう。たとえば住所表示に表記ゆれが存在する場合は、「*」を使わなければ検出がさらに困難になります。
まとめ
Excelでは「IF関数」と「COUNTIF関数」を組み合わせ、検索したい文字列を指定することで、任意の文字列を含むかどうか検索できます。ほとんどのケースでは「*」と「?」のワイルドカードの使用が必要です。しかし文字列検索やワイルドカードは複雑な部分が多いため、基本的にはキーワード前後に「*」を付けた部分一致での検索がおすすめです。
※サムネイル画像(Image:Wachiwit / Shutterstock.com)