はじめに
Excelで文字列を扱っていると、
「一部の文字だけ置き換えたい」
「全角スペースを削除したい」
「不要な記号をまとめて消したい」
という場面がよくあります。
そんなときに使えるのが、SUBSTITUTE関数 と REPLACE関数。
どちらも“文字列の一部を置き換える” 関数ですが、
使いどころと得意分野が少し異なります。
この記事では、2つの関数の違いと使い方、
そして実務で役立つ置換テクニックをわかりやすく解説します。
SUBSTITUTE関数(指定文字を置き換える)
書式
=SUBSTITUTE(文字列, 検索文字, 置換文字, [対象番号])
引数の意味
| 引数 | 説明 |
|---|---|
| 文字列 | 処理対象となるセルまたは文字列 |
| 検索文字 | 置き換えたい文字 |
| 置換文字 | 置き換え後の文字 |
| 対象番号 | 同じ文字が複数ある場合、何番目を置き換えるか(省略可) |
基本例
| A列 | 式 | 結果 |
|---|---|---|
| 東京支店 | =SUBSTITUTE(A1,"東京","大阪") | 大阪支店 |
ポイント
- 指定した文字をすべて置き換える(既定)
- 対象番号を指定すると「特定の出現回数だけ」置換可能
出現回数を指定して置換
| A列 | 式 | 結果 |
|---|---|---|
| AAAA | =SUBSTITUTE(A1,"A","B",2) | ABAA |
→ 2番目の「A」だけを「B」に置き換え。
全角スペースや改行の削除にも使える
=SUBSTITUTE(A1," ","") '全角スペースを削除
=SUBSTITUTE(A1,CHAR(10),"") '改行文字を削除
→ 不要な空白や改行を一括除去。
TRIM・CLEAN関数と組み合わせると、データ整形の精度がさらに上がります。
REPLACE関数(位置指定で置き換える)
書式
=REPLACE(文字列, 開始位置, 文字数, 置換文字)
引数の意味
| 引数 | 説明 |
|---|---|
| 文字列 | 処理対象となるセルまたは文字列 |
| 開始位置 | 何文字目から置き換えるか |
| 文字数 | 何文字分を置き換えるか |
| 置換文字 | 新しい文字列 |
基本例
| A列 | 式 | 結果 |
|---|---|---|
| A12345 | =REPLACE(A1,2,3,"XXX") | AXXX45 |
ポイント
- 「位置」で置き換えるため、検索文字が不要
- コードや番号など「一定桁の部分」を置換するときに便利
応用例:電話番号の一部をマスク
| A列 | 式 | 結果 |
|---|---|---|
| 09012345678 | =REPLACE(A1,4,4,"****") | 090****5678 |
→ 個人情報を保護したままデータを公開できる。
SUBSTITUTEとREPLACEの違い
| 比較項目 | SUBSTITUTE関数 | REPLACE関数 |
|---|---|---|
| 指定方法 | 文字内容で検索 | 文字位置で指定 |
| 複数箇所の置換 | 可能(全て or n番目) | 不可(1箇所のみ) |
| 用途 | 特定文字の削除・変換 | コード・番号の部分置換 |
| 応用例 | 全角→半角変換、改行削除 | 電話番号マスク、文字位置入れ替え |
使い分けのコツ
- 「文字の内容で探して置換」したいとき → SUBSTITUTE
- 「位置や桁で置換」したいとき → REPLACE
実務での応用例
① データクリーニング
=SUBSTITUTE(SUBSTITUTE(A1," "," ")," "," ")
→ 全角スペースを半角に変換し、二重スペースを1つに。
② コードや番号の整形
=REPLACE(A1,1,2,"XX")
→ 先頭の2文字を「XX」に変更(商品コードなど)。
③ メールアドレスの一部マスク
=REPLACE(A1,FIND("@",A1)-2,2,"**")
→ メールアドレスの「@」前の2文字を「**」に置換。
SUBSTITUTE+VALUEの応用(数値化処理)
=VALUE(SUBSTITUTE(A1,",",""))
→ 「1,234,567」を 1234567 に変換して計算可能に。
→ TRIM・CLEANと同様、データ整形シリーズで定番の組み合わせです。
注意点
- SUBSTITUTEは大文字小文字を区別する
→ “A” と “a” は別文字として扱われます。 - REPLACEは位置指定を間違えると崩れる
→ 文字数をLEN関数で取得しておくと安全。 - 複雑な置換はPower QueryやVBAも検討
→ 大量データ処理では関数より高速に処理できます。
まとめ
- SUBSTITUTE関数:検索した文字を別の文字に置換(内容ベース)
- REPLACE関数:指定した位置・桁を置換(位置ベース)
- 全角スペース削除や改行除去、番号マスクなど実務で大活躍
- TRIM・CLEAN・VALUEなどと組み合わせると整形処理の完成度が上がる
Excelでの文字編集を自在に操る最後のピース。
SUBSTITUTEとREPLACEをマスターして、
データ整形を「自動で・正確に」こなせるようになりましょう。


コメント