Excelでデータ整理をしていると、「この文字だけ消したい」「特定の記号をなくしたい」といった場面によく遭遇しますよね。
例えば、「○○様」の「様」だけ取り除きたかったり、電話番号や郵便番号の「-(ハイフン)」を削除したいということがあるかと思います。
そんな時に大活躍するのが、SUBSTITUTE関数です。
ということで、このページでは、「【Excel時短術】文字の引き算?「○○様」や「-」をパパッと削除!特定の文字を取り除く方法【SUBSTITUTE関数】」についてご紹介します。
スグにためセル! – ここを読めばすぐ使える
エクセルで「様」やハイフン等の特定の文字を取り除きたいときはSUBSTITUTE関数を使用します。
=SUBSTITUTE(元の文字列,削除したい文字,””)
※ より詳しい解説はここから下に続きます。
まるで文字の引き算?
「○○様」とある文字から「様」を削除するのは、まるで文字の引き算のようですよね。
エクセルでは、数字の足し算引き算だけではなく、文字も足したり、引いたりすることができるのです。
例えば、次の例のような文字を削除することができます。
例1では、氏名から敬称(この例では「様」のこと)を取り除いています。
例2では、電話番号からハイフン(-)を取り除いていますね。
文字の引き算をする関数は「SUBSTITUTE関数」
文字の引き算をするには、数字のように「-(マイナス)」を使うのではなく、SUBSTITUTE関数を用います。
SUBSTITUTE関数とは、指定した文字列の中から特定の文字や文字列を別の文字や文字列に置き換える(置換する)ことができる関数です。
今回のように、特定の文字を「削除」したい場合は、置換後の文字列を空欄(””)にすることで実現できます。
文字の引き算をするSUBSTITUTE関数の入力方法
SUBSTITUTE関数で文字の引き算をするには、次のように入力します。
=SUBSTITUTE(元の文字列,削除したい文字,””)
元の文字列のところには、文字を削除する前の文字列やセルを指定します。
なお、エクセルの数式内で文字列を入力するときは、ダブルクオーテーション(”)で囲んであげる必要がありますのでご注意ください。
使用例
では、先ほどの例1を実際に入力してみましょう。
例えば、下の図のようにA1セルに入力された氏名から「様」を削除したものをB1セルに計算してみます。

この場合、B1セルに次のように入力します。
=SUBSTITUTE(A1,“様”,””)
すると、下の図のように氏名から「様」が削除されました。

B1セルを下にコピーするとA2以降の氏名からも「様」が削除できます。

セルを下にコピーしたいときは、ダブルクリックするだけでコピーすることができます。
詳しくは下のページをご覧ください。
【ここでためセル!】文字の引き算の実践的な使い方3選
それでは、さらに具体的な例を見ていきましょう。
きっと「あ、これ私の仕事で困ってたやつだ!」と感じるはずです。
1.電話番号や商品コードのハイフン・記号をまとめて消す!
「090-1234-5678」のような電話番号からハイフンを消して数字だけにしたい、あるいは商品コードの不要な記号をなくしたい時に便利です。
データ(元データ) | 計算式 | 結果 |
---|---|---|
090-1234-5678 | =SUBSTITUTE(A1,”-“,””) | 09012345678 |
ABC-123-X | =SUBSTITUTE(A1,”-“,””) | ABC123X |
商品(B)999 | =SUBSTITUTE(SUBSTITUTE(A1,”(“,””),”)”,””) | 商品B999 |
上の例はすべて、元データがA1セルに入力されている前提で計算式を表しています。
なお、3つ目の例のように「(」と「)」といった複数の記号を消したい場合は、SUBSTITUTE関数を入れ子(ネスト)にすることで、まとめて削除できます。
2.コピペデータによくある「半角・全角スペース」を消してスッキリ!
Webサイトからコピーしてきたデータや、誰かからもらったデータで、余計な半角スペースや全角スペースが入っていて困ったことはありませんか?これもSUBSTITUTE関数で解決できます。
データ(元データ) | 計算式 | 結果 |
---|---|---|
あいう えお | =SUBSTITUTE(A1,” “,””) | あいうえお |
あいう えお | =SUBSTITUTE(A1,” ”,””) | あいうえお |
あいう えお かきく | =SUBSTITUTE(SUBSTITUTE(A1,” “,””),” ”,””) | あいうえおかきく |
半角・全角両方を消したい場合は、最後の例のように入れ子にすることで、まとめて削除できます。
3.セル内の「改行コード」を削除する
改行が含まれているとVLOOKUPが機能しなかったり、見た目が崩れたりします。これもSUBSTITUTE関数で取り除けます。
データ(元データ) | 計算式 | 結果 |
---|---|---|
あいう えお | =SUBSTITUTE(A1,CHAR(10),””) | あいうえお |
WindowsではCHAR(10)で改行を表します。そのため上の式では、改行を削除していることになるのです。
Macの場合は、CHAR(13)となるかもしれません。
なぜSUBSTITUTE関数を使うべきなのか?
特定の文字を取り除くのであれば、直接セルを修正して、文字を削除することもできます。
しかし、たくさんのセルから同じ文字を削除したい場合は、SUBSTITUTE関数を用いた方がよいです。
数十、数百とあるデータから手作業で不要な文字を削除するのは、途方もない時間がかかり、ヒューマンエラーも避けられません。SUBSTITUTE関数なら、一瞬で正確に処理が完了し、修正漏れの心配もありません。
また、文字の引き算は次のような場面で必要です。
このように、文字の引き算テクニックはエクセルを活用するうえでも大事なことなのです。
まとめ:SUBSTITUTE関数でExcel作業をもっと効率的に!
SUBSTITUTE関数は、Excelでデータに含まれる特定の不要な文字列を取り除くことができます。
氏名の敬称、電話番号のハイフン、コピペで入る余計なスペースや改行など、今回ご紹介したような様々な「ノイズ」を簡単に排除できます。
このような「文字の引き算」は、エクセルで計算するうえでは必要なテクニックです。
手作業での時間のかかる修正作業から解放され、より効率的に作業を進めることができるでしょう。
以上、このページでは、「【Excel時短術】文字の引き算?「○○様」や「-」をパパッと削除!特定の文字を取り除く方法【SUBSTITUTE関数】」についてご紹介します。