Excel

【Excel】エクセルでハイフンを削除(電話番号・文字列・数字間・関数や置換で一括・まとめて・ハイフンだけ消す)する方法

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

エクセルでデータを扱っていると、「電話番号のハイフンを削除したい」「郵便番号のハイフンを一括で消したい」「文字列や数字の間のハイフンだけを取りたい」「データベース用にハイフンなしの形式にしたい」といった場面に遭遇することはありませんか?

特に、外部から取得したデータには様々な形式のハイフンが含まれており、統一する必要があることも多いでしょう。

この記事では【Excel】エクセルでハイフンを削除(電話番号・文字列・数字間・関数や置換で一括・まとめて・ハイフンだけ消す)する方法について解説していきます。

ポイントは

・SUBSTITUTE関数でハイフンを空白に置き換えて削除
・置換機能で複数セルのハイフンを一括削除
・全角ハイフンと半角ハイフンの両方に対応した処理

です。

それでは詳しく見ていきましょう。

エクセルでSUBSTITUTE関数を使ってハイフンを削除する方法1【電話番号や郵便番号に最適】

エクセルでハイフンを削除する最も確実な方法は、SUBSTITUTE関数を使ってハイフン文字を空白に置き換えることで、文字列からハイフンだけを削除できます

この方法なら、元のデータを残したまま、別の列でハイフンなしのデータを作成できるため安全で便利でしょう。

例えば、以下のような顧客データがあるとします。

電話番号や郵便番号のハイフンを削除して、データベース登録用の連続した数字にしたい場合に有効です。

解決方法

まず、ハイフンを削除した結果を表示する列を用意しましょう。例えばD列を使用します。

D2セルに以下のSUBSTITUTE関数を入力してください。

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

この数式は、B2セルの文字列から半角ハイフン「-」を空白「””」に置き換えるため、実質的にハイフンが削除されるわけです。

例えば「090-1234-5678」が「09012345678」になります。

数式を入力したら、Enterキーを押して確定します。D2セルの右下の小さな四角(フィルハンドル)をダブルクリックするか、下方向にドラッグすれば、数式が他の行にもコピーされます。

全ての行でハイフンが削除された状態になったら、必要に応じてD列の結果をコピーして、元のB列に「形式を選択して貼り付け」で「値」として貼り付けることで、数式を値に置き換えられます。

郵便番号のハイフンも同様に削除できます。C列の郵便番号からハイフンを削除したい場合は、以下の数式を使います。

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

全角ハイフン「ー」が混在している場合は、SUBSTITUTE関数を使用することで対応できます。

=SUBSTITUTE(SUBSTITUTE(B3,”-“,””),”ー”,””)

この数式は、まず半角ハイフンを削除してから、全角ハイフンも削除するため、どちらのハイフンが含まれていても完全に削除されます。

また、ハイフンだけでなくスペースも同時に削除したい場合は、さらにSUBSTITUTE関数を追加します。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B4,”-“,””),”―”,””),” “,””)

この数式は、半角ハイフン、半角スペース、全角スペースの3つを全て削除します。電話番号や郵便番号のデータクリーニングに最適でしょう。

数値として扱いたい場合は、VALUE関数と組み合わせることもできます。

=VALUE(SUBSTITUTE(B5,”-“,””))

この数式は、ハイフンを削除してから数値に変換するため、計算に使える状態になります。ただし、電話番号の先頭の「0」が消えてしまうため、電話番号には使用しない方が良いかもしれません。

複数の異なる記号を削除したい場合も、SUBSTITUTE関数を複数使用することで対応できます。例えば、ハイフンと括弧を削除する場合は以下のようになります。

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

この方法なら、元のデータを保持したまま加工できるため、後から元に戻す必要がある場合でも安心です。

【操作のポイント:SUBSTITUTE関数ならハイフンを空白に置き換えて削除し元データも保持可能】

エクセルで置換機能を使ってハイフンを一括削除する方法2【複数セルを同時処理】

