Excel 指定の文字が何文字目にあるかを調べる (SEARCH関数)

SEARCH関数は指定の文字列が

何文字目に存在するかを

調べるための関数です。

理由は後述しますが、

同様の機能の関数であるFIND関数の方が

利便性が高いためそちらの使用を推奨します。

仕様

FIND(検索文字列,対象,開始位置)
<検索文字列>
検索する文字列かセルを指定します。
<対象>
検索対象となる文字列かセルを指定します。
<開始位置>
検索を開始する位置を数値かセルで指定します。
先頭は1です。開始位置は省略可能です。

使用例

基本的な例

このような結果になります。

検索文字列が存在しない場合は

#VALUEエラーになります。

基本的な使用例のキャプチャ

文字の存在判定を行う例

IF関数とISERROR関数を併用することで

自動判定を行う数式を作ることが可能です。

文字の存在判定を行う使用例のキャプチャ

数式

IF(ISERROR(SEARCH(検索文字列,対象)),"存在しない","存在する")

ISEEROR関数の引数にSEARCH関数を指定した場合、

このような真偽値が結果になります。

SEARCH関数で結果が見つかるエラーではない…偽(FALSE)
SEARCH関数で結果が見つからないエラーである…真(TRUE)

真偽値はそのままIF関数の引数と出来るため

一つ目の引数である判定の部分に記述します。

そして二つ目の引数に見つからない場合の結果、

三つ目の引数に見つかる場合の結果を

記述すれば自動判定の数式が完成します。

SEARCH関数とFIND関数の違い

FIND関数と同じ引数で同じ機能の関数ですが

判定方法に微妙な違いがあります。

FINDSEARCH
大文字・小文字区別する区別しない
ワイルドカードによる
部分一致検索
不可能可能
FIND関数とSEARCH関数の違いの図解

普段の使用であれば大文字・小文字を

区別するほうが都合がよいため、

FIND関数の使用を推奨します。

(もっとも日本語の場合、差は出ませんが)

SEARCH関数は大文字・小文字を

区別せずに検索したい場合と

ワイルドカードによる部分一致検索を

行いたい場合に限って使用しましょう。

関連記事

文字列を比較する方法(完全一致・部分一致)

関数の仕様と使い方の記事一覧

各種エラーの発生条件と判定関数

フォローする