サラリーマン戦士が語る、TEXTSPLIT・TEXTAFTER・FINDと組み合わせて最強化する文字列処理テクニック

Excelで文字列処理をしていると、 「特定の文字を別の文字に置き換えたい」 「ハイフンを削除したい」 「3つ目のハイフンだけ置換したい」 「特定の文字を取り除いて整形したい」 といった場面が必ずあります。

そんな“文字列の置換”を自由自在に扱えるのが SUBSTITUTE(サブスティテュート)関数 です。

SUBSTITUTEは、 指定した文字列を別の文字に置き換える最強の文字列加工関数 で、 TEXTSPLIT・TEXTAFTER・FIND などと組み合わせることで、 文字列処理の自由度が一気に上がります。

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

🔍 SUBSTITUTE関数 の書式

コード

=SUBSTITUTE(文字列, 置換前, 置換後, [対象番号])

✔ 引数の意味

  • 文字列:対象となる文字列
  • 置換前:置き換えたい文字
  • 置換後:置き換える文字
  • 対象番号(任意):何番目の置換前を置き換えるか(省略するとすべて)

📘 基本例:ハイフンを削除(空文字に置換)

A2

コード

ABC-123-XYZ

▶ 使用する式

コード

=SUBSTITUTE(A2, "-", "")

ABC123XYZ に変換されます。

📘 カンマをスラッシュに置換

コード

=SUBSTITUTE(A2, ",", "/")

→ CSVデータの整形に便利です。

🎯 3つ目のハイフンだけ置換(対象番号を指定)

コード

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

→ 3つ目のハイフンだけ「@」に置換されます。

複数区切りの位置を特定する際に最強です。

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

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

コード

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

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

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

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

例:複数区切りを統一してから分割

コード

=TEXTSPLIT(SUBSTITUTE(A2, "/", "-"), "-")

→ 「A-123/XYZ」でも正しく分割できます。

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

🧩 TEXTAFTER / TEXTBEFORE と組み合わせる

SUBSTITUTEで区切り文字を統一してから TEXTAFTER / TEXTBEFORE を使うと、 複雑な文字列でも安定して抽出できます。

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

📅 日付文字列の整形(スラッシュ → ハイフン)

A2

コード

2026/04/25

▶ 使用する式

コード

=SUBSTITUTE(A2, "/", "-")

2026-04-25 に変換できます。

📊 商品コードの整形(不要な文字を削除)

A2

コード

ABC-123-RED

▶ ハイフンを削除

コード

=SUBSTITUTE(A2, "-", "")

→ ABC123RED

▶ カテゴリ部分だけ抽出(SUBSTITUTE × TEXTBEFORE)

コード

=TEXTBEFORE(A2, "-")

▶ 番号部分だけ抽出(SUBSTITUTE × FIND)

コード

=MID(A2,
     FIND("-", A2)+1,
     FIND("-", A2, FIND("-", A2)+1) - FIND("-", A2) - 1)

SUBSTITUTEで区切りを統一しておくと、 このような抽出が安定します。

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

✔ 文字列の置換が自由自在

複数の区切り文字を統一したり、 不要な文字を削除したりできます。

✔ FIND・TEXTSPLITとの相性が最強

区切り文字を統一することで、 後続の処理が安定します。

✔ 対象番号を指定できる

「3つ目だけ置換」など、 従来の関数では難しかった処理が簡単にできます。

✔ データ整形の前処理として最強

商品コード、CSV、氏名、日付など、 あらゆる文字列処理の“下準備”に使えます。

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

❗ 1. 完全一致で置換される

半角/全角の違いに注意します。

❗ 2. 対象番号を指定しないと“すべて置換”

1つだけ置換したい場合は対象番号を指定します。

❗ 3. 見つからない場合は元の文字列のまま

IFERRORは不要ですが、 置換されないことに注意します。

❗ 4. 正規表現は使えない

複雑なパターン置換はできません。

📊 SUBSTITUTE と REPLACE の違い

目的SUBSTITUTEREPLACE
文字列の置換△(位置指定)
特定の位置を置換
複数置換
n番目の置換×

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

SUBSTITUTEを使い始めて感じたのは、 「文字列処理の前処理が圧倒的に楽になる」 ということです。

特に、

  • 区切り文字の統一
  • 不要な文字の削除
  • n番目の区切りの特定
  • TEXTSPLITとの組み合わせ
  • FINDとの連携で位置取得

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

文字列処理の“土台”として、 SUBSTITUTEは欠かせない存在になりました。

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

  • 商品コードの整形(ハイフン削除・統一)
  • CSVデータの区切り文字を統一
  • 氏名のスペースを削除
  • URLの不要なパラメータを削除
  • TEXTSPLITと組み合わせて柔軟な分割
  • FINDと組み合わせてn番目の区切りを検索

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

📝 まとめ:SUBSTITUTEは“文字列整形の基礎にして最強の置換関数”

  • 文字列の置換・削除が自由自在
  • n番目の置換が可能
  • TEXTSPLIT・TEXTAFTER・FINDと組み合わせると最強
  • 商品コード・氏名・日付・CSVなどに最適
  • 文字列処理の前処理として圧倒的に便利

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

コメント

コメントを残す

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