Excelでデータを加工していると、文字列の途中にハイフン(-)を挿入したいシーンが頻繁に発生します。特に以下のようなケースで多く利用されます。
- 郵便番号にハイフンを挿入したい(例:1234567 → 123-4567)
- 電話番号にハイフンを入れたい(例:08012345678 → 080-1234-5678)
- 商品コードやIDを特定の形式に整えたい
手動で一つひとつ修正するのは非常に手間がかかるため、本記事では 関数を活用して文字列の特定位置にハイフンを挿入する方法 を詳しくご紹介します。
一括処理や表示形式の調整など、実務で役立つテクニックも多数紹介しますので、ぜひ最後までご覧ください。
目次
- ✅ LEFT・MID・RIGHT関数で文字列にハイフンを入れる基本
- ・郵便番号「1234567」→「123-4567」
- ・電話番号(11桁)→「080-1234-5678」
- ✅ ハイフンを追加する位置が固定されていない場合の工夫
- ・商品コード「ABC123456」→「ABC-123456」
- ✅ TEXT関数で数値形式の文字列にハイフンを加える
- ・郵便番号(1234567 → 123-4567)
- ・電話番号(08012345678 → 080-1234-5678)
- ✅ SUBSTITUTE関数で特定位置の文字を置換してハイフンを追加
- ・「ABCDEF」を「ABC-DEF」にしたい場合(3文字目のあとにハイフン)
- ✅ ユーザー定義の表示形式でハイフンを入れる(見た目だけ変える)
- ✅ 文字列にハイフンを入れた結果を値として残す方法
- ✅ エラーや例外処理にも備える:IF・LEN・IFERRORの活用
- ・桁数をチェックして条件分岐する例
- ・エラーを非表示にする例
- ■ よくある文字列とハイフン挿入の組み合わせ一覧
- ■ まとめ|Excelで文字列にハイフンを入れるなら「位置」と「形式」を意識しよう
✅ LEFT・MID・RIGHT関数で文字列にハイフンを入れる基本
最も汎用的な方法は、LEFT・MID・RIGHT関数を組み合わせて、指定した位置にハイフンを挿入する方法です。
・郵便番号「1234567」→「123-4567」
=LEFT(A1,3) & "-" & RIGHT(A1,4)
この数式では以下の処理が行われています:
LEFT(A1,3):左から3文字(=123)"‐":ハイフンを挿入RIGHT(A1,4):右から4文字(=4567)
・電話番号(11桁)→「080-1234-5678」
=LEFT(A1,3) & "-" & MID(A1,4,4) & "-" & RIGHT(A1,4)
このように、文字列の長さに応じて関数をカスタマイズすることで、柔軟にハイフンの位置を調整できます。
✅ ハイフンを追加する位置が固定されていない場合の工夫
例えば「社員ID:A123456」や「商品コード:Z-0012345」など、文字数が不規則な文字列に対してハイフンを加えるには、FIND関数やLEN関数を活用することもあります。
ただし、以下のように 「桁数が一定である前提」 があるほうが処理は簡単です。
・商品コード「ABC123456」→「ABC-123456」
=LEFT(A1,3) & "-" & RIGHT(A1,LEN(A1)-3)
この数式は、「先頭3文字の英字」と「残りの数字」をハイフンで区切っています。
【Excel】IFERRORで「0」を表示させない!Excelでゼロを消すベストな方法とは?
✅ TEXT関数で数値形式の文字列にハイフンを加える
CSVファイルやシステム出力などからインポートされた郵便番号や電話番号は、数値として認識されて先頭の0が消えてしまうことがあります。
そのような場合は、TEXT関数を使って文字列として整形しながらハイフンを加えると便利です。
・郵便番号(1234567 → 123-4567)
=TEXT(A1,"000-0000")
・電話番号(08012345678 → 080-1234-5678)
=TEXT(A1,"000-0000-0000")
このようにTEXT関数を使えば、数値のまま見た目だけ整形することが可能です。
【Excel】「0」を正しく表示する方法【先頭の0・ゼロのみ・非表示回避など実用テクニック】
✅ SUBSTITUTE関数で特定位置の文字を置換してハイフンを追加
SUBSTITUTE関数は、文字列の中の特定の文字を別の文字に置き換える際に使用しますが、次のような応用も可能です。
・「ABCDEF」を「ABC-DEF」にしたい場合(3文字目のあとにハイフン)
=REPLACE(A1,4,0,"-")
REPLACE(元の文字列, 開始位置, 文字数, 挿入文字) の形式で、4文字目の前にハイフンを挿入します。
【Excel】複数の文字列を関数で一括置換する方法|SUBSTITUTE関数・置換リストの解説
✅ ユーザー定義の表示形式でハイフンを入れる(見た目だけ変える)
実際のセルの値はそのままに、表示上だけハイフンを入れたい場合は、「セルの書式設定」のユーザー定義が便利です。
操作手順:
- 対象セルを選択
- 右クリック →「セルの書式設定」
- 「表示形式」タブ →「ユーザー定義」
- 以下の書式を入力:
郵便番号:
000-0000
電話番号(携帯):
000-0000-0000
法人番号(13桁):
000-000-0000000
この方法なら、データは「数値」として保持しつつ、見た目を整えるだけの対応が可能です。
✅ 文字列にハイフンを入れた結果を値として残す方法
関数で作成した「ハイフン入りの文字列」を、関数なしの固定値として残すには、以下の手順を使います。
手順:
- 関数で整形されたセルを選択(例:B列)
- Ctrl+C でコピー
- 貼り付け先を選択 → 右クリック →「値のみ貼り付け」
これにより、関数のない「ハイフン付き文字列」が値として保存されます。
✅ エラーや例外処理にも備える:IF・LEN・IFERRORの活用
ハイフンを入れる対象の文字列が 空欄だったり桁数が足りなかったりすると、エラーになることもあります。
・桁数をチェックして条件分岐する例
=IF(LEN(A1)=7, LEFT(A1,3) & "-" & RIGHT(A1,4), "")
・エラーを非表示にする例
=IFERROR(LEFT(A1,3) & "-" & RIGHT(A1,4), "")
このような処理を加えることで、より実務に強いシートが作れます。
■ よくある文字列とハイフン挿入の組み合わせ一覧
| 元の文字列 | 目的 | 使用する関数例 |
|---|---|---|
| 1234567 | 郵便番号 | =LEFT(A1,3)&"-"&RIGHT(A1,4) |
| 08012345678 | 電話番号 | =TEXT(A1,"000-0000-0000") |
| ABC123456 | 商品コード | =LEFT(A1,3)&"-"&RIGHT(A1,LEN(A1)-3) |
| 1234567890 | 個人番号 | =TEXT(A1,"0000-0000-0000") |
■ まとめ|Excelで文字列にハイフンを入れるなら「位置」と「形式」を意識しよう
Excelで文字列にハイフンを入れる処理は、関数と表示形式を組み合わせることで非常に柔軟に対応できます。
| 方法 | 特徴 | おすすめ場面 |
|---|---|---|
| LEFT/MID/RIGHT | 指定位置に自由に挿入可能 | 郵便番号や商品コード |
| TEXT関数 | 数値から整形しやすい | 電話番号や13桁番号 |
| REPLACE | 任意位置に挿入できる | 柔軟なフォーマット変更 |
| ユーザー定義書式 | 見た目だけ変更 | 印刷・画面表示重視時 |
状況に応じて、これらの方法を使い分けることで、効率的かつ見た目も整ったデータ処理が実現します。
日々の業務に役立つExcelテクニックとして、ぜひ活用してみてください。