SEARCH関数の構文解説と使用ガイド −検索する−

Excel SEARCH関数の構文と引数解説図

本記事は ExcelのSEARCH関数 を解説します。
SEARCH関数は Excel 365、Excel 2010 以降 で利用可能です。

Excel の SEARCH 関数は、「サーチ(Search)」と呼ばれます。
文字列の中から指定した文字列が 何文字目に現れるかを調べるため に使用されます。

SEARCH(サーチ)という語は「探す/検索する」を意味し、
文字列検索機能を表す名前として付けられたと考えられます。

Microsoft Excel の「文字列操作関数」のカテゴリに属します。

🔹 こんな時に便利!

SEARCH関数を使わない場合、

  • 文字列の中に特定の語句が含まれているかどうかを手作業で探す必要があり、検索ミスや見落としが起こりやすくなります。

しかし、SEARCH関数を使うことで

  • 文字列中の位置を自動で検索し、数値で返してくれる
  • 大文字・小文字を区別せず検索できる
  • ワイルドカード( * ?)を使って柔軟な検索ができる

といったメリットがあり、
文字列の判定・抽出・条件式などが 正確かつ効率的 に行えるようになります。

左側は手作業で文字を探している人と「検索ミスが起こりやすい」「時間がかかる」という欠点、右側はパソコンでSEARCH関数を使って検索する人と「自動で位置を返す」「大文字・小文字を区別しない」「ワイルドカード対応」などの利点を対比した説明図。

どんな関数?

SEARCH(検索文字列,対象,開始位置)\ 文字列が最初に現れる位置の文字番号を返します。大文字、小文字は区別されません。

SEARCH(サーチ)とは、文字列の中で、指定した語句が最初に現れる位置を数字で返す関数です。
例えば、「東京都中央区」で「中央」を検索すると、「中央」が何文字目から始まるかを返します。

「SEARCH(サーチ)」という見出しとともに、虫眼鏡で文字列「東京都中央区」を調べ、文字「中」の位置が3文字目であることを示している。下には文字の位置番号が並び、検索結果「=3」と表示された説明図。

なお、大文字・小文字は区別されません

たとえば英語の “TOKYO” と “tokyo” を 同じものとして探す という意味です。

つまり、入力の大小文字が混ざっていても、見つけ方は同じです

虫眼鏡で「TOKYO」という文字を拡大し、横に「tokyo」と双方向矢印が示されている。左には「A=a」と書かれ、SEARCH関数が大文字と小文字を区別せず検索できることを示している図。

引数(関数に渡す値:関数の入力)

ExcelのSEARCH関数の構文を示す図。検索文字列・対象・開始位置の入力方法を説明した画像

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

文字列が最初に現れる位置の文字番号を返します。大文字、小文字は区別されません。

ExcelのSEARCH関数の構文を示す図。検索文字列・対象・開始位置の入力方法を説明した画像
  • 検索文字列
    • 探したい言葉や文字」を入れます
      • 例:"中央""@" など

  • 対象
    • 探す相手(探される文)」を入れます
    • セル参照(例:A2)や直接の文字列でもOKです
      • 例:A2 が「東京都中央区」の場合、ここが “検索される側”
  • 開始位置
    • どこから探し始めるか」を数字で指定します。途中から再検索したいときに便利です
      • 例:1 なら先頭から、5 なら5文字目から探し始めます。
  • ポイント
    • 位置を数値で返す
    • 大文字小文字を区別しない
    • SEARCH関数はワイルドカード(*? )に対応

ワイルドカードの詳細は、以下を参照して

データ分析の豆知識を簡潔説明 -ワイルドカードの基本と曖昧検索-

戻り値(返ってくる結果:出力)

結果は 「何文字目から見つかったか」という数字 です。

例:
「東京都中央区」で「中央」を探す →“4”(4文字目から「中央」が始まる、という意味)

SEARCH関数で文字列の一致位置を求めるExcel実行例

パターンA:文字列中の位置を自動で検索し、数値で返してくれる

顧客名や商品名のテキストから、特定語句がどこから始まるかを機械的に取得して後続処理(抽出・分割・タグ付け)に使います。

ExcelのSEARCH関数で指定語句の開始位置を自動検出する例を示した図

サンプルデータ

No商品名(A列)
1春季セール_家電キャンペーン
2期間限定_家具セール
3大特価セール_アウトレット

ステップ(A列に対して「セール」を検索)

  1. 結果表示セル(例:B2)を選択
  2. 次の式を入力
    • =SEARCH("セール", A2)
  3. Enterで確定
  4. B2を下にコピー(B3B4へ)
  5. 結果
    • 返ってくる数値が「セール」が始まる位置
      • 例えば「春季セール_家電キャンペーン」なら → 4 など

パターンB:大文字・小文字を区別せず検索できる

入力者によって「TOKYO」「Tokyo」「tokyo」など表記ゆれがあるデータから、同一キーワードとして判定したい場合などです。

SEARCH関数が大文字・小文字を区別しないことを示すサンプルデータ画像

サンプルデータ

No顧客名(A列)
1株式会社Tokyoサービス
2株式会社TOKYO物流
3東京テクノロジー株式会社

ステップ(A列に対して「tokyo」を検索)

  1. 結果表示セル(例:B2)を選択
  2. 次の式を入力
    • =SEARCH("tokyo", A2)
  3. Enterで確定
  4. B2を下にコピー(B3B4へ)
  5. 結果
    • 「Tokyo」「TOKYO」「tokyo」いずれも一致し、開始位置を返す
    • 例:
      • 「株式会社Tokyoサービス」 → 5
      • 「株式会社TOKYO物流」 → 5
      • 「東京テクノロジー株式会社」 → #VALUE!(英字“tokyo”は含まれないため)

ポイント大小文字は無視される。

パターンC:ワイルドカード(*?)を使って柔軟に検索できる

「“部”で終わる部署名のみ拾いたい」「“東京”で始まる地名」「フォーマットに一部可変の文字列パターンを検索」したいときなどです。

*任意の文字列?任意の1文字というワイルドカードに、SEARCH関数は対応している。

Excelで『*部』『東京?区』などのワイルドカードパターンをSEARCH関数で検索する実例

サンプルデータ(日本語)

No内容(A列)
1備考:(急ぎ)至急配送
2案内:(期間限定キャンペーン)開催中
3重要:未定事項あり
4(至急)資料送付

「*部」=“部”で終わるパターン

  1. 結果表示セル(例:B2)を選択
  2. 次の式を入力
    • =SEARCH("*部", A2)
  3. Enterで確定
  4. B2を下にコピー(B3B4へ)
  5. 結果
No内容(A列)結果
1備考:(急ぎ)至急配送4
2案内:(期間限定キャンペーン)開催中4
3重要:未定事項あり#VALUE!
4(至急)資料送付1

「東京?区」=“東京○区”のように1文字可変

No所在地(A列)
1東京都千代田区
2東京都中央区
3東京都港区
  1. 結果表示セル(例:B2)を選択
  2. 次の式を入力
    • =SEARCH("東京都?区", B4)
  3. Enterで確定
  4. B2を下にコピー(B3B4へ)
  5. 結果
    • 「東京都港区」→ 文字列中の一致開始位置(通常 1
      • ?1文字だけ可変するため「東京〇区」に合致

補足:ワイルドカードを文字として検索したい場合は *? のように チルダ(~)を付けてエスケープします。

詳細はデータ分析の豆知識を簡潔説明 -ワイルドカードの基本と曖昧検索- を参照

最後に

SEARCH関数の構文(引数と戻り値)を説明し、代表的なパターンの使用例を紹介しました。
このどれかに当てはまると思いますので、活用していただければと思います。

  • パターンA:位置の数値取得
    • さらに LEFT/RIGHT/MID などと組み合わせると、分割・抽出できる(例:「セール」位置で切り分け)
  • パターンB:大小文字を区別しない
    • 表記ゆれデータを判定(Tokyo/TOKYO/tokyo)
  • パターンC:ワイルドカード
    • フォーマットが一定でない文字列も柔軟にヒット(*:任意文字列、?:任意1文字)