SEARCH(サーチ)エクセル(Excel)関数

SEARCH(サーチ)エクセル(Excel)関数

SEARCH(サーチ)は、指定された文字列を他の文字列の中で検索し、その文字列が最初に現れる位置を左端から数え、その番号を返します。

・関数SEARCH(サーチ)
・書式=SEARCH(検索文字列,対象,開始位置)
・内容文字列を検索し最初に現れる位置を返します。
使い方
SEARCH 関数では、既定の言語の設定に関係なく、1 バイト文字も2 バイト文字も、各文字が常に 1 つとして数えられます。
検索した文字が2つ以上存在する場合最初の1つの結果を出します

例)=SEARCH("","SEARCH関数は文字列の文字数を返します") 結果は 8
 "数"を検索して場所の数値を取得します
 開始位置は省略できます。(省略すると、1 を指定したと見なされます。)
※セル指定もできます。数式内で指定する場合は文字列は 「"」 で挟む必要があります。

検索文字列が見つからないときは、エラー値 #VALUE! が返されます
開始位置が0以下や対象より多い場合、エラー値 #VALUE! が返されます

例)=SEARCH("","SEARCH関数は文字列の文字数を返します",9)
結果は 16
9文字目以降を検索します。結果には9文字も含まれます。
文字列の最初の1文字の左を1として開始するので0以下はありません

これを組み合わせると最初の文字列"数"から先を取得します
=SEARCH("","SEARCH関数は文字列の文字数を返します")
結果は8ですが8を指定すると8になるので+1します
=SEARCH("","SEARCH関数は文字列の文字数を返します")+1
これで9文字目からになります

これを組み合わせると
=SEARCH("","SEARCH関数は文字列の文字数を返します",SEARCH("","SEARCH関数は文字列の文字数を返します")+1)
これで2番目の"数"の場所が取得できます 結果は16

他の関数との組み合わせで文字列から検索して抜き出す方法です
"SEARCH関数は文字列の文字数を返します"から
"文字列の文字数を返します"を抜き出す場合

全体の文字数を取得して"文字列"を検索して全体の文字数から引きます

全体の文字数を取得するのは =LEN(文字列)
指定した文字列を切り取るのは =MID(文字列,開始位置,文字数)
文字を検索するのは=SEARCH(検索文字列,対象,開始位置)です

まず全体の文字数を取得
=LEN("SEARCH関数は文字列の文字数を返します")
結果は 21

文字列を検索します
=SEARCH("文字列","SEARCH関数は文字列の文字数を返します")
結果は 10

上記から10文字から21文字の文字列を取得します
=MID("SEARCH関数は文字列の文字数を返します",10,21)
結果は 文字列の文字数を返します

この10と21に組み合わせると
=MID("SEARCH関数は文字列の文字数を返します",SEARCH("文字列","SEARCH関数は文字列の文字数を返します"),LEN("SEARCH関数は文字列の文字数を返します"))
となります
結果 文字列の文字数を返します

数式の意味をわかりやすくするため(このまま数式をコピペしてエクセルに貼り付けてもよいように)"SEARCH関数は文字列の文字数を返します"と文字列のままにしていますがセルに入力してセルを指定したほうが良いでしょう
SEARCH関数は大文字と小文字を区別しません

=SEARCH("E","Albert Einstein")
=4

大文字と小文字を区別しないので4番目の「e」の位置を返しています
大文字と小文字を区別して検索したい場合は「FIND」関数を使用します

=FIND("E","Albert Einstein")
=8

参考:FIND と SEARCH の違い
文字列を取得する他の関数
 LEN 文字列の文字数を取得します
 MID 指定された文字数の文字を取得します
 SEARCH 字列を他の文字列の中から検索します
 SUBSTITUTE 指定した文字を置換します


SEARCH(サーチ)>HOME

エクセル(Excel)関数

(C) 2001-2023 Digital World