サラリーマン戦士が語る、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 の違い
| 目的 | SUBSTITUTE | REPLACE |
|---|---|---|
| 文字列の置換 | ◎ | △(位置指定) |
| 特定の位置を置換 | △ | ◎ |
| 複数置換 | ◎ | △ |
| n番目の置換 | ◎ | × |
🧑💼 サラリーマン戦士が実際に使ってみた感想
SUBSTITUTEを使い始めて感じたのは、 「文字列処理の前処理が圧倒的に楽になる」 ということです。
特に、
- 区切り文字の統一
- 不要な文字の削除
- n番目の区切りの特定
- TEXTSPLITとの組み合わせ
- FINDとの連携で位置取得
これらが 1つの関数で完結 するのは革命的です。
文字列処理の“土台”として、 SUBSTITUTEは欠かせない存在になりました。
🧩 SUBSTITUTEの実務的な応用アイデア
- 商品コードの整形(ハイフン削除・統一)
- CSVデータの区切り文字を統一
- 氏名のスペースを削除
- URLの不要なパラメータを削除
- TEXTSPLITと組み合わせて柔軟な分割
- FINDと組み合わせてn番目の区切りを検索
特に、 「SUBSTITUTE → TEXTSPLIT → FILTER」 の流れは、複雑な文字列処理を一瞬で処理できるため、 実務でのデータ加工が劇的に楽になります。
📝 まとめ:SUBSTITUTEは“文字列整形の基礎にして最強の置換関数”
- 文字列の置換・削除が自由自在
- n番目の置換が可能
- TEXTSPLIT・TEXTAFTER・FINDと組み合わせると最強
- 商品コード・氏名・日付・CSVなどに最適
- 文字列処理の前処理として圧倒的に便利
Excelで文字列処理を効率化したいなら、 SUBSTITUTE関数は必ず覚えておきたい基礎関数です。
コメントを残す