この記事では「エクセルのSEARCH関数(複数条件:ワイルドカード:FINDとの違い)」の使い方について解説します。
重要なポイントはこちらです↓
・SEARCH関数は、文字列の中から特定の文字や単語を検索し、その位置(何文字目か)を返す。
・SEARCH関数は大文字と小文字を区別せずに検索を行う。
・FIND関数は大文字と小文字を区別する。
・SEARCH関数では、ワイルドカードを使って部分一致の検索が可能。
SEARCH関数は、文字列の中から特定の文字や単語を検索し、その位置(何文字目か)を返す便利な関数です。
FIND関数と似ていますが、いくつか違いもあります。
それでは以下のサンプルデータをもとに、実践的な使い方を解説していきましょう。
エクセルのSEARCH関数の使い方の基本とFIND関数との違い
SEARCH関数の基本構文は以下の通りです。
=SEARCH(検索文字列, 対象文字列, [開始位置])
「検索文字列」は探したい単語や文字、「対象文字列」は検索対象となるセルなど、「開始位置」は検索を開始する位置で、省略すると先頭から検索が始まります。
たとえば、セルA2に「2024年4月分納品書_株式会社A」という文字列があるとき、
=SEARCH(“納品書”, A2)
と入力すると、「納品書」という文字列が何文字目から始まるかを返します。
この場合、結果は「9」になります。
「納品書」という文字列が見つからない場合は「#VALUE!」が返されます。
全てのデータに =SEARCH(“納品書”, A2) を適用した結果がこちらです。
一方、FIND関数も似たような使い方ができますが、いくつか異なる点があります。
SEARCH関数は大文字と小文字を区別せずに検索を行いますが、FIND関数は大文字と小文字を区別します。
たとえば「Data」という文字列を検索する場合、対象が「data」だったとき、SEARCH関数では一致と判定されますが、FIND関数では一致しません。
また、SEARCH関数ではワイルドカード(後述)を使用することができますが、FIND関数では使えません。そのため、部分一致や柔軟な検索にはSEARCH関数の方が適しています。
このように、SEARCH関数は文字列の検索において、FIND関数よりも柔軟性が高いという特徴があります。
エクセルのSEARCH関数のワイルドカードを用いた使い方
SEARCH関数では、ワイルドカードを使って部分一致の検索が可能です。
使用できるワイルドカードには、以下の2種類があります。
• アスタリスク(*):任意の文字列(0文字以上)
• 疑問符(?):任意の1文字
たとえば、セルA3に「2024年5月分見積書_株式会社C」という文字列があるとします。
このセルに対して次のような式を入力することで、パターンに合致した文字列の位置を取得できます。
=SEARCH(“??書”, A3)
この式は、「2文字+書」という形の文字列を検索します。
「見積書」や「請求書」などにマッチし、その「書」の位置を返します。
さらに、以下のようにアスタリスクを使ったパターンも有効です。
=SEARCH(“株式会社*”, A3)
この式では、「株式会社」で始まる任意の続きの文字列を検索します。
「株式会社A」「株式会社B」「株式会社F_キャンセル対応」などにマッチします。
ワイルドカードを使うことで、特定の形式の単語や文字列を検索する場合に非常に便利です。
エクセルのSEARCH関数の複数条件の使い方
SEARCH関数は1つのキーワードを検索する機能ですが、複数の語句に対応するには、他の関数と組み合わせて使います。
特によく使うのは ISNUMBER、OR、IF 関数です。
たとえば、セルA5に「納品書_株式会社E_追加分」という文書名があるとします。
このセルに「納品書」または「請求書」のどちらかが含まれているかを調べたい場合は、次のように入力します。
=OR(ISNUMBER(SEARCH(“納品書”, A5)), ISNUMBER(SEARCH(“請求書”, A5)))
この式では、まず SEARCH(“納品書”, A5) で「納品書」の位置を探し、ISNUMBER でその結果が数値(見つかった)であるかどうかを判定します(条件①)。
同様に「請求書」についても検索を行い(条件②)、OR関数でどちらか一方でも見つかれば TRUE を返すようになっています。
さらに、これを IF 関数と組み合わせて、該当する場合に「対象」と表示するには、次のようにします:
=IF(OR(ISNUMBER(SEARCH(“納品書”, A5)), ISNUMBER(SEARCH(“請求書”, A5))), “対象”, “”)
このようにすれば、「納品書」か「請求書」を含む文書名だけを視覚的に分類することができます。
この方法を応用すれば、複数の条件を同時にチェックして、特定のキーワードを含むデータだけを抽出・整理することができます。
まとめ エクセルのSEARCH関数の基本
この記事では、エクセルのSEARCH関数の基本を、業務で扱う文書名データを使って解説しました。
SEARCH関数は文字列を柔軟に検索できる便利な関数で、他の関数と組み合わせて活用することで、日常の業務におけるデータ処理や文書分類を効率化できます。
特定のキーワードが含まれるかをすぐに判断したいときや、複数の語句をチェックしたいときなど、ぜひSEARCH関数を活用してみてください。