Excel

【Excel】エクセルのSEARCH関数(複数条件:ワイルドカード:FINDとの違い)の使い方

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では「エクセルの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関数を活用してみてください。