関数を使わずに、既存のデータから直接ハイフンを削除したい場合もあるでしょう。

そんな時に役立つのが、置換機能を使って選択範囲内の全てのハイフンを一括で削除する方法です。

この方法なら、数式を使わずに元のデータを直接編集できるため、シンプルで分かりやすいでしょう。

例えば、以下のような商品コードデータでハイフンを削除したい場合を考えてみましょう。

商品コードのハイフンを全て削除して、連続した文字列にしたい場合に有効です。

解決方法

まず、ハイフンを削除したいセル範囲を選択しましょう。例えばA列全体を選択する場合は、列番号のAをクリックします。

範囲を選択したら、キーボードの「Ctrl」キーを押しながら「H」キーを押して、「検索と置換」ダイアログを開くわけです。

Ctrl + H

「置換」タブが選択されていることを確認してください。

「検索する文字列」の欄に、削除したいハイフンを入力します。キーボードのハイフンキーを押してください。

「置換後の文字列」の欄は空白のままにしておきます。これで、ハイフンが何もない状態に置き換えられ、実質的に削除されるでしょうか?

設定が完了したら、「すべて置換」ボタンをクリックしてください。選択範囲内の全ての半角ハイフンが一括で削除されます。

置換が完了すると、「○○個の項目を置換しました」というメッセージが表示されます。「OK」をクリックしてメッセージを閉じましょう。

全角ハイフンも削除したい場合は、同じ手順を繰り返します。「検索する文字列」に全角ハイフン「ー」を入力して、再度「すべて置換」を実行してください。

また、マイナス記号「−」やエンダッシュ「–」、エムダッシュ「—」など、見た目が似ている他の記号も削除したい場合は、それぞれを個別に置換する必要があります。

置換機能を使う利点は、大量のセルを一度に処理できることです。数百行、数千行のデータがあっても、一瞬で全てのハイフンを削除できるため、非常に効率的でしょう。

複数の異なる記号を削除したい場合は、置換を複数回実行します。例えば、ハイフンと括弧とスペースを削除する場合は、以下の順番で実行すると良いでしょう。

まずハイフンを削除します。「検索する文字列」に「-」、「置換後の文字列」は空白で「すべて置換」を実行します。

次に左括弧を削除します。「検索する文字列」に「(」、「置換後の文字列」は空白で「すべて置換」を実行します。

右括弧も同様に削除します。「検索する文字列」に「)」、「置換後の文字列」は空白で「すべて置換」を実行します。

最後にスペースも削除したい場合は、「検索する文字列」に半角スペースまたは全角スペースを入力して「すべて置換」を実行してください。

この段階的なアプローチにより、複雑な文字列のクリーニングも効率的に行えます。

置換機能は元のデータを直接書き換えるため、間違えた場合は「Ctrl + Z」キーで元に戻すことができます。ただし、ファイルを保存して閉じた後は元に戻せないため、重要なデータの場合は事前にバックアップを取っておくことをおすすめします。

また、特定のセルだけを対象にしたい場合は、そのセル範囲だけを選択してから置換を実行すれば、選択範囲内だけが処理されます。

【操作のポイント:置換機能なら数式不要で複数セルのハイフンを一括削除して元データを直接編集】

エクセルで全角・半角ハイフンの両方を削除する方法3【統一的な処理】

データによっては、全角ハイフンと半角ハイフンが混在している場合があります。

そんな時には、全角ハイフンと半角ハイフンの両方を確実に削除する統一的な処理方法が必要です。

この方法なら、どちらのハイフンが含まれていても確実に削除できるでしょう。

例えば、以下のような住所データで全角と半角のハイフンが混在している場合を考えてみましょう。

全角ハイフンと半角ハイフンが混在しているデータを統一して削除したい場合に有効です。

解決方法

関数を使う場合は、SUBSTITUTE関数を2つ使用して、全角と半角の両方を削除します。

