【Excel】エクセルで電話番号にハイフンを入れる方法(自動・書式設定)
【Excel】エクセルで電話番号にハイフンを入れる方法(自動・書式設定)
Excelで電話番号を入力したら、数字だけが並んで見づらくなった経験はないでしょうか。
たとえば0312345678を03-1234-5678のように表示できれば、名簿、顧客リスト、住所録、注文管理表などの視認性が上がります。
電話番号へのハイフン挿入は、表示形式を設定する方法、関数で別セルに整形する方法、入力済みデータを置換する方法など、用途に応じて選べます。
電話番号を数値として計算しない場合は、文字列として扱う意識が重要です。
表示だけ整えたいときはユーザー定義の表示形式が便利です。
固定電話、携帯電話、フリーダイヤルが混在するときは関数や文字列操作が役立ちます。
この記事では、エクセルで電話番号にハイフンを入れる方法を、入力時の自動設定から数式を使うケースまで分かりやすく解説します。
サンプルデータは1行目を見出し行とし、2行目以降に電話番号が入っているものとして説明します。
電話番号へハイフンを表示する書式設定
それではまず、電話番号を入力したセルにハイフンを表示する基本の書式設定について解説していきます。
| A | B |
|---|---|
| 1 | 電話番号 |
| 2 | 0312345678 |
| 3 | 09012345678 |
ユーザー定義の表示形式
表示形式を使う方法では、セル内の元データを変えずに見た目だけへハイフンを付けます。
10桁の固定電話番号を03-1234-5678の形で見せたい場合に向く方法です。
対象のセル範囲を選択し、Ctrlキーと1キーを押すとセルの書式設定画面を開けます。

表示形式タブでユーザー定義を選び、種類の入力欄へ000-0000-0000と入力します。
ここで使う0は、桁が足りない場合にもゼロを表示するプレースホルダーです。
種類に入力する表示形式は000-0000-0000です。
0312345678と入力されているセルは03-1234-5678と表示されます。
設定後にOKを選択すると、対象セルの数字の区切り位置にハイフンが現れます。
ただし、元のセル値は数値のままなので、数式バーではハイフンなしの値が確認できます。
先頭のゼロを保持する入力方法
市外局番が03や06の電話番号では、先頭のゼロが消える問題に注意が必要です。
Excelは通常、0312345678を数値として入力すると、先頭の0を省いた312345678として保存します。
電話番号は計算対象ではないため、最初から文字列で保存するほうが安全な場面もあります。

入力前に対象列を選択し、ホームタブの表示形式から文字列を指定しておきましょう。
すでに入力した数字を文字列へ変える場合は、先頭にアポストロフィを付けて再入力する方法もあります。
アポストロフィはセル上では表示されず、電話番号の先頭ゼロを保つための入力記号として働きます。
文字列として保存した例は’0312345678です。
セルの表示は0312345678となり、先頭のゼロを失いません。
そのうえでハイフン付きの文字列を直接入力すれば、住所録などでは最も分かりやすいデータになります。
書式設定が向くデータの条件
書式設定は、番号の桁数とハイフンの位置がそろっているデータに適しています。
たとえば全件が10桁で、市外局番2桁、市内局番4桁、加入者番号4桁の構成なら管理しやすいでしょう。
一方で、東京以外の市外局番や携帯電話、内線番号が混在している表では、1種類の表示形式だけでは対応しきれません。
表示形式は値を自動判定して区切る機能ではなく、指定した位置へ記号を表示する設定です。
列ごとに電話番号の種類を分けられる場合は、固定電話列と携帯電話列で表示形式を変えると整理しやすくなります。
【操作のポイント】書式設定をする前に、電話番号の桁数と市外局番の構成が統一されているか確認しましょう。
携帯電話番号を自動表示する入力ルール
続いては、携帯電話番号のような11桁の番号を見やすく表示する方法を確認していきます。
| A | B |
|---|---|
| 1 | 携帯電話番号 |
| 2 | 09012345678 |
| 3 | 08098765432 |
11桁用のユーザー定義形式
携帯電話番号は、090-1234-5678のように3桁、4桁、4桁で区切るのが一般的です。
対象セルを選択してセルの書式設定を開き、ユーザー定義の種類へ000-0000-0000を設定します。
11桁の携帯電話番号なら、この書式設定だけで入力後にハイフン付き表示へ切り替わります。

