Excel関数で文字列を置換する方法をお探しですね。
広告
Excelで文字を置き換えたり削除したりする方法【SUBSTITUTE関数とREPLACE関数】
Excelで住所や電話番号、商品コードなんかを扱っていると、「この文字、別の文字に変えたいな」とか「この記号、邪魔だから消したいな」って思うこと、ありますよね。
そんなときに使えるのが、**SUBSTITUTE関数**と**REPLACE関数**です。
どっちも文字を置き換える関数なんですが、使い方がちょっと違います。
– **SUBSTITUTE関数**は「この文字を探して置き換える」
– **REPLACE関数**は「左から○文字目を置き換える」
この記事では、2つの関数の違いと使い方を、実際の例を見ながらわかりやすく説明していきます。
SUBSTITUTE関数とREPLACE関数、何が違うの?
この2つ、どちらも文字を置き換える関数なんですが、**指定の仕方**が全然違います。
**SUBSTITUTE関数**は、セルの中から「特定の文字列」を探して、それを別の文字に置き換えます。
たとえば、「100円」から「円」を消したいとか、「(株)」を「株式会社」に統一したいとか、**置き換えたい文字がはっきりしているとき**に便利です。
**REPLACE関数**は、「左から○文字目から、△文字分を置き換える」という指定をします。
電話番号の真ん中を「****」で隠したいとか、商品コードの最初の3文字だけ変えたいとか、**文字の位置が決まっているデータ**に向いています。
書き方を見比べてみよう
**SUBSTITUTE関数**
“`
=SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象])
“`
– 「検索文字列」に置き換えたい元の文字を書きます
– 「置換文字列」に新しく表示したい文字を書きます
– 最後の「置換対象」は省略できて、同じ文字が何回も出てくるときに「何番目だけ置き換えるか」を指定できます
**REPLACE関数**
“`
=REPLACE(文字列, 開始位置, 文字数, 置換文字列)
“`
– 「開始位置」と「文字数」を数字で指定します
– 文字の内容じゃなくて、位置で指定するのがポイントです
**簡単に言うと**
– 「この文字を探して変えたい」→ **SUBSTITUTE関数**
– 「○文字目から変えたい」→ **REPLACE関数**
って覚えておけばOKです。
SUBSTITUTE関数の使い方:特定の文字を探して置き換える・消す
SUBSTITUTE関数は、表記のゆれを直したり、いらない文字を消したりするときにすごく便利です。
基本的な使い方
たとえば、A1セルに「東京都新宿区西新宿」って入っていて、「新宿」を「渋谷」に変えたいとき。
“`
=SUBSTITUTE(A1,”新宿”,”渋谷”)
“`
これで、A1セルの中の「新宿」を探して、ぜんぶ「渋谷」に置き換えてくれます。
文字を削除する方法
「A-B-C」のハイフンを消したいときは、こうします。
“`
=SUBSTITUTE(A1,”-“,””)
“`
置き換え後の文字を「””」(空っぽ)にすると、削除できるんです。
この「””」は「何もない文字列」って意味で、ダブルクォーテーションを2つ並べて書きます。
これを使えば、いらない記号やスペース、単位なんかをまとめて消せます。
実務でよくある使い方:単位を削除して計算できるようにする
A1セルに「1250円」って入っているとき、計算で使うために「円」を消したい場合。
“`
=SUBSTITUTE(A1,”円”,””)
“`
これで「1250」って文字列が取り出せます。
ただ、このままだと文字列として扱われることがあるので、計算に使うなら**VALUE関数**で数値に変換しておくと安心です。
“`
=VALUE(SUBSTITUTE(A1,”円”,””))
“`
改行を削除する
セルの中の改行を消したいときは、改行を表す「CHAR(10)」を使います。
“`
=SUBSTITUTE(A1,CHAR(10),””)
“`
住所データとかCSVから取り込んだデータには、見えない改行や余分な空白が混ざってることがあるので、この方法でデータを整えられます。
同じ文字が何回も出てくる場合
A1セルに「Excelは便利なExcelです」って入っていて、すべての「Excel」を「エクセル」に変えるなら、
“`
=SUBSTITUTE(A1,”Excel”,”エクセル”)
“`
でOKです。
でも、**2番目の「Excel」だけ**変えたいときは、
“`
=SUBSTITUTE(A1,”Excel”,”エクセル”,2)
“`
って書きます。
最後に「2」を付けると、2回目に出てきた文字だけが置き換わります。
複数の文字をまとめて置き換える
「ノートパソコン」と「デスクトップパソコン」をどっちも「パソコン」にしたいとき。
SUBSTITUTE関数を入れ子にすれば、いらない部分を順番に消せます。
“`
=SUBSTITUTE(SUBSTITUTE(A1,”ノート”,””),”デスクトップ”,””)
“`
REPLACE関数の使い方:位置を指定して置き換える・消す
REPLACE関数は、文字の内容じゃなくて、**位置と文字数**を指定して置き換える関数です。
基本的な使い方
A1セルに「あいうえお」って入っていて、2文字目から1文字分を「〇」に変えたいとき。
“`
=REPLACE(A1,2,1,”〇”)
“`
結果は「あ〇うえお」になります。
– 「2」は左から2文字目
– 「1」はそこから1文字分を置き換える
– 「〇」は置き換え後の文字
置き換える文字は1文字じゃなくてもOKです。
“`
=REPLACE(A1,2,2,”ABC”)
“`
これなら、2文字目から2文字分を「ABC」に置き換えるので、元の文字数と結果の文字数が変わることもあります。
よくある使い方:電話番号の一部を伏せ字にする
A1セルに「09012345678」って電話番号があって、4文字目から4文字分を「****」で隠したいとき。
“`
=REPLACE(A1,4,4,”****”)
“`
結果は「090****5678」になります。
個人情報を隠して管理するのに便利ですね。
ハイフン付きの「090-1234-5678」の場合は、5文字目から4文字分が真ん中の番号なので、
“`
=REPLACE(A1,5,4,”****”)
“`
って書きます。
**ポイント**
REPLACE関数は、データの形式がそろってるほど使いやすいです。
電話番号の桁数やハイフンの有無がバラバラだと、先にSUBSTITUTE関数でハイフンを消してからREPLACE関数を使う、みたいな工夫が必要になります。
文字を削除する
REPLACE関数でも、置き換え後の文字を空っぽ「””」にすれば削除できます。
A1セルに「商品A-001」って入っていて、6文字目のハイフンを消したいとき。
“`
=REPLACE(A1,6,1,””)
“`
ただし、REPLACE関数で削除する場合は、**消したい文字がいつも同じ位置にある**ことが前提です。
商品コードの形式が「ABC-001」「A-0001」「商品-001」みたいにバラバラだと、同じ式では意図しない文字を消しちゃう可能性があります。
だから、
– **位置が固定されているデータ** → REPLACE関数
– **位置が変わっても同じ文字を探して削除したい** → SUBSTITUTE関数
って使い分けるのが基本です。
実務で迷わない使い分けのコツと注意点
どっちを使えばいいか迷ったら
「置き換えたい対象が**文字で判断できるか**、**位置で判断できるか**」を考えてみてください。
**SUBSTITUTE関数が向いてる場合**
– 「株式会社」「円」「-」「スペース」「改行」など、消したい・置き換えたい文字がはっきりしてる
**REPLACE関数が向いてる場合**
– 「先頭3文字を変更する」「5文字目から4文字を伏せる」「末尾2文字を削除する」など、位置と文字数で処理したい
実務では、2つを組み合わせることもあります。
たとえば、SUBSTITUTE関数でいらない記号を消してデータを整えて、そのあとREPLACE関数で一部を伏せ字にする、みたいな感じです。
どっちか一方だけ覚えるより、違いを理解しておく方が、いろんなデータ処理に対応できますよ。
「検索と置換」機能との違い
Excelには、Ctrl+Hで開ける「検索と置換」機能もあります。
これは、選択範囲やシート全体の文字列を一気に書き換えたいときに便利です。
**ただし注意点があります**
– 置換機能は**元データそのものを変更する**ので、あとから元に戻しにくい
– SUBSTITUTE関数やREPLACE関数は、元のセルを参照して「置換後の結果」を別セルに表示する仕組み
だから、
– 元データを残したまま変換結果を確認できる
– 参照元の値が変わると、結果も自動で更新される
毎月取り込む売上データや顧客データの整形では、置換機能で毎回手作業するより、関数を用意しておく方がミスを減らせます。
よくある注意点
**SUBSTITUTE関数の注意点**
– 大文字と小文字を区別します
– 「Excel」を探すとき、「EXCEL」や「excel」は別の文字として扱われます
– 全角と半角も別の文字です
– 「A」と「A」、「-」と「-」は違う文字
– 意図した置換ができないときは、見た目が似てる別文字や、セル内に余分なスペースが入ってないか確認してみてください
**REPLACE関数の注意点**
– 開始位置や文字数の指定ミスがよくあります
– データの形式がそろってない場合に同じ式をコピーすると、必要な文字まで消しちゃうことがあります
– 大量のデータに適用する前に、数件のサンプルで結果を確認しましょう
必要に応じて、LEFT関数、RIGHT関数、MID関数、VALUE関数なんかと組み合わせると、もっと柔軟に対応できます。
まとめ:削除も置換も考え方は同じ
削除と置換は、実は同じことです。
**「置換後の文字列を何にするか」で決まる**だけなんです。
– 別の文字に変えれば → **置換**
– 空文字「””」に変えれば → **削除**
この考え方を押さえておくと、SUBSTITUTE関数もREPLACE関数も一気に理解しやすくなります。
**簡単に言うと**
– 特定の文字を探して消したい → `=SUBSTITUTE(A1,”削除したい文字”,””)`
– 決まった位置の文字を消したい → `=REPLACE(A1,開始位置,文字数,””)`
Excelの文字列処理は、最初は関数名が似てて難しく感じるかもしれませんが、判断基準はすごくシンプルです。
**「文字を指定するのがSUBSTITUTE、位置を指定するのがREPLACE」**
これだけ覚えておけば、日々のデータ修正や表記統一を効率よく進められますよ。
慣れてくると、「あ、これはSUBSTITUTEだな」「これはREPLACEの方がいいな」って自然に判断できるようになります。
ぜひ実際に使ってみて、自分のものにしてくださいね!
広告