結果を表示する列(例えばD列)に以下の数式を入力してください。

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

この数式は、まず半角ハイフン「-」を削除してから、全角ハイフン「ー」も削除するため、どちらのハイフンが含まれていても完全に削除されるわけです。

数式をオートフィルでコピーすれば、全ての行で両方のハイフンが削除されます。

さらに、長音記号「ー」(カタカナの長音)も削除したい場合は、3つめのSUBSTITUTE関数を追加します。

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

この数式は、半角ハイフン、全角ハイフン、エムダッシュの3種類を全て削除します。

置換機能を使う場合は、複数回の置換を実行します。まず半角ハイフンを削除する処理を行いましょう。

対象範囲を選択してから「Ctrl + H」キーで置換ダイアログを開き、「検索する文字列」に半角ハイフン「-」を入力して「すべて置換」を実行します。

続けて、全角ハイフンも削除します。置換ダイアログはそのままで、「検索する文字列」を全角ハイフン「ー」に変更して「すべて置換」を実行してください。

必要に応じて、他の似た記号も削除します。マイナス記号「−」、エンダッシュ「–」、エムダッシュ「—」なども、それぞれ個別に置換することで削除できるでしょうか?

検索: − → 置換: (空白) → すべて置換
検索: – → 置換: (空白) → すべて置換
検索: — → 置換: (空白) → すべて置換

全ての置換が完了したら、「閉じる」ボタンをクリックしてダイアログを閉じます。

また、ASC関数を使って全角文字を半角に統一してから削除する方法もあります。

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

この数式は、まず全角文字を半角に変換してから、半角ハイフンを削除するため、全角ハイフンも半角に変換されてから削除されます。

逆に、JIS関数を使って半角を全角に統一してから削除する方法もあるでしょう。

=SUBSTITUTE(JIS(A2),”ー”,””)

この数式は、半角文字を全角に変換してから、全角ハイフンを削除します。

ただし、ASC関数やJIS関数を使うと、ハイフン以外の文字(カタカナや数字など)も半角または全角に変換されてしまうため、意図しない変化が起きる可能性があります。

最も確実な方法は、SUBSTITUTE関数を複数使用して、考えられる全てのハイフンの種類を個別に削除することです。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,”-“,””),”ー”,””),”−”,””),”–”,””)

この数式は、4種類のハイフン・マイナス記号を全て削除するため、ほとんどのケースに対応できるでしょう。

処理結果を元のセルに反映させたい場合は、結果をコピーして「形式を選択して貼り付け」で「値」として貼り付ければ、数式を値に変換できます。

【操作のポイント:SUBSTITUTE関数の使用または複数回の置換で全角・半角ハイフンの両方を確実に削除】

まとめ エクセルでハイフンを削除(電話番号・郵便番号・文字列・一括・まとめて・関数や置換)する方法

エクセルでハイフンを削除する方法をまとめると、SUBSTITUTE関数を使えばハイフンを空白に置き換えて削除し元データも保持できるため安全で、置換機能なら数式不要で複数セルのハイフンを一括削除して元データを直接編集できるため効率的です。

また、全角ハイフンと半角ハイフンが混在している場合はSUBSTITUTE関数を複数使用するか置換を複数回実行することで両方を確実に削除でき、マイナス記号やエンダッシュなど似た記号も同様の方法で削除可能です。

これらの方法を状況に応じて使い分けていけば、ほとんどのハイフン削除の問題を解決できます。

特にSUBSTITUTE関数を使った方法は最も安全で汎用性が高く、元データを保持したまま加工できるため初心者にもおすすめの方法としてマスターすることをおすすめします。

ただし、電話番号を数値として扱うと先頭の「0」が消えてしまうため、文字列として保持することが重要で、処理後に意図しない変化がないか確認することも大切でしょう。

エクセルの文字列処理機能を正しく理解して、効率的なデータクリーニングと整形作業を実現していきましょう!