サラリーマン戦士が語る、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 の違い(比較表)
| 項目 | SEARCH | FIND |
|---|---|---|
| 大文字小文字の区別 | しない | する |
| ワイルドカード | ◎ | × |
| 曖昧検索 | ◎ | △ |
| 正確な検索 | △ | ◎ |
| 実務向き | 柔軟 | 正確 |
🧑💼 サラリーマン戦士が実際に使ってみた感想
SEARCHを使い始めて感じたのは、 「曖昧検索がとにかく楽になる」 ということです。
特に、
- 商品名の部分一致検索
- 氏名の曖昧検索
- メールアドレスの判定
- FILTERとの組み合わせ
- ワイルドカード検索
これらが 1つの関数で完結 するのは革命的です。
FINDが“正確な検索”なら、 SEARCHは“柔軟な検索”。
この2つを使い分けることで、 文字列処理の幅が一気に広がります。
🧩 SEARCHの実務的な応用アイデア
- 商品名の部分一致検索
- 氏名の曖昧検索
- メールアドレスの形式チェック
- URLの特定部分を検索
- FILTERと組み合わせて曖昧検索フィルター
- SUBSTITUTEと組み合わせてn番目の区切りを検索
特に、 「SEARCH → FILTER → TEXTAFTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。
📝 まとめ:SEARCHは“曖昧検索の最強ツール”
- 大文字小文字を区別しない柔軟な検索が可能
- ワイルドカード(* ?)に対応
- FINDより柔軟で、部分一致に最強
- FILTER・SUBSTITUTEとの相性が抜群
- 商品名・氏名・メールアドレスなどに最適
Excelで文字列検索を効率化したいなら、 SEARCH関数は必ず覚えておきたい基礎関数です。