Excel 文字の中に特定の文字が何番目にあるか探す-SEARCH関数

Excelのデータで文字列の中に特定の文字が何番目にあるか探す方法を記録します。

文字列の中に特定の文字が何番目にあるか探す場合は、SEARCH関数を使います。

< スポンサーリンク >

 

下図はExcel2016です。

 

関数

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

SEARCH(検索文字列,対象,[開始位置])

SEARCHB(検索文字列,対象,[開始位置])

検索文字列=必須。検索する文字列を指定。

対象=必須。"検索文字列"を含む文字列を指定。

開始位置=省略可能。検索を開始する位置を指定。

  • SEARCH関数およびSEARCHB関数では、大文字と小文字は区別されません。大文字と小文字を区別して検索を行うには、FIND関数およびFINDB関数を使用します。
  • 検索文字列には、半角の疑問符(?)または半角のアスタリスク(*) をワイルドカード文字として使用できます。ワイルドカード文字の疑問符は任意の1文字を表し、アスタリスクは1文字以上の任意の文字列を表します。ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前に半角のチルダ(~)を付けます。
  • 検索文字列が見つからないときは、エラー値 #VALUE! が返されます。
  • 開始位置を省略すると、1を指定したと見なされます。
  • 開始位置に0(ゼロ)以下の整数を指定した場合、または開始位置が対象の文字数よりも大きい場合は、エラー値 #VALUE! が返されます。
  • 開始位置を指定すると、指定した文字の数だけスキップすることができます。たとえば、SEARCH関数を使用して、文字列"ABC0001.HelloLiliaStudy"を検索の対象にするとします。 このとき、文字列のシリアル番号部分 ("ABC0001") をスキップし、説明部分に含まれる最初の"H"が現れる位置を検索するには、開始位置を8に設定します。8文字目から検索が開始され、検索文字列がその次の位置に見つかるので、SEARCH関数は9を返します。SEARCH関数は常に、対象の先頭文字からの位置を返します。開始位置が1を超える場合は、指定された数だけ文字列がスキップされます。

 

A1の文字「あいうえおあいうえお」の中から「うえ」が何番目にあるか探しています。

=SEARCH("うえ",A1)

Excel関数SEARCH

 

A1の文字「あいうえおあいうえお」の中の5番目の文字「お」から何番目に「うえ」があるか探しています。

結果は1文字目から数えられた文字数なので「8」になります。

=SEARCH("うえ",A1,5)

Excel関数SEARCH

 

検索文字がない場合は、エラーになります。

=SEARCH("かき",A1)

Excel関数SEARCH

 

テキストのデータ(カンマ区切りなど)で1つ目の列がユニークな番号などで、桁数があってるかな?と調べるときにも便利に使えます。

下図はカンマ区切りの1つ目のカンマが何番目にあるか探しています。

=SEARCH(",",A1)

Excel関数SEARCH

 

< スポンサーリンク >



サブコンテンツ

このページの先頭へ