Excelでは、数値データを扱う機会が多くありますが、その中でも「数字と数字の間に記号や文字を入れたい」と思ったことはないでしょうか?
たとえば、以下のような加工をしたいケースが該当します。
- 「1234567」を「123-4567」に変換したい(郵便番号など)
- 「20250802」を「2025/08/02」に変換したい(日付整形)
- 「09012345678」を「090-1234-5678」にしたい(電話番号表記)
こうした整形は一見複雑そうに見えますが、Excel関数を活用すれば簡単に実現できます。
この記事では、「Excel 数字の間に を入れる」方法について、具体的な関数例と実用シーンごとのテクニックをわかりやすく解説します。
目次
- ✅ 数字の間に任意の文字を入れる基本テクニック
- ・「1234567」→「123-4567」
- ✅ 使用頻度が高いパターン別整形例
- ・郵便番号:「1234567」→「123-4567」
- ・電話番号:「09012345678」→「090-1234-5678」
- ・日付数値:「20250802」→「2025/08/02」
- ✅ 文字列として表示したいときのポイント
- ✅ 文字の挿入を関数で一括自動化する例
- ・「123456789」→「12-34-56-789」
- ✅ SUBSTITUTE関数との違い・併用方法
- ・SUBSTITUTEの基本構文
- ✅ TEXTJOIN関数+MIDで1文字ずつ間に記号を入れる
- ✅ ユーザー定義書式で「見た目だけ整形」する方法
- ・「0000000」→「000-0000」と見せたい
- ■ よくあるトラブルとその対処法
- ■ まとめ|数字の間に記号を入れるなら分割+連結が鉄則!
- ・おすすめ構成
✅ 数字の間に任意の文字を入れる基本テクニック
もっともシンプルな方法は、LEFT、MID、RIGHT関数などを使って文字列を分割し、&演算子で連結する方法です。
・「1234567」→「123-4567」
=LEFT(A1,3) & "-" & RIGHT(A1,4)
解説:
LEFT(A1,3):先頭3文字を取得(例:123)RIGHT(A1,4):末尾4文字を取得(例:4567)"& "-" &":文字列をハイフンで結合
このように、分割+連結のセットで自由に整形が可能になります。
✅ 使用頻度が高いパターン別整形例
・郵便番号:「1234567」→「123-4567」
=LEFT(TEXT(A1,"0000000"),3) & "-" & RIGHT(TEXT(A1,"0000000"),4)
※先頭に「0」がある場合でも、TEXT関数で桁数を固定できます。
・電話番号:「09012345678」→「090-1234-5678」
=LEFT(A1,3) & "-" & MID(A1,4,4) & "-" & RIGHT(A1,4)
- 先頭3桁(090)
- 中間4桁(1234)
- 最後4桁(5678)
【Excel】ハイフンを入れる関数の使い方|自動で整形する便利テクニックを徹底解説!
・日付数値:「20250802」→「2025/08/02」
=LEFT(A1,4) & "/" & MID(A1,5,2) & "/" & RIGHT(A1,2)
- 年:4桁
- 月:2桁
- 日:2桁
TEXT関数で日付形式に変換しても良いですが、文字列のまま整形したい場合はこちらの方法が有効です。
【Excel】セルに曜日だけを入れる方法【TEXT関数・書式設定・手入力の使い分け】
✅ 文字列として表示したいときのポイント
上記の方法は、数値を文字列として処理する前提です。
そのため、以下の点に注意しましょう:
TEXT関数で「0000000」などの書式指定を活用する- セルの書式設定を「標準」または「文字列」にしておく
- 桁数が揃っていないと正しく分割されない可能性がある
【Excel】複数の文字列を関数で一括置換する方法|SUBSTITUTE関数・置換リストの解説
✅ 文字の挿入を関数で一括自動化する例
以下は、任意の桁数のデータに対して、決まった位置に記号を一括で入れるパターンです。
・「123456789」→「12-34-56-789」
=LEFT(A1,2) & "-" & MID(A1,3,2) & "-" & MID(A1,5,2) & "-" & RIGHT(A1,3)
このように、MID関数を重ねることで、細かく区切って整形できます。
✅ SUBSTITUTE関数との違い・併用方法
SUBSTITUTE関数は文字列内の特定の文字を置き換える関数であり、位置指定による「間に挿入」には不向きです。
・SUBSTITUTEの基本構文
=SUBSTITUTE(対象文字列, 検索文字列, 置換文字列)
例:「123456」→「1,2,3,4,5,6」にする場合は不適
このようなケースにはMIDとTEXTJOINを使ったアプローチが有効です。
✅ TEXTJOIN関数+MIDで1文字ずつ間に記号を入れる
文字列内のすべての数字の間に「,(カンマ)」を入れたいときには、TEXTJOIN関数が便利です(Excel 2016以降)。
数式例:
=TEXTJOIN(",",TRUE,MID(A1,ROW(INDIRECT("1"&":"&LEN(A1))),1))
ポイント:
MID(A1,ROW(INDIRECT("1:LEN(A1)")),1):1文字ずつ分解TEXTJOIN(",",TRUE,...):1文字ずつをカンマで連結
※配列数式なので、Ctrl + Shift + Enterが必要な場合があります(バージョンにより異なる)
✅ ユーザー定義書式で「見た目だけ整形」する方法
「数字の間に文字を入れたいけど、**中身はそのままにしたい(表示だけ)」という場合は、ユーザー定義の表示形式を使うのもおすすめです。
・「0000000」→「000-0000」と見せたい
手順:
- 対象セルを選択
- 右クリック→「セルの書式設定」→「表示形式」→「ユーザー定義」
- 表示形式に以下を入力:
000-0000
これにより、入力値「1234567」が「123-4567」と表示されます。
■ よくあるトラブルとその対処法
| 問題 | 原因 | 対処法 |
|---|---|---|
| ハイフンの位置がずれる | 桁数が足りない | TEXT(A1,"0000000")で桁揃え |
| 式が文字列として表示される | =をつけ忘れた | 関数式には=を忘れずに |
| 書式設定が効かない | セルが文字列になっている | 「標準」や「数値」に変更 |
■ まとめ|数字の間に記号を入れるなら分割+連結が鉄則!
Excelで「数字の間に記号や文字を入れる」作業は、関数を組み合わせれば簡単に実現できます。
・おすすめ構成
LEFT:先頭の桁を取り出すMID:中間の桁を取り出すRIGHT:末尾の桁を取り出すTEXTJOIN:1文字ずつの区切りに最適(応用)
また、ユーザー定義書式を使えば、見た目だけの整形も可能です。
表記の統一や業務の効率化のためにも、ぜひ本記事で紹介した方法を活用してみてください。データ加工や帳票作成の質がグッと上がります。