エクセルの関数の中でよく使われる一つ、SEARCH関数(読み:サーチ、意味:英語で「search」は「探す、見つける」)をここでは取り上げて解説していきます。

SEARCH関数とは何か?

SEARCH関数とは「=SEARCH (検索文字列, 対象, [開始位置])」という形で使うのが一般的で、FIND関数やFINDB関数などと全く同じ形です。機能としては、文字列(「対象」)の中で指定した「検索文字列」が左端から何文字目にあるのかを表示してくれる関数です。

SEARCH関数の書式=SEARCH (検索文字列, 対象, [開始位置])
対応Version365、2019、2016、2013、2010

SEARCH関数の「検索文字列」について

「検索文字列」には、検索したい文字列を指定します。文字列を直接指定する方法(ダブルクォーテーション“”で文字列を囲む)とセルを参照する方法の2つが利用できます。

SEARCH関数の「対象」について

「対象」には「検索文字列」が含まれる文字列を指定します。「対象」の指定方法も同じで、ダブルクォーテーション“”で文字列を囲む方法とセルを参照する方法があります。

「対象」に「検索文字列」が複数ある場合

状況によっては、「対象」に「検索文字列」が複数存在することもあります。その場合は、一番左にある「検索文字列」の位置が結果として表示されます。

SEARCH関数の「開始位置」について

「開始位置」は必ずしも設定する必要のない、任意項目になります。

なお、「開始位置」を指定する意味はなく、適切な値を指定したとしても、「対象」の左端からの文字数が表示されます。

ただし、0以下の値や、開始位置が対象の文字数より大きい値を指定した場合には「#VALUE!」エラーが表示されます。そのため、省略するのが無難だと思います。

SEARCH関数の具体的な使い方

①SEARCH関数を使える状況を準備します。

ここでは住所を例にあげて、SEARCH関数の使い方を見ていきます。

②SEARCH関数を使いたいセルに「=SEARCH (」と入力します。

③「検索文字列」を指定します。

ここでは「B3」セルを参照する形で指定しています。

④「対象」を指定します。

ここでは「C3」セルを参照する形で指定しています。

※「開始位置」を指定します。

ここでは「D3」セルを参照する形で指定しています。省略したほうがミスが減るので、省略を強くオススメします。

⑤「Enter」を押し、表示された結果を確かめます。

⑥他のセルにもSEARCH関数を反映させます。

コピペやオートフィルを使って、他のセルにもSEARCH関数を反映させましょう。

「検索文字列」が「対象」に存在しない場合、「#VALUE!」エラーが表示されます。エラーが表示されたときには、「検索文字列」と「対象」が適切かどうかを見直し、関数を修正しましょう。

FIND関数との違いは何か?

1.大文字と小文字の区別

SEARCH関数では大文字と小文字を区別されないので注意しましょう。日本語表記(ひらがな、カタカタ、漢字)の検索であればFIND関数でもSEARCH関数でも良いですが、アルファベットの検索の場合であれば必ずFIND関数を利用するのが良いでしょう。

FIND関数大文字と小文字は区別されます
SEARCH関数大文字と小文字は区別されません

2.特殊な検索(ワイルドカードの区別)

SEARCH関数では文字列を検索する際に「任意の文字」を指定するためにアスタリスク*や疑問符?(ワイルドカード)を使えます。特殊な検索を行いたい場合には、SEARCH関数を利用しましょう。

FIND関数特殊な検索はできません
SEARCH関数特殊な検索はできます