090、080、070で始まる番号を同じ列へ並べる場合にも、この形式を共通で利用できます。
携帯電話番号は先頭のゼロが重要なので、数値として保存するなら入力時のゼロ落ちを防ぐ準備が必要です。
文字列として保管する列なら、ハイフンを含めた状態で直接入力する方法も分かりやすいでしょう。
携帯電話用の表示形式は000-0000-0000です。
09012345678は090-1234-5678と表示されます。
入力規則による桁数の確認
部署内で電話番号を登録する表では、桁数の誤りを減らすために入力規則を設定できます。
電話番号列を選択し、データタブからデータの入力規則を開きます。
文字列の長さを11に設定すれば、携帯電話番号だけを受け付ける列として運用しやすくなります。
入力規則はハイフンの自動追加ではなく、誤った桁数の入力を知らせるための補助機能です。

ハイフンを含んだ文字列を直接入力する運用では、文字数が13になるため設定値を合わせる必要があります。
入力方法を統一しないと、09012345678と090-1234-5678が混在し、検索や重複確認が難しくなるかもしれません。
社内の入力ルールを決め、数字のみで登録するのか、ハイフンを含めて登録するのかをそろえましょう。
表示形式と検索機能の関係
表示形式でハイフンを見せているセルは、見た目と実際の値が異なる場合があります。
たとえば検索欄に090-1234-5678と入力しても、セルの実値が09012345678であれば一致しないことがあります。
電話番号を検索キーとして使う表では、値そのものをどの形式で保存しているか確認することが大切です。
外部システムへCSVで渡す場合も、セルの表示形式ではなく保存された値が出力される点に注意しましょう。
【操作のポイント】入力規則と表示形式を組み合わせると、携帯電話番号の入力ミスと見づらさを同時に抑えられます。
関数で電話番号をハイフン付き文字列にする方法
続いては、元の電話番号を残したまま別のセルへハイフン付きの文字列を作る関数を確認していきます。
| A | B | C |
|---|---|---|
| 1 | 元の電話番号 | 整形後 |
| 2 | 09012345678 | 090-1234-5678 |
TEXT関数で11桁を整形する数式
携帯電話番号が数値としてA2セルに入っている場合は、TEXT関数で桁区切りを文字列として作れます。
数式は=TEXT(A2,”000-0000-0000″)です。
A2が9012345678のように先頭ゼロを失っていても、11桁の形式で090-1234-5678と表示できます。
この数式をB2セルへ入力すると、指定した書式に従う文字列が返されます。
TEXT関数の結果は数値ではなく文字列となるため、電話番号の見た目を固定したい用途に適しています。
数式を入力したB2セルの右下にある小さな四角を下へドラッグすれば、B3以降にも数式をコピーできます。
これがオートフィルであり、件数の多い名簿を短時間で整形できる便利な操作です。
LEFT関数とMID関数を組み合わせる数式
電話番号を文字列として保存している場合は、LEFT関数、MID関数、RIGHT関数を組み合わせる方法も使えます。
11桁の電話番号を整形する数式は=LEFT(A2,3)&”-“&MID(A2,4,4)&”-“&RIGHT(A2,4)です。
LEFT(A2,3)はA2セルの左から3文字を取り出し、MID(A2,4,4)は4文字目から4文字を取り出します。
RIGHT(A2,4)は右端から4文字を取り出す関数です。
それぞれの結果を&でつなぎ、その間にハイフンの文字列を入れることで090-1234-5678の形になります。
この方法は、文字数や区切り位置を自分で細かく指定したいときに便利です。
ただし、A2セルの文字数が不足していると、意図しない結果になる場合があります。
元データの桁数チェックと組み合わせると、より信頼できる名簿を作れるでしょう。
IF関数で空白セルを除外する数式
名簿に空白行が含まれる場合、数式を下までコピーするとハイフンだけが表示されることがあります。
この場合は、IF関数でA2セルが空白かどうかを判定してから整形すると見栄えが整います。
空白を除外する数式は=IF(A2=””,””,TEXT(A2,”000-0000-0000″))です。
この数式はA2が空白なら空白を返し、値があるときだけTEXT関数で電話番号を整形します。
データ件数が増減するリストでは、空白判定を加えた数式が特に役立ちます。
【操作のポイント】数式で整形した列は文字列になるため、元の電話番号列を残しておくと後の確認や修正が安全です。
固定電話とフリーダイヤルが混在する場合の対処
続いては、桁数や市外局番の長さが異なる電話番号が混在する場合の考え方を確認していきます。
| A | B |
|---|---|
| 1 | 電話番号の種類 |
| 2 | 03-1234-5678 |
| 3 | 0120-123-456 |
市外局番の長さによる違い
日本の固定電話番号は、市外局番が2桁から5桁程度まで異なります。
そのため、すべての固定電話番号を000-0000-0000という1つの書式だけで正確に区切ることはできません。
電話番号のハイフン位置は地域によって異なるため、桁数だけで一律に判定するのは難しい場合があります。
少数のデータであれば、文字列としてハイフン付きで直接入力する方法が確実です。
大量のデータを扱う場合は、住所や市外局番の列を基にして、地域ごとのルールを設ける必要があります。
フリーダイヤルの表示形式
0120で始まるフリーダイヤルは、0120-123-456のように4桁、3桁、3桁で表示されることがあります。
数字のみで10桁の値が入力されている場合は、ユーザー定義の表示形式として0000-000-000を利用できます。
0120123456を表示する形式は0000-000-000です。
ただし、電話番号の種類が同じ列に混ざっている場合は、表示形式を共通化できません。
種類別に列を分けるか、関数で番号の先頭文字を判定して出力形式を変える運用を検討しましょう。
文字列の統一とデータクレンジング
電話番号データには、全角ハイフン、半角ハイフン、括弧、空白が混在していることがあります。
こうした表を整理するときは、まず置換機能で不要な記号を取り除き、数字のみの状態へそろえると作業しやすくなります。
検索と置換でハイフンを空欄へ置換すると、電話番号を一度同じ基準へそろえられます。
その後に用途別の数式や表示形式を適用すれば、表記ゆれを減らせます。
【操作のポイント】電話番号が混在する表では、先に種類と桁数を確認してから、列分けや整形ルールを決めましょう。
電話番号のハイフンを一括で追加する編集手順
続いては、すでに入力済みの電話番号をまとめて整形する編集手順を確認していきます。
| A | B |
|---|---|
| 1 | 電話番号 |
| 2 | 08012345678 |
| 3 | 07022223333 |
数式列を値として貼り付ける手順
TEXT関数などで整形した結果を、最終的に通常の文字列として確定したい場合があります。
このときは数式結果の列をコピーし、同じ場所または別の列へ値として貼り付けます。
貼り付けのオプションから値を選ぶと、数式ではなく表示結果だけを残せます。
値貼り付けを行う前に、元データ列を残すかバックアップを取ると安心です。
外部システムへ提出するCSVを作る場合にも、値として確定しておくと形式を保ちやすくなります。
オートフィルによる数式コピー
数式を入力した先頭セルを選び、セル右下のフィルハンドルをダブルクリックすると、隣接するデータ行まで数式をコピーできます。
住所録のように数百件の電話番号が並ぶ表でも、手入力を繰り返す必要はありません。
途中に空白行があるとコピー範囲が想定より短くなるため、データの並びを確認しておきましょう。
テーブル機能を使っている場合は、数式を1行へ入力するだけで列全体へ自動入力されることもあります。
CSV保存時の注意点
Excelファイルでは正しく見えていても、CSV形式で保存した後に先頭ゼロやハイフンの扱いが変わる場合があります。
電話番号を文字列として保持したい場合は、CSVを再びExcelで開くときの自動変換にも注意が必要です。
CSVは書式設定を保存しないため、表示形式だけでハイフンを見せていたデータは数字だけで出力される可能性があります。
提出前にはメモ帳などでCSVの内容を確認し、電話番号が希望する形で保存されているかを確かめましょう。
【操作のポイント】外部へ渡す電話番号は、表示形式ではなく実際のセル値とCSV出力結果を確認することが重要です。
まとめ エクセルの電話番号ハイフン入力方法(自動・書式設定)
エクセルで電話番号にハイフンを入れる方法は、データの目的と番号の種類によって使い分けることができます。
桁数が統一された携帯電話番号なら、ユーザー定義の表示形式000-0000-0000を設定すると、入力後に見やすい形へ整えられます。
元データを残して別列にハイフン付きの番号を作りたい場合は、TEXT関数やLEFT関数、MID関数、RIGHT関数の活用が便利です。
固定電話やフリーダイヤルが混在する表では、番号の種類ごとに列を分けるか、文字列として直接入力する方法も検討しましょう。
電話番号は計算用の数値ではなく、識別のためのデータとして扱うことが、先頭ゼロやCSV出力のトラブルを防ぐ基本です。
表示形式、数式、値貼り付けの違いを理解し、用途に合った方法で電話番号リストを見やすく整えていきましょう。