Excel

ExcelのSEARCH関数で文字列を簡単に検索しよう!【大文字・小文字を区別せずに使える便利な関数】

ExcelのSEARCH関数は、指定した文字列や文字が、他の文字列内でどこにあるかを検索し、その位置を数値で返す便利な関数です。SEARCH関数の最大の特徴は、大文字・小文字を区別せずに検索できることです。データ解析やテキスト処理の際に、特定の単語や文字が含まれているかどうかを調べたい場合に役立ちます。この記事では、SEARCH関数の基本的な使い方から応用的な活用法までを詳しく解説します。

SEARCH関数とは?

SEARCH関数は、指定した文字列や文字が、他の文字列の中で何文字目にあるかを検索し、その位置を数値で返す関数です。特に大文字・小文字を区別しない検索ができる点で、FIND関数と異なります。SEARCH関数は、英数字が混在するデータや、大文字・小文字の違いを意識せずに検索を行いたいときに非常に便利です。

SEARCH関数の基本的な構文

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

  • 検索文字列: 検索したい文字列や文字を指定します。
  • 対象文字列: 検索対象となるテキストやセルを指定します。
  • 開始位置(省略可能): 検索を開始する位置を指定します。省略した場合、最初の文字から検索されます。

SEARCH関数の動作イメージ

たとえば、セルA1に「Excelは便利」という文字列が入力されている場合、この中で「べんり」が何文字目から始まるかを知りたいとき、SEARCH関数を次のように使います。

=SEARCH(“べんり”, A1)

この場合、結果は6となります。「べんり」は6文字目から始まります。

SEARCH関数の実際の例

以下のように、SEARCH関数を使って特定の文字や単語が文字列内のどこにあるかを調べることができます。

セル範囲 SEARCH関数の使用例 結果
“Hello World” =SEARCH(“world”, A1) 7(大文字・小文字を区別しない)
“Excel関数” =SEARCH(“関”, A2) 6
“12345ABC” =SEARCH(“abc”, A3) 6

このように、SEARCH関数は大文字・小文字を区別せずに検索を行います。

開始位置を指定する例

SEARCH関数では、検索を開始する位置を指定することもできます。たとえば、セルA1に「Apple Banana Grape」という文字列があり、「a」が最初に現れる位置を知りたい場合、次のように入力します。

=SEARCH(“a”, A1, 1)

この場合、最初の「a」は2文字目にあるため、結果は2になります。

もし2つ目の「a」を見つけたい場合、開始位置を指定して次のように入力します。

=SEARCH(“a”, A1, 3)

この数式では、3文字目以降を検索し、結果として8が返されます。

SEARCH関数の応用例

特定の文字が存在するか確認

SEARCH関数を使って、特定の文字列が存在するかを確認することができます。SEARCH関数は、文字列が見つからない場合に**#VALUE!エラー**を返すため、これを利用して文字列の存在を確認できます。

たとえば、「Excel」という文字がセルA1に含まれているかを確認するには、次のように使います。

=IF(ISNUMBER(SEARCH(“Excel”, A1)), “含まれている”, “含まれていない”)

この数式では、セルA1に「Excel」が含まれていれば「含まれている」、含まれていなければ「含まれていない」が表示されます。

LEFT関数と組み合わせた部分抽出

SEARCH関数は、LEFT関数などと組み合わせて、文字列の一部を抽出する際に非常に有効です。たとえば、セルA1に「山田 太郎」という名前が入力されている場合、姓「山田」だけを抽出するには、次のように使用します。

=LEFT(A1, SEARCH(” “, A1)-1)

この数式では、まずSEARCH関数でスペースの位置を探し、LEFT関数で姓「山田」を抽出します。

MID関数を使った部分文字列の抽出

MID関数と組み合わせて、文字列の一部を取り出すことも可能です。たとえば、「商品番号:12345ABC678」がセルA1に入力されており、「ABC」の部分を抽出したい場合、次のように使用します。

=MID(A1, SEARCH(“ABC”, A1), 3)

この数式では、「ABC」が見つかる位置から3文字分をMID関数で抽出し、結果として「ABC」を返します。

SEARCH関数の便利な豆知識

大文字・小文字を区別しない

SEARCH関数は、大文字・小文字を区別せずに検索を行うため、特定の単語や文字列を検索する際に便利です。たとえば、「apple」と「Apple」を同じ文字列として扱います。

=SEARCH(“apple”, “Apple is tasty”)

この数式の結果は1になります。大文字と小文字を区別しないため、「Apple」が「apple」として認識されます。

数値の検索も可能

SEARCH関数は、文字列だけでなく数値にも使用できます。たとえば、セルA1に「12345」が入力されている場合、「3」が何文字目にあるかを次のようにして検索できます。

=SEARCH(“3”, A1)

結果は3と表示されます。

SEARCH関数のよくあるエラーと対処法

#VALUE!エラー

#VALUE!エラーは、検索対象の文字列が見つからなかった場合に発生します。たとえば、次のように入力するとエラーが返されます。

=SEARCH(“X”, “Hello World”)

この場合、「X」が含まれていないため、#VALUE!エラーが返されます。エラーが発生した場合、検索する文字列が正しいかどうかを確認しましょう。

空白文字を検索

SEARCH関数を使って空白を検索する場合、スペースを正しく指定する必要があります。たとえば、セルA1に「Hello World」が入力されている場合、次のように空白を検索できます。

=SEARCH(” “, A1)

結果は6となり、最初の空白文字が6文字目にあることが示されます。

まとめ

ExcelのSEARCH関数は、指定した文字列が他の文字列内のどこにあるかを検索し、その位置を返す非常に便利な関数です。大文字・小文字を区別せずに検索できるため、柔軟なデータ検索が可能です。また、LEFT関数やMID関数など他の関数と組み合わせて使うことで、文字列操作の幅が広がります。SEARCH関数を使いこなして、Excelでのデータ処理をさらに効率化しましょう。