サラリーマン戦士が語る、FIND・TEXTSPLIT・SUBSTITUTEと組み合わせて最強化する検索テクニック

Excelで文字列処理をしていると、 「特定の文字が含まれているか調べたい」 「大文字・小文字を区別せず検索したい」 「部分一致で検索したい」 「ワイルドカードを使って柔軟に検索したい」 といった場面が必ずあります。

そんな“曖昧検索”を自由自在に扱えるのが SEARCH(サーチ)関数 です。

SEARCHは、 指定した文字列が何文字目にあるかを返す検索関数 で、 FINDと違い 大文字小文字を区別しない、 さらに ワイルドカード( ?)が使える* のが最大の強みです。

この記事では、SEARCHの基本から応用まで、 サラリーマン戦士としての実務経験を交えながら 徹底解説します。

🔍 SEARCH関数 の書式

コード

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

✔ 引数の意味

  • 検索文字列:探したい文字列(ワイルドカード可)
  • 対象文字列:検索対象
  • 開始位置(任意):検索を始める位置(デフォルトは1)

📘 基本例:文字列の位置を取得(大文字小文字を区別しない)

A2

コード

Excel関数

▶ 使用する式

コード

=SEARCH("excel", A2)

1 を返します(大文字小文字を区別しないため)。

📘 FINDとの違い(大文字小文字の扱い)

A2

コード

Excel

コード

=FIND("excel", A2)   → エラー
=SEARCH("excel", A2) → 1

→ SEARCHは曖昧検索に強いです。

FINDについては FIND関数 を参照ください。

🎯 ワイルドカード検索(SEARCHの真骨頂)

SEARCHは ワイルドカードが使える ため、 部分一致・曖昧検索に最強です。

■ 「りん」で始まる文字列を検索

コード

=SEARCH("りん*", A2)

→ 「りんご」「りんごジュース」などに一致。

■ 任意の1文字を含む検索(?)

コード

=SEARCH("A?C", A2)

→ 「ABC」「A1C」「A-C」などに一致。

🔥 部分一致で“含まれているか”判定(ISNUMBERと組み合わせ)

コード

=ISNUMBER(SEARCH("営業", A2))

→ TRUE / FALSE で判定できます。

🔥 FILTER × SEARCH で“曖昧検索フィルター”

例:商品名に「りん」が含まれるものだけ抽出

コード

=FILTER(A2:C100, ISNUMBER(SEARCH("りん", A2:A100)))

FILTERについては FILTER関数 を参照ください。

🧩 SEARCH × SUBSTITUTE で“n番目の区切り位置”を取得

例:3つ目のハイフンの位置を取得

コード

=SEARCH("@", SUBSTITUTE(A2, "-", "@", 3))

→ 3つ目のハイフンが「@」に置換されるため、その位置を取得できます。

SUBSTITUTEについては SUBSTITUTE関数 を参照ください。

📅 日付文字列から「月」の位置を取得

A2

コード

2026/04/25

▶ 使用する式

コード

=SEARCH("/", A2)

→ 最初の「/」の位置(5)を返します。

📊 商品コードのカテゴリ抽出(SEARCH × LEFT)

A2

コード

ABC-123-RED

▶ カテゴリ部分を抽出

コード

=LEFT(A2, SEARCH("-", A2)-1)

ABC を取得できます。

🔥 TEXTSPLITと組み合わせて柔軟な分割

SEARCHで区切り位置を確認しつつ、 TEXTSPLITで一気に分割することもできます。

コード

=TEXTSPLIT(A2, "-")

TEXTSPLITについては TEXTSPLIT関数 を参照ください。

🧠 SEARCHの強み(実務で感じたメリット)

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

「Excel」「EXCEL」「excel」すべて一致します。

✔ ワイルドカードが使える

部分一致・曖昧検索に最強です。

✔ FINDより柔軟

FINDは正確、SEARCHは柔軟。 用途に応じて使い分けると最強です。

✔ FILTERとの相性が抜群

曖昧検索フィルターが簡単に作れます。

🛠 SEARCHの注意点(初心者がつまずきやすいポイント)

❗ 1. 見つからない場合はエラー(#VALUE!)

IFERRORで包むと安全です。

コード

=IFERROR(SEARCH("営業", A2), "")

❗ 2. ワイルドカードを使うときは文字列扱い

「*」「?」は文字列として扱います。

❗ 3. 全角・半角の違いに注意

「-」と「-」は別文字です。

📊 SEARCH と FIND の違い(比較表)

項目SEARCHFIND
大文字小文字の区別しないする
ワイルドカード×
曖昧検索
正確な検索
実務向き柔軟正確

🧑‍💼 サラリーマン戦士が実際に使ってみた感想

SEARCHを使い始めて感じたのは、 「曖昧検索がとにかく楽になる」 ということです。

特に、

  • 商品名の部分一致検索
  • 氏名の曖昧検索
  • メールアドレスの判定
  • FILTERとの組み合わせ
  • ワイルドカード検索

これらが 1つの関数で完結 するのは革命的です。

FINDが“正確な検索”なら、 SEARCHは“柔軟な検索”。

この2つを使い分けることで、 文字列処理の幅が一気に広がります。

🧩 SEARCHの実務的な応用アイデア

  • 商品名の部分一致検索
  • 氏名の曖昧検索
  • メールアドレスの形式チェック
  • URLの特定部分を検索
  • FILTERと組み合わせて曖昧検索フィルター
  • SUBSTITUTEと組み合わせてn番目の区切りを検索

特に、 「SEARCH → FILTER → TEXTAFTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。

📝 まとめ:SEARCHは“曖昧検索の最強ツール”

  • 大文字小文字を区別しない柔軟な検索が可能
  • ワイルドカード(* ?)に対応
  • FINDより柔軟で、部分一致に最強
  • FILTER・SUBSTITUTEとの相性が抜群
  • 商品名・氏名・メールアドレスなどに最適

Excelで文字列検索を効率化したいなら、 SEARCH関数は必ず覚えておきたい基礎関数です。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です