SEARCH(サーチ) エクセル関数の使い方
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関数は文字列の文字数を返します"と文字列のままにしていますがセルに入力してセルを指定したほうが良いでしょう