スポンサーリンク

SEARCH関数 – 文字列の中から指定した文字を探し、何文字目かを調べる

関数の基礎

SEARCH関数とは

SEARCH関数は、指定した文字を、指定した文字列から探し出し、それがなん文字目であるかを調べる関数です。

公式説明では下記のようになってます。

文字列が最初に現れる位置の文字番号を返します。大文字、小文字は区別されません。

例えば、SEIuchiという文字列からiを探した場合、7文字目に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関数が好きです。

コメント

タイトルとURLをコピーしました