エクセルの関数の中でよく使われる一つ、SEARCH関数(読み:サーチ、意味:英語で「search」は「探す、見つける」)をここでは取り上げて解説していきます。
目次
SEARCH関数とは何か?
SEARCH関数とは「=SEARCH (検索文字列, 対象, [開始位置])」という形で使うのが一般的で、FIND関数やFINDB関数などと全く同じ形です。機能としては、文字列(「対象」)の中で指定した「検索文字列」が左端から何文字目にあるのかを表示してくれる関数です。
SEARCH関数の書式 | =SEARCH (検索文字列, 対象, [開始位置]) |
対応Version | 365、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関数 | 特殊な検索はできます |