【Excel】エクセルでハイフンを入れる関数と数字に挿入する方法(3文字目・4桁ごと)
電話番号、郵便番号、商品コード、口座番号など、数字だけが連続したデータは見づらくなりがちです。
Excelでは、LEFT関数・MID関数・RIGHT関数を組み合わせる方法や、REPLACE関数を使う方法によって、指定した位置へハイフンを挿入できます。
3文字目の後ろに入れるケース、4桁ごとに区切るケース、先頭のゼロを残したいケースでは、適した数式や表示形式が少しずつ異なります。
この記事で扱う主な方法
・3文字目など、決まった位置にハイフンを追加する数式
・電話番号や郵便番号を見やすく整える方法
・4桁ごとの数字を区切る方法
・数値を変えずに見た目だけハイフン表示にする方法
サンプルデータは、1行目に見出しがあり、A列に元の数字が入力されている状態で解説します。
エクセルで3文字目にハイフンを入れる関数
それではまず、3文字目の後ろへハイフンを挿入する基本的な数式について解説していきます。
| 元データ | 整形後のイメージ |
|---|---|
| 1234567 | 123-4567 |
| 9876543 | 987-6543 |
LEFT関数とRIGHT関数による基本式
もっとも分かりやすい方法は、先頭側の文字列と残りの文字列を分け、間にハイフンを連結する方法です。
B2セルに次の数式を入力しましょう。
=LEFT(A2,3)&”-“&RIGHT(A2,LEN(A2)-3)

LEFT(A2,3)は、A2セルの左端から3文字を取り出す関数です。
RIGHT(A2,LEN(A2)-3)は、A2セルの文字数から3を引いた分だけ右側の文字を取り出します。
間にある&”-“&は、取り出した文字列同士へハイフンをつなぐ指定です。
たとえばA2が1234567なら、数式の結果は123-4567になります。
LEN関数を使うことで、元データの桁数が多少違っていても後半部分を取り出しやすくなります。
数式を下の行へコピーする操作
続いては、作成した数式を複数行のデータへ反映する操作を確認していきます。
B2セルに数式を入力したら、セル右下にある小さな四角形のフィルハンドルへマウスポインターを合わせます。
ポインターが黒い十字に変わった状態でダブルクリックすると、隣接するA列のデータが続く範囲まで数式がコピーされます。
データの途中に空白行がある場合は、フィルハンドルを必要な行までドラッグしてコピーしましょう。
数式はA2を参照しているため、下へコピーするとA3、A4のように参照先が自動調整されます。
値だけを残したいときは、結果のセルをコピーし、形式を選択して貼り付けから値を貼り付けます。
3文字未満のデータを扱う注意点
続いては、文字数が3文字に満たないデータを含む場合の考え方を確認していきます。
通常の式では、たとえば12というデータに対して12-のような結果になることがあります。
短いデータにはハイフンを付けたくない場合、IF関数で文字数を判定すると安心です。
=IF(LEN(A2)<=3,A2,LEFT(A2,3)&”-“&RIGHT(A2,LEN(A2)-3))
この式では、A2セルが3文字以下なら元の内容をそのまま表示し、4文字以上ならハイフンを挿入します。
不完全な入力や空白セルが混ざる名簿では、事前に桁数の条件を入れておくと表示崩れを防げます。
【操作のポイント】3文字目の後ろへ入れる場合は、LEFT関数で先頭3文字を取得し、残りの文字列をRIGHT関数でつなげます。
電話番号と郵便番号にハイフンを入れる方法
続いては、実務で使う機会が多い電話番号と郵便番号の整形方法を確認していきます。
| 用途 | 元データ | 整形例 |
|---|---|---|
| 郵便番号 | 1234567 | 123-4567 |
| 電話番号 | 0312345678 | 03-1234-5678 |
| 携帯電話番号 | 09012345678 | 090-1234-5678 |
郵便番号を3桁と4桁に分ける数式
郵便番号は、先頭3桁と後半4桁の間へハイフンを入れる形式が一般的です。
A2セルに1234567が入力されているなら、B2セルには次の数式を入力します。
=LEFT(A2,3)&”-“&RIGHT(A2,4)
郵便番号は本来、計算に使う数値というより識別番号です。
そのため、先頭が0になる郵便番号を扱う場合は、A列をあらかじめ文字列形式に設定してから入力することが大切です。
0123456を数値として入力すると先頭の0が消えるため、文字列として保持する設定が必要です。
市外局番を含む電話番号の分割
続いては、10桁の固定電話番号を整える数式について確認していきます。
03-1234-5678のように、2桁、4桁、4桁へ分けるなら次の式を使います。
=LEFT(A2,2)&”-“&MID(A2,3,4)&”-“&RIGHT(A2,4)
MID(A2,3,4)は、A2セルの3文字目から4文字を抜き出す指定です。
LEFT関数で市外局番、MID関数で市内局番、RIGHT関数で加入者番号を取得しています。
ただし、市外局番には3桁や4桁の地域もあるため、すべての固定電話番号へ同じ式を適用できるわけではありません。
電話番号の桁区切りは地域や番号体系によって異なるため、元データのルールを確認してから式を決めましょう。
携帯電話番号を三分割する数式
続いては、090、080、070から始まる11桁の携帯電話番号を整える方法です。
A2セルに09012345678がある場合は、以下の数式で090-1234-5678の形式になります。
=LEFT(A2,3)&”-“&MID(A2,4,4)&”-“&RIGHT(A2,4)
この式は、最初の3文字、4文字目から4文字、最後の4文字を連結する構造です。
ハイフン付きの電話番号を他システムへ貼り付ける予定がある場合は、受け取り側がハイフンを許可するかも確認しましょう。
検索や照合に使う元データは数字だけで保存し、表示用の列に数式を置く運用が便利です。
【操作のポイント】郵便番号は3桁と4桁、携帯電話番号は3桁と4桁と4桁に分けると読みやすくなります。
4桁ごとにハイフンを入れる関数
続いては、16桁の会員番号や管理番号などを4桁ごとに区切る数式を確認していきます。
| 元データ | 4桁ごとの整形結果 |
|---|---|
| 1234567890123456 | 1234-5678-9012-3456 |
| ABCD1234EFGH5678 | ABCD-1234-EFGH-5678 |
16桁の番号を四つのブロックへ分ける式
16桁で桁数が固定された番号は、LEFT関数とMID関数、RIGHT関数を使うと4桁ずつに分割できます。
=LEFT(A2,4)&”-“&MID(A2,5,4)&”-“&MID(A2,9,4)&”-“&RIGHT(A2,4)
この数式は、1文字目から4文字、5文字目から4文字、9文字目から4文字、最後の4文字を順に取り出します。
4桁ごとの区切りは、長い英数字を目視確認するときの入力ミス防止にも役立ちます。
クレジットカード番号のような機微情報は、業務ルールに従ってマスキングし、不要な共有を避ける必要があります。
数式バーとオートフィルの操作イメージ
続いては、先頭セルへ数式を入力し、オートフィルで下方向へ反映する操作イメージです。
| A | B | |
|---|---|---|
| 1 | 元データ | 整形後 |
| 2 | 1234567890123456 | 1234-5678-9012-3456 |
| 3 | 9876543210987654 | ↓ オートフィル |
数式をB2セルへ入れた後は、B2セル右下のフィルハンドルを下へドラッグします。
隣のA列に連続データがある場合は、フィルハンドルのダブルクリックでもコピーできます。
最初のセルだけに正しい式を作り、オートフィルで展開するのが効率的な入力方法です。
桁数が一定でない番号への対応
続いては、番号の文字数が16桁に固定されない場合の注意点です。
4桁ごとの区切りを数式だけで自動処理するには、文字数に応じた複雑な式が必要になることがあります。
8桁、12桁、16桁のように種類が限定されるなら、IF関数で分岐する方法が現実的です。
=IF(LEN(A2)=8,LEFT(A2,4)&”-“&RIGHT(A2,4),IF(LEN(A2)=12,LEFT(A2,4)&”-“&MID(A2,5,4)&”-“&RIGHT(A2,4),A2))
この式は8桁と12桁だけを整形し、それ以外は元の値を表示します。
例外データを無理に加工せず、元のまま表示する分岐を用意すると確認作業がしやすくなります。
【操作のポイント】4桁区切りの位置はMID関数で指定し、固定桁数の番号ほど安定して処理できます。
REPLACE関数で指定位置へ挿入する方法
続いては、既存の文字列を指定位置から置き換えるREPLACE関数を使った方法を確認していきます。
| 元データ | 挿入位置 | 結果 |
|---|---|---|
| 1234567 | 4文字目の前 | 123-4567 |
| 1234567890 | 4文字目の前 | 123-4567890 |
REPLACE関数で3文字目の後ろへ追加する式
REPLACE関数は、文字列の一部を別の文字列に置き換える関数です。
削除する文字数を0に指定すると、既存の文字を消さずに新しい文字だけを挿入できます。
=REPLACE(A2,4,0,”-“)
第2引数の4は、4文字目の位置を表しています。
第3引数を0にすることで文字は削除されず、第4引数のハイフンだけが追加されます。
REPLACE関数では、ハイフンを入れたい直後の位置ではなく、挿入を始める文字位置を指定します。
複数のハイフンを入れる順番
続いては、1つの文字列にハイフンを複数追加する場合の考え方です。
123456789012を1234-5678-9012へ整えるなら、後ろ側のハイフンから先に挿入すると位置がずれにくくなります。
=REPLACE(REPLACE(A2,9,0,”-“),5,0,”-“)
内側のREPLACE関数で9文字目の前にハイフンを入れ、その結果に対して5文字目の前へもう一つ挿入しています。
先に前方へハイフンを入れると、後ろ側の文字位置が1文字分ずれるため注意しましょう。
複数箇所をREPLACE関数で加工するときは、右側の位置から処理する考え方が基本です。
LEFT関数などとの使い分け
続いては、REPLACE関数と文字列抽出関数の使い分けを確認していきます。
区切る桁数が明確で、各ブロックの意味も分かれている場合は、LEFT・MID・RIGHT関数のほうが式を読んだときに理解しやすい場合があります。
一方で、単純に特定の場所へ記号を差し込むだけなら、REPLACE関数は短い式で済みます。
郵便番号のような3桁と4桁の分割にはLEFT関数とRIGHT関数、固定位置へ一つだけ追加する場面にはREPLACE関数が向いています。
【操作のポイント】REPLACE関数の削除文字数を0にすると、元のデータを残したままハイフンを挿入できます。
表示形式で数字を変えずに区切る方法
続いては、数式を使わず、セルの値を数値のまま保ちながら見た目だけを整える表示形式を確認していきます。
| セルに保存する値 | 表示形式 | 画面上の表示 |
|---|---|---|
| 1234567 | 000-0000 | 123-4567 |
| 1234567890123456 | 0000-0000-0000-0000 | 1234-5678-9012-3456 |
郵便番号風の表示形式
7桁の数字を123-4567のように表示するだけなら、ユーザー定義の表示形式を使えます。
対象セルを選択し、セルの書式設定から表示形式、ユーザー定義を開きます。
000-0000
種類の入力欄へこの表示形式を設定すると、セルの内部値が1234567でも画面上では123-4567と表示されます。
表示形式は見え方だけを変えるため、計算式や数値としての扱いを維持したい場面に便利です。
4桁ごとの表示形式
続いては、16桁の数字を4桁ごとに表示する設定です。
0000-0000-0000-0000
この設定では、固定16桁の数値を1234-5678-9012-3456のように見せられます。
ただし、Excelは15桁を超える数値を正確に保持できません。
16桁以上の番号は数値ではなく文字列として入力しないと、下位桁が丸められる可能性があります。
識別番号を扱う場合は、セルの表示形式を文字列にしてから入力するか、先頭にアポストロフィを付けて入力する方法が安全です。
数式と表示形式を選ぶ判断
続いては、数式による整形と表示形式による整形を選ぶ基準です。
ハイフン付きの文字列を別システムへ出力したい場合は、数式で別列に整形結果を作る方法が向いています。
一方で、セルの中身は数値のまま計算や並べ替えに使いたく、画面上だけ読みやすくしたい場合は表示形式が適しています。
表示形式を設定しても、数式バーにはハイフンなしの元の数値が表示される点を理解しておきましょう。
【操作のポイント】外部へハイフン付きで渡すなら数式、Excel内での見た目だけを整えるなら表示形式が便利です。
まとめ エクセルで数字にハイフンを挿入する関数と方法
エクセルで数字にハイフンを入れる方法は、元データを文字列として整形したいか、表示だけを変えたいかによって選びます。
3文字目の後ろにハイフンを入れるなら、=LEFT(A2,3)&”-“&RIGHT(A2,LEN(A2)-3)が基本です。
郵便番号は3桁と4桁、携帯電話番号は3桁と4桁と4桁に分ける数式を使うと、見やすい形式になります。
4桁ごとに区切る固定長の番号には、LEFT関数、MID関数、RIGHT関数を組み合わせる方法が有効です。
単に指定位置へハイフンを差し込むだけなら、REPLACE関数で削除文字数を0に設定する方法も覚えておくと役立ちます。
セル内の数値を変えずに見た目だけを整えたい場合は、ユーザー定義の表示形式を利用しましょう。
特に郵便番号や電話番号、16桁前後の管理番号では、先頭のゼロや15桁を超える数値の精度に注意が必要です。
用途に合わせて数式と表示形式を使い分け、見やすく間違いにくいExcelデータへ整えていきましょう。