【Excel】電話番号や郵便番号のハイフンを削除する方法

  • URLをコピーしました!

電話番号や郵便番号に含まれるハイフン(-)は、SUBSTITUTE関数REGEXREPLACE関数を使って削除できます。

使用しているExcelが、Excel for Microsoft 365(以下、Microsoft 365)やExcel for the Webの場合はREGEXREPLACE関数を、Excel 2024以前の場合はSUBSTITUTE関数を使用してください。

また、この記事では、2つの関数を使ってハイフンを削除する方法と、[Ctrl+[Hによる置換で先頭の「0」が消えてしまう場合の注意点を解説します。

目次

SUBSTITUTE関数で削除する方法

使用しているExcelがExcel 2024以前の場合は、SUBSTITUTE関数を使ってハイフンを削除します。

SUBSTITUTE関数について

文字の置換や削除を行う場合、SUBSTITUTE関数を使います。

● SUBSTITUTE関数
第一引数:変換元の文字列
第二引数:変換したい文字
第三引数:変換後の文字
第四引数:何番目に現れる文字列を置換するか(省略時はすべて置換)

○ 使用例1(ABCABC の A を a に置換したい)
=SUBSTITUTE("ABCABC", "A", "a")
→ "aBCaBC" と表示される

○ 使用例2("ABCABC" の A を 削除したい)
=SUBSTITUTE("ABCABC", "A", "")
→ "BCBC" と表示される


○ 使用例3("ABCABC" にある2回目の A を削除したい)
=SUBSTITUTE("ABCABC", "A", "", 2)
→ "ABCBC" と表示される

SUBSTITUTE関数で削除する

SUBSTITUTE関数でハイフンを削除するには、次のようにします。

=SUBSTITUTE(対象のセル, "-", "")

それでは、実際の操作を確認してみます。

STEP
表の枠外でSUBSTITUTE関数を使用

表のデータ1行目の枠外に、SUBSTITUTE関数を使用します。
今回は電話番号のハイフンを削除するとします。
画像では、セルE4に最初のデータがあるため表の枠外(G4)に次のように関数を書きだします。
=SUBSTITUTE(E4, "-", "")

SUBSTITUTE 関数を書き込むセルの位置および引数について。
STEP
数式をオートフィル

データがある一番下の行までオートフィル(ドラッグして同じ数式を入力)します。

オートフィルの実行手順。
STEP
関数の結果をコピーして、電話番号のデータに値として貼り付け

Ctrl + C でオートフィルを行ったセルをコピーし、電話番号の1番目(下図の場合、E4)のセルに「値として貼り付け」してください。
※「値として貼り付け」は、関数の結果(表示されている値)を貼り付ける機能です。数式や書式はコピーされません。

コピーする範囲と貼り付け先の位置。

値として貼り付けを行うには、セルを右クリックし、下図のアイコンをクリックしてください。

値貼り付けのアイコンの位置。
STEP
コピー元の関数のデータを削除

関数を入力したセルの数式を Deleteキー 等で削除すれば完成です。

値を削除する範囲の位置。

REGEXREPLACE関数で削除する

REGEXREPLACE関数は、特定の文字や正規表現のパターンに一致する文字列を、置換・削除する関数です。
この関数を使って、0~9以外の文字を削除します。

REGEXREPLACE関数について

REGEXREPLACE関数は、Microsoft 365もしくはExcel for the Webなどで使用できますが、Excel 2024やExcel 2021で使用できません。

● REGEXREPLACE関数
第一引数:変換元の文字列
第二引数:置換する文字列を指定する正規表現
第三引数:変換後の文字
第四引数:何番目に一致した文字列を置換するか(省略時はすべて置換)
第五引数:大文字と小文字を区別するか(省略時は区別する)

○ 使用例1("ABCABC" の A を a に置換したい)
=REGEXREPLACE("ABCABC", "A", "a")
→ "aBCaBC" と表示される

○ 使用例2("012-345-678" の - を削除したい)
=REGEXREPLACE("012-345-678", "-", "")
→ "012345678" と表示される

○ 使用例3("012A-345B-678C" の数字以外を削除したい)
=REGEXREPLACE("012A-345B-678C", "[^0-9]", "")
→ "012345678" と表示される

正規表現について

正規表現とは、文字の種類や並び方を、記号を使ってまとめて指定する方法です。
REGEXREPLACE関数では、正規表現に一致した文字を別の文字に置き換えたり、置換後を空欄にして削除したりできます。

正規表現は次のように指定できます。

目的正規表現の使用例
半角数字以外を削除する=REGEXREPLACE(A1, "[^0-9]", "")
半角数字・全角数字以外を削除する=REGEXREPLACE(A1, "[^0-90-9]", "")
全角カッコとその中の文字を消す=REGEXREPLACE(A1, "(.*?)", "")
連続する半角スペースを1つにする=REGEXREPLACE(A1, " +", " ")

REGEXREPLACE関数で数字以外を削除する方法

REGEXREPLACE関数で、電話番号や郵便番号から数字以外の文字を削除するには、次のようにします。

// 半角ハイフンのみを削除する
=REGEXREPLACE(A1, "-", "")

// 半角数字以外を削除する
=REGEXREPLACE(A1, "[^0-9]", "")

// 半角数字・全角数字以外を削除する
=REGEXREPLACE(A1, "[^0-90-9]", "")

[検索と置換]でハイフンを削除する

ハイフンを削除する方法

[検索と置換]([Ctrl]+[H])を使い、[検索する文字列]に「-」を入力し、[置換後の文字列]を空欄のまま[すべて置換]をクリックすると、ハイフンを一括で削除できます。

[検索と置換]の入力画面の操作手順。

ハイフンを削除する場合の注意点


[検索と置換]でハイフンを削除すると、置換後のデータが数値として認識され、先頭の「0」が消えてしまう場合があります。

セルの表示形式を[文字列]に変更しただけでは防げない場合があるため、電話番号や郵便番号にはSUBSTITUTE関数を使用する方法がおすすめです。

Ctrl + H による置換の危険性。先頭に0があると消えてしまうエビデンス。

Ctrl + H による文字の置換は便利ですが、使用には注意が必要です。

ExcelVBA(マクロ)のReplace関数で削除する

ExcelVBAのReplace関数を用いて、ハイフンを削除する方法は兄弟サイトをご参照ください。

ハイフンが削除できない場合

原因:「半角ハイフンに似た記号」が入力されている

SUBSTITUTE関数で半角ハイフン(-)を削除する数式を使用しても、全角ハイフン(-)や伸ばし棒(ー)など、別の記号は削除できません。複数の記号を削除する場合は、SUBSTITUTE関数を入れ子にして、それぞれの記号を指定します。

半角ハイフンに似た記号

記号名称1名称2
-半角ハイフン半角マイナス
全角ハイフン全角マイナス
伸ばし棒長音符
enダッシュエンダッシュ
罫線(けいせん)

対処方法①:Microsoft 365・Excel for the Webを使用している場合

Microsoft 365またはExcel for the Webを使用している場合は、REGEXREPLACE関数を使用してください。
前述の「REGEXREPLACE関数で削除する方法」の通り、数字以外の文字をすべて削除することができます。

// A1のセルの半角数字以外を削除する
=REGEXREPLACE(A1, "[^0-9]", "")

// A1のセルの半角数字・全角数字以外を削除する
=REGEXREPLACE(A1, "[^0-90-9]", "")

対処方法②:Excel 2024以前を使用している場合

Excel 2024以前など、REGEXREPLACE関数を使用できない環境では、SUBSTITUTE関数を入れ子(ネスト)にする方法があります。

削除したい記号をSUBSTITUTE関数で1つずつ指定します。

// A1のセルのハイフン及びハイフンに似た記号を削除する
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"-",""),"-",""),"ー",""),"–",""),"─","")

まとめ

電話番号や郵便番号のハイフンを削除する場合は、使用しているExcelに応じて、SUBSTITUTE関数またはREGEXREPLACE関数を使用します。

Microsoft 365やExcel for the Webでは、REGEXREPLACE関数を使うことで、ハイフンに似た記号が混在していても、数字以外の文字をまとめて削除できます。REGEXREPLACE関数を使用できないExcel 2024以前では、SUBSTITUTE関数を使用してください。

[Ctrl]+[H]による置換でもハイフンを削除できますが、先頭の「0」が消えてしまう場合があります。電話番号や郵便番号をハイフンなしのデータに変換するときは、関数を使う方法がおすすめです。

関連記事

入力時に郵便番号や電話番号の形式をチェックする方法

電話番号や郵便番号が決められた形式で入力されているか、その場で確認したい場合は、データの入力規則を使用します。次の記事では、入力時に郵便番号や電話番号の形式をチェックする方法を解説しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

元・エクセル迷子。関数やグラフに頭を抱えつつ、地道に勉強してきました。
今では「むずかしいを、やさしく」にこだわって、初心者さん向けにExcelのコツを発信中。
「なんか分かるかも!」って思える瞬間を一緒に楽しみましょう♪

目次