Excelで電話番号、郵便番号、管理番号などを扱っていると、セル内に入力されたハイフンだけを削除したい場面があります。

例えば、080-1234-5678を08012345678に変換したり、123-4567を1234567に統一したりする作業です。

手入力で消すこともできますが、件数が多い場合は関数や置換機能を使うことで、短時間かつ正確に処理できます。

元の値を残したい場合はSUBSTITUTE関数、元データをまとめて変更したい場合は置換機能を選ぶと効率的です。

ハイフンには半角と全角があるため、データの状態を先に確認することも重要です。

この記事では、エクセルのハイフンを消す方法を、関数、一括置換、表示形式、VBAまで順番に解説します。

電話番号や郵便番号の整形に役立つ操作を確認していきましょう。

 

エクセルのハイフンを消す方法【置換で一括削除】

A列 元データ B列 削除後のイメージ
090-1234-5678 09012345678
123-4567 1234567

それではまず、検索と置換を使ってハイフンを一括で消す方法について解説していきます。

置換は、選択した範囲にある同じ文字をまとめて空欄へ置き換える機能です。

【操作のポイント】置換前に対象範囲を選択すると、意図しない列まで変更する事故を防げます。

 

検索と置換ダイアログの表示

最初に、ハイフンを削除したいセル範囲を選択します。

表全体が対象なら、表内の任意のセルをクリックしてから操作しても構いません。

キーボードでCtrlキーとHキーを同時に押すと、検索と置換の画面が開きます。

ホームタブの検索と選択から置換を選ぶ方法でも同じ画面を表示できます。

エクセルのハイフンを消す方法【置換で一括削除】 - 検索と置換ダイアログの表示

置換画面を開いたら、検索する文字列に半角のハイフンを入力することが最初の作業です。

ハイフンに見える記号でも、全角の-や長音記号のーが混ざっている場合があるため、元データからコピーして貼り付けると確実です。

 

置換後の文字列を空欄にする設定

検索する文字列にハイフンを入れたら、置換後の文字列は何も入力せず空欄のままにします。

空欄へ置換する設定により、見つかったハイフンだけが削除され、数字や文字は残ります。

置換を実行する前に、まず次を検索を押して、対象セルが想定どおりか確認しましょう。

エクセルのハイフンを消す方法【置換で一括削除】 - 置換後の文字列を空欄にする設定

確認後にすべて置換を押すと、選択範囲内のハイフンがまとめて消えます。

処理件数が表示されたら、数件のセルを見て電話番号や郵便番号の桁数が崩れていないかを確認します。

 

置換後の表示確認と元に戻す操作

置換後に想定外のセルまで変更してしまった場合は、すぐにCtrlキーとZキーを押して元に戻せます。

例えば、商品コード内のハイフンを残す必要があったのに、表全体を対象にしたケースでは元に戻す操作が有効です。

置換は値そのものを書き換える機能なので、元の表を残したいときは事前にシートを複製しておくと安心です。

一度保存してExcelを閉じると、操作履歴で戻せない場合があるため、保存前の確認が大切です。

半角ハイフンを消す場合は、検索する文字列に – を入力し、置換後の文字列は空欄にします。

全角ハイフンが混在する場合は、記号ごとに置換を繰り返します。

 

SUBSTITUTE関数によるハイフン削除

A列 電話番号 B列 数式 C列 結果
090-1234-5678 =SUBSTITUTE(A2,”-“,””) 09012345678

続いては、元のデータを残しながらハイフンを消せるSUBSTITUTE関数を確認していきます。

別の列に変換結果を表示したい場合や、作業用のデータを作りたい場合に向く方法です。

【操作のポイント】数式を入力する列は、元データとは別列に用意すると確認と修正がしやすくなります。

 

SUBSTITUTE関数の基本式

SUBSTITUTE関数は、指定した文字列の一部を別の文字列に置き換える関数です。

ハイフンを削除する場合は、B2セルへ次の数式を入力します。

=SUBSTITUTE(A2,”-“,””)

この式では、A2セルの文字列から半角ハイフンを探し、空欄へ置き換えます。

最後のダブルクォーテーションの間が空になっている部分が、文字を削除する指定です。

サンプルデータでは1行目を見出しとしているため、データの先頭行である2行目を参照します。

 

数式の入力とオートフィル

B2セルに数式を入力してEnterキーを押すと、A2のハイフンが消えた結果が表示されます。

次にB2セル右下の小さな四角を下方向へドラッグすると、数式を下の行へコピーできます。

SUBSTITUTE関数によるハイフン削除 - 数式の入力とオートフィル

Excelのテーブル機能を使っている場合は、最初の数式を入力するだけで列全体に数式が自動入力されることもあります。

オートフィル後は、B3、B4といった各セルが、それぞれ同じ行のA列を参照しているか数式バーで確認しましょう。

数式は元データを変更しないため、変換前後を比較したい場面でも便利です。

 

数式結果を値として確定する操作

SUBSTITUTE関数で作成した結果を、数式ではなく固定した文字列にしたい場合があります。

その場合は、変換結果の列をコピーしてから、同じ場所または別の場所へ値として貼り付けます。

ホームタブの貼り付けから値を選ぶか、右クリックメニューの値貼り付けを使います。

SUBSTITUTE関数によるハイフン削除 - 数式結果を値として確定する操作

値に変換した後は、参照元のA列を削除しても結果が変わりません。

ただし、元データとの連動はなくなるため、更新が続く表では数式のまま残す方法も検討しましょう。

関数で削除した結果を確定する流れは、結果列をコピーして値として貼り付ける操作です。

元データを残したまま加工できる点が、置換機能との大きな違いです。

 

全角ハイフンと複数記号の削除

A列 混在データ B列 変換結果
03-1234-5678 0312345678
03-1234-5678 0312345678

続いては、半角と全角の記号が混在するデータからハイフンを消す方法を確認していきます。

見た目が同じようでも文字コードが異なると、半角ハイフンだけを対象にした数式では削除できません。

【操作のポイント】削除できない記号があるときは、セルを編集して実際の記号を確認してから数式へ指定します。

 

全角ハイフンを指定する数式

全角のハイフンを削除する場合は、数式内の検索文字を全角記号に変更します。

=SUBSTITUTE(A2,”-”,””)

この数式は、A2セル内にある全角ハイフンを空欄へ置き換えます。

半角の-と全角の-は別の文字として扱われるため、半角用の式だけでは全角記号は消えません。

入力が難しいときは、対象セルをダブルクリックし、ハイフンをコピーして数式へ貼り付けると入力ミスを減らせます。

 

半角と全角を連続して置換する数式

同じ列に半角と全角のハイフンが混在している場合は、SUBSTITUTE関数を入れ子にします。

=SUBSTITUTE(SUBSTITUTE(A2,”-“,””),”-”,””)

内側のSUBSTITUTE関数が半角ハイフンを削除し、その結果に対して外側のSUBSTITUTE関数が全角ハイフンを削除します。

数式は内側から順に処理されるため、複数種類の記号を段階的に取り除けます。

式が長くなっても、参照セルA2は先頭の1回だけ指定することが基本です。

 

複数記号を消す画面操作

ここでは、全角ハイフンを含む電話番号を数式で整形する画面イメージを確認します。

電話番号一覧.xlsx – Excel - □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
貼り付け
B
罫線
中央揃え
fx=SUBSTITUTE(SUBSTITUTE(A2,”-“,””),”-”,””)
A B C
1 電話番号 変換結果
2 03-1234-5678 0312345678
3 06-9876-5432 0698765432
➤
B2の数式を下へコピー

赤枠のB2セルに数式を入力した後、セル右下のフィルハンドルを下へドラッグしてオートフィルします。

数式バーに表示される内容を確認すると、半角と全角の両方が指定されていることを判断できます。

見た目では区別しにくい記号をまとめて処理できるため、外部から取り込んだ名簿にも役立ちます。

記号が3種類以上ある場合も、SUBSTITUTE関数をさらに重ねることで対応できます。

ただし、消してはいけない長音記号まで指定しないよう、対象データの内容を確認してから実行しましょう。

 

電話番号と郵便番号の表示形式

A列 数値データ 表示例
1234567 1234567
9012345678 9012345678

続いては、ハイフンを消した後に確認したい電話番号と郵便番号の表示形式について解説していきます。

ハイフンを削除すると、Excelが数値として認識し、先頭の0を消してしまうことがあります。

【操作のポイント】電話番号、郵便番号、社員番号は計算用の数値ではなく、文字列として扱うと安全です。

 

先頭のゼロが消える原因

09012345678のような電話番号を数値として入力すると、通常は先頭の0を含めて表示されます。

しかし、桁数やデータの取り込み方法によっては、郵便番号の先頭の0が消えることがあります。

例えば0123456を数値として扱うと、Excelは123456と判断します。

電話番号や郵便番号は計算対象ではない識別番号なので、文字列として管理する考え方が適しています。

 

文字列形式への変更

先頭の0を維持したい場合は、対象列を選択してからホームタブの表示形式を文字列に変更します。

すでに入力済みの数値は、表示形式を変えるだけでは失われた0が戻らない場合があります。

その場合は、TEXT関数を使うか、元データから再入力する必要があります。

=TEXT(A2,”0000000″)

この数式は、A2セルの数値を7桁の文字列として表示します。

 

ハイフンなしデータの利用場面

電話番号のハイフンなし形式は、システムへのCSV取込、会員情報の照合、重複チェックなどで求められることがあります。

郵便番号も、外部サービスの仕様によっては7桁の数字だけで登録する必要があります。

一方で、帳票や顧客向け資料ではハイフン付きの方が読みやすいこともあります。

保存用データと見せるためのデータを別列に分けると、用途ごとに使い分けやすくなります。

データ連携用にはハイフンなしの文字列、印刷用にはハイフン付きの表示を用意すると管理しやすくなります。

 

VBAによるハイフンの一括削除

A列 処理前 A列 処理後
012-3456-7890 01234567890

続いては、同じ処理を繰り返す場合に便利なVBAによるハイフン削除を確認していきます。

毎月受け取る一覧表など、決まった列を定期的に加工する場合に活用できます。

【操作のポイント】VBAは元のセル内容を直接変更するため、処理前のファイルをコピーしてから実行します。

 

選択範囲を対象にするVBAコード

次のマクロは、現在選択しているセル範囲から半角ハイフンを削除します。

選択範囲だけを対象にするため、処理したい列やセルを選んでからマクロを実行します。

VBAのReplaceメソッドは置換機能を自動化する操作と考えると理解しやすいでしょう。

 

全角ハイフンを含めて削除するVBAコード

半角と全角の両方を削除したい場合は、置換処理を2回記述します。

このマクロを実行すると、選択したセル内にある2種類のハイフンが空欄へ置き換わります。

処理対象を間違えないよう、実行前に選択範囲を確認しましょう。

 

マクロ実行時の注意点

VBAを使うには、ファイルをマクロ有効ブック形式で保存する必要があります。

マクロ有効ブックの拡張子はxlsmです。

信頼できないファイルのマクロを有効にすると危険な場合があるため、作成者や入手元が明確なものだけを実行してください。

定型処理には便利でも、単発の作業なら置換機能やSUBSTITUTE関数の方が手軽なこともあります。

 

まとめ エクセルのハイフンを消す方法

目的 適した方法
元データを直接変更したい 検索と置換
元データを残したい SUBSTITUTE関数
繰り返し処理したい VBA

エクセルでハイフンを消すには、少量または元データを直接修正する場合は置換機能が便利です。

元の値を残しながら別列に結果を表示したい場合は、SUBSTITUTE関数を使いましょう。

=SUBSTITUTE(A2,”-“,””)という数式を入力すれば、半角ハイフンを空欄へ置き換えられます。

全角ハイフンも含まれる場合は、SUBSTITUTE関数を重ねるか、記号ごとに置換を実行します。

削除できないと感じたときは、半角と全角の違いを確認することが解決の近道です。

電話番号や郵便番号では先頭の0にも注意し、必要に応じて文字列形式で管理してください。

用途に合った方法を選び、ハイフンを含むデータを正確に整形していきましょう。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう