SEARCH関数とは
SEARCH関数は、指定した文字を、指定した文字列から探し出し、それがなん文字目であるかを調べる関数です。
公式説明では下記のようになってます。
例えば、SEIuchiという文字列からiを探した場合、3文字目にIが存在するので、結果は3となります。(大文字と小文字を区別しないので、小文字のiで検索しても大文字のIの位置が結果となる)
SEARCH関数の使い方
式:=SEARCH(検索文字列,対象,[開始位置])
開始位置は省略可能
使い方はシンプルで、探したい文字、探したい場所の順に指定します。
開始位置は省略可能で、省略した場合は対象の先頭から探しだします。
なので、開始位置は5文字目以降から探したい場合などに指定しますが、基本は省略して問題ありません。
また、検索文字列も対象もセル参照する事ができますが、式に直接組み込むこともできます。
セル参照の場合、=SEARCH(A1,A2)のような式になり、直接組み込む場合は=SEARCH("太","セイウチ太郎")のように、ダブルクオーテーションで囲んで使います。
私個人としては、=SEARCH("太",A2)のように、探したい文字を直接式に組み込んで、探す場所はセル参照して使う事が多いです。
SEARCH関数を使ってみる
実際にSEARCH関数を使ってみましょう。
開始位置省略
まずは開始位置は省略して使ってみます。
上から順に両方セル参照、片方セル参照、全部式に組み込むの3パターンです。
どれもやっている事は同じで、セイウチ太郎から太を探した結果、5文字目に見つかったという結果になります。
開始位置を指定
今度は開始位置を指定して使ってみましょう。
【SSR】seiuchi という文字からsを探す場合、開始位置を省略すると、もちろん2文字目に見つかったという結果になります。
では、開始位置に5を指定してみましょう。
すると、先頭の【SSRを飛ばして、5文字目の】から検索が開始されるので、6文字目のsを見つけてくれます。
ここで気をつけないといけないのは、開始位置からなん文字目か ではなく、検索は開始位置からスタートするが、結果は先頭から見て何文字目かになるという点。
今回の場合、5文字目の】からsを検索するので、見つかるのはこのs(】seiuchi)になります。
5文字目の】から見たら、見つけたのは2文字目のsですよね。
ですが、SEARCH関数の結果は、あくまでも元の文字列の先頭から数えてなん文字目かなので、6という結果になっています。
使用時の注意点
SEARCH関数を使用する際、2点注意があります。
大文字・小文字は気にしない
大文字、小文字は区別されません。と関数の説明に書かれているとおり、aとA、iとIなどは同じ文字として扱われます。
SEARCH関数に似たもので、FIND関数というものがありますが、あちらでは逆に大文字と小文字を区別して扱います。(aとAは別の文字)
ワイルドカードが使える
SEARCH関数ではワイルドカード(?や*)が使えます。
ワイルドカードについても、SEARCH関数にそっくりのFIND関数の方では使えないという違いがあります。
目的に応じて使い分けていきましょう。
どっちでも問題ない場合はどっちでもいいです。
僕は名前が短いのでFIND関数が好きです。
コメント