Categories: excel

ExcelのSEARCH関数を徹底解説|文字列の位置を調べる基本と応用テクニック

Excelで文字列の一部を検索したいとき、便利なのが「SEARCH関数」です。たとえば「特定の文字がどこにあるか調べたい」「文字列に含まれているキーワードの位置を知りたい」など、業務で役立つ場面は多くあります。しかし、似た関数に「FIND関数」もあるため、使い分けに迷う人も少なくありません。この記事では、SEARCH関数の基本的な使い方から実務で役立つ応用例まで、丁寧に解説します。初心者でも理解できるよう、わかりやすい例を交えて紹介していますので、ぜひ最後までご覧ください。


SEARCH関数とは?

SEARCH関数は、指定した文字列の中から、別の文字列を検索し、その開始位置を返す関数です。たとえば「メールアドレスの中で@の位置を知りたい」といった場面で役立ちます。

基本構文:

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

引数の意味:

  • 検索文字列: 探したい文字や語句(例:”@”)
  • 対象文字列: 探したい対象(例:”sample@example.com“)
  • 開始位置(省略可能): 検索を始める位置(1から始まる)

SEARCH関数の基本的な使い方

文字の位置を調べる基本例

=SEARCH("a", "banana")

この場合、「banana」の中で最初に出てくる「a」は2文字目です。結果は「2」となります。

大文字と小文字は区別しない

=SEARCH("B", "banana")

この場合も「b」が2文字目に出てくるため、結果は「2」になります。SEARCH関数は大文字・小文字を区別しない点が特徴です。対して、FIND関数は区別します。


FIND関数との違い

比較項目SEARCH関数FIND関数
大文字小文字の区別しないする
ワイルドカード使用可可能(? や *)不可
エラー時の動作エラー(#VALUE!)同じくエラー

違いを理解して、目的に応じた関数を選ぶことが大切です。


SEARCH関数の応用例

複数文字の検索

=SEARCH("cat", "My cat is cute")

→ 「cat」は4文字目から始まるため、結果は「4」となります。

開始位置を指定する

=SEARCH("a", "banana", 3)

→ 3文字目以降にある「a」は4文字目。結果は「4」になります。

ワイルドカードの使用

  • *:任意の文字列
  • ?:任意の1文字
=SEARCH("a*d", "abcd")

→ aからdまでに一致する文字列があるので、結果は「1」。


IF関数と組み合わせて条件分岐に使う

SEARCH関数は、条件式の一部としても活用されます。

=IF(ISNUMBER(SEARCH("エラー", A1)), "不備あり", "正常")

上記の例では、A1セルに「エラー」という文字が含まれていれば「不備あり」と表示され、そうでなければ「正常」となります。


SUBSTITUTEやMID関数と組み合わせた高度な使い方

特定文字以降の文字列を取り出す

=MID(A1, SEARCH(":", A1) + 1, LEN(A1))

この式は、A1セルの中で「:(コロン)」の後ろの文字列を抽出します。

たとえば A1が「タイトル:商品名」の場合、「商品名」のみを取得できます。


エラー処理を加えて安定した数式にする

SEARCH関数は、対象の文字列が見つからないと #VALUE! エラーになります。それを避けるには IFERROR 関数と組み合わせます。

=IFERROR(SEARCH("test", A1), "")

この式は、「test」が見つからない場合は空白を返すため、見た目にもきれいです。


実務での利用シーン例

1. メールドメインの抽出

=RIGHT(A1, LEN(A1) - SEARCH("@", A1))

「user@example.com」から「example.com」を取り出すことができます。

2. ファイル名から拡張子を抽出

=RIGHT(A1, LEN(A1) - SEARCH(".", A1))

ファイル名「document.pdf」から「pdf」だけを取り出す、といった場面で便利です。


SEARCH関数の注意点

  1. 文字が見つからないとエラーになる
    → IFERRORなどでエラー処理を忘れずに。
  2. スペースも1文字として数える
    → 目視とのズレが起きやすいので要注意。
  3. 全角と半角は区別される
    → 特に日本語を扱う場合、全角・半角の違いに気を付けましょう。

まとめ

SEARCH関数は、Excelの中でもシンプルながら非常に便利な文字列関数です。文字の位置を特定するだけでなく、他の関数と組み合わせることで、メール処理、データ整形、条件分岐など様々な業務に応用ができます。FIND関数との違いを理解し、場面に応じて使い分けることができれば、Excel作業の効率は格段に上がるでしょう。

今後はぜひ、SEARCH関数を日常業務で積極的に活用してみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。