Excelで日常業務を行っていると、「文字の途中に別の文字や記号を追加したい」という場面は意外と多くあります。
たとえば、
- 「123456」を「123-456」にしたい(コードや郵便番号の区切り)
- 「ABCDEF」を「ABC-DEF」にしたい(商品コード整形)
- 「20231001」を「2023/10/01」にしたい(日付風フォーマット)
- 「09012345678」を「090-1234-5678」に変えたい(電話番号整形)
このような「Excelで文字を途中に追加する」作業は、手作業で1件ずつ編集するのは大変です。
しかし、Excelの関数・置換機能・フラッシュフィルを使えば、
数百件のデータでも一瞬で中間に文字を自動挿入できます。
この記事では、Excel標準機能だけで「文字列の途中に文字を追加する」方法を、
初心者から実務レベルまで分かりやすく解説します。
目次
- ✅ 基本:LEFT関数・RIGHT関数で文字の途中に文字を挿入する
- ・構文
- ・例1:6桁の数字の真ん中に「-」を挿入
- ・例2:8桁の日付文字列を「YYYY/MM/DD」形式にする
- ・関数のポイント
- ✅ MID関数で任意の位置に文字を差し込む(柔軟な挿入)
- ・構文
- ・例:A2の4文字目の前に「-」を挿入
- ・例:電話番号を「090-1234-5678」形式に変換
- ✅ CONCAT・TEXTJOIN関数で位置指定した文字挿入もスッキリ書ける
- ・例:社員番号にハイフンを挿入
- ✅ 置換(Ctrl + H)で既存セルに直接文字を一括追加
- ・操作手順
- ・例:6桁の数字の3桁目の後に「-」を挿入
- ✅ フラッシュフィル(Flash Fill)で途中に文字を自動挿入
- ・手順
- ✅ SUBSTITUTE関数で既存文字の途中に別の文字を差し込む
- ・構文
- ・例:特定の文字「A」の後に「-」を追加
- ・応用:指定回目の文字だけに挿入(第3引数)
- ✅ LEN関数と組み合わせて可変位置に文字を追加
- ・例:文字列の真ん中に自動的にハイフンを追加
- ✅ 実務応用例:途中に文字を追加して整形する場面
- ✅ 関数を使った場合の固定方法(値貼り付け)
- ・手順
- ✅ RPA・Power Automateとの連携で自動整形を完全自動化
- ✅ まとめ:Excelで文字を途中に追加して整形を効率化しよう
✅ 基本:LEFT関数・RIGHT関数で文字の途中に文字を挿入する
最も基本的な方法は、LEFT関数とRIGHT関数を組み合わせて使う方法です。
文字列を左右で分け、その間に追加文字を入れる仕組みです。
・構文
"=LEFT(文字列, 位置) & "追加文字" & RIGHT(文字列, 残り文字数)"
・例1:6桁の数字の真ん中に「-」を挿入
"=LEFT(A2,3) & "-" & RIGHT(A2,3)"
A2が「123456」の場合、「123-456」と表示されます。
コード番号や郵便番号の区切り挿入でよく使われるパターンです。
・例2:8桁の日付文字列を「YYYY/MM/DD」形式にする
"=LEFT(A2,4) & "/" & MID(A2,5,2) & "/" & RIGHT(A2,2)"
A2が「20231001」の場合、「2023/10/01」と表示されます。
MID関数を使うことで、真ん中の部分を抽出して間に挟むことができます。
・関数のポイント
- LEFT(A2, n):左からn文字を取得
- MID(A2, start, length):指定位置から特定数の文字を抽出
- RIGHT(A2, n):右からn文字を取得
- 「&」でそれぞれを結合し、間に追加文字を挟む
この組み合わせを覚えるだけで、文字の途中への自動追加が自在に行えます。
✅ MID関数で任意の位置に文字を差し込む(柔軟な挿入)
LEFT関数とRIGHT関数を使う方法は分かりやすいですが、
複雑な文字列処理をしたい場合にはMID関数を中心に使うと便利です。
・構文
"=LEFT(A2,挿入位置-1) & "追加文字" & MID(A2,挿入位置,文字数)"
・例:A2の4文字目の前に「-」を挿入
"=LEFT(A2,3) & "-" & MID(A2,4,LEN(A2)-3)"
A2が「ABCDE」なら、「ABC-DE」と表示されます。
コードの区切りや識別番号整形でよく使われます。
・例:電話番号を「090-1234-5678」形式に変換
"=LEFT(A2,3) & "-" & MID(A2,4,4) & "-" & RIGHT(A2,4)"
A2が「09012345678」なら、「090-1234-5678」となります。
このようにMID関数を使えば、どの位置にでも文字を柔軟に挿入できます。
参考:【Excel】TRIM関数とLEN関数の活用法とは?Excelで文字列処理をスマートにする便利テクニックを徹底解説
✅ CONCAT・TEXTJOIN関数で位置指定した文字挿入もスッキリ書ける
Microsoft 365以降では、CONCAT関数やTEXTJOIN関数を使えば、
可読性の高い式で途中挿入を実現できます。
・例:社員番号にハイフンを挿入
"=TEXTJOIN("-",TRUE,LEFT(A2,3),MID(A2,4,3))"
A2が「ABCDEF」の場合、「ABC-DEF」となります。
TEXTJOIN関数では、複数文字を指定の区切り文字で結合できるため、
複数箇所に同じ文字を入れるときも便利です。
・POINT
- TEXTJOINは「空白セルを無視」できる
- 「,」区切りで複数項目を指定できる
- LEFT・MID・RIGHTと併用すると柔軟性が高い
関数を使うだけで、表の見た目を統一したり、
ID・コードなどの書式整形を自動化できます。
参考:【Excel】セルの文字列を結合する方法|関数・演算子・TEXTJOIN・実務活用まで徹底解説
✅ 置換(Ctrl + H)で既存セルに直接文字を一括追加
関数を使わずに、既存のセルに直接文字を挿入したい場合は、
Excelの「置換機能」を使うと簡単に実現できます。
・操作手順
- 対象範囲を選択
- Ctrl + H(検索と置換)を開く
- 「検索する文字列」欄に「???」などのワイルドカードを入力
- 「置換後の文字列」欄に「???-」のように追加文字を含める
- [オプション] → 「ワイルドカードを使用する」にチェック
・例:6桁の数字の3桁目の後に「-」を挿入
- 「検索する文字列」:
???
- 「置換後の文字列」:
&-
- 「すべて置換」をクリック
これで「123456」→「123-456」と一括変換されます。
数式を使わずに即時反映できるのが最大のメリットです。
・注意点
- ワイルドカードを使う際は「?」が1文字の意味になる
- 桁数が異なるデータには不向き
- 変換前に必ずコピーを取っておくこと
一括処理なので強力ですが、元データを上書きするため慎重に使いましょう。
✅ フラッシュフィル(Flash Fill)で途中に文字を自動挿入
Excel 2013以降であれば、「フラッシュフィル」機能を使うと、
自動的にパターンを認識して途中に文字を追加してくれます。
・手順
- A列に元データ(例:「123456」「654321」など)
- B列の1行目に「123-456」と入力
- [データ] → [フラッシュフィル] → 実行(または Ctrl + E)
すると、Excelが自動的にパターンを認識し、
「654-321」「789-123」なども自動補完してくれます。
・POINT
- 関数不要、初心者でも即使える
- 一度設定すれば一括処理が可能
- 数値・文字列・記号すべて対応
関数が苦手な方でも安心して利用できる強力な時短機能です。
✅ SUBSTITUTE関数で既存文字の途中に別の文字を差し込む
「特定の位置ではなく、特定の文字の後に挿入したい」場合は、
SUBSTITUTE関数を使うのが便利です。
・構文
"=SUBSTITUTE(文字列,"検索文字","検索文字"&"追加文字")"
・例:特定の文字「A」の後に「-」を追加
"=SUBSTITUTE(A2,"A","A-")"
A2が「ABAC」なら、「A-BA-C」と表示されます。
特定の文字を目印にして挿入できるため、
「記号の後にスペースを入れる」などの用途にも最適です。
・応用:指定回目の文字だけに挿入(第3引数)
"=SUBSTITUTE(A2,"A","A-",2)"
A2が「AABB」なら、2回目の「A」の後にだけ「-」を追加します。
部分的な整形も可能で、データクリーニング作業に役立ちます。
参考:【Excel】複数の文字列を関数で一括置換する方法|SUBSTITUTE関数・置換リストの解説
✅ LEN関数と組み合わせて可変位置に文字を追加
データの長さが一定でない場合、LEN関数を使って動的に位置を指定できます。
・例:文字列の真ん中に自動的にハイフンを追加
"=LEFT(A2,INT(LEN(A2)/2)) & "-" & RIGHT(A2,LEN(A2)-INT(LEN(A2)/2))"
A2が「ABCDEFG」なら「ABC-DEF」、A2が「12345678」なら「1234-5678」。
文字数に応じて中間位置を自動判定します。
・POINT
LEN関数を使えば、文字数が異なるデータでも柔軟に対応できます。
会員番号や発注番号など、桁が変動するケースに非常に便利です。
✅ 実務応用例:途中に文字を追加して整形する場面
Excelで「文字を途中に追加する」技術は、実務の多くの場面で役立ちます。
用途 | 具体例 | 使う関数 |
---|---|---|
郵便番号整形 | 1234567 → 123-4567 | LEFT+RIGHT |
商品コード整形 | ABCDEF → ABC-DEF | MID+LEFT+RIGHT |
電話番号整形 | 09012345678 → 090-1234-5678 | MID+RIGHT |
日付整形 | 20231001 → 2023/10/01 | MID+LEFT+RIGHT |
テキスト変換 | 田中太郎 → 田中 太郎 | LEFT+RIGHT or SUBSTITUTE |
見た目を整えるだけでなく、
Power AutomateやRPAでの自動処理前のデータ整形としても有効です。
✅ 関数を使った場合の固定方法(値貼り付け)
関数で整形した結果をそのまま使う場合は、値貼り付けで固定しておきましょう。
・手順
- 関数結果のセルを選択
- Ctrl + C(コピー)
- 右クリック → 「形式を選択して貼り付け」 → 「値」を選択
これで、関数が削除されても文字が保持されます。
✅ RPA・Power Automateとの連携で自動整形を完全自動化
Excelで途中に文字を追加する処理は、RPAツールと相性抜群です。
たとえば:
- UiPathでExcelデータを読み込み → 指定列に自動で「-」を挿入 → 保存
- Power AutomateでExcelをトリガーにして「郵便番号フォーマット化」自動実行
Excel関数で整形済みテンプレートを用意しておけば、
完全自動でデータをきれいに整形するシステムが構築できます。
✅ まとめ:Excelで文字を途中に追加して整形を効率化しよう
- LEFT・MID・RIGHT関数で位置を指定して挿入できる
- SUBSTITUTEで特定文字の後に追加も可能
- フラッシュフィルでパターン自動認識が可能
- 置換機能なら関数不要で即一括処理
- LEN関数で可変長データにも対応
- Power QueryやRPAで完全自動化も可能
Excelで「文字を途中に追加」できるようになると、
コード整形・ラベル作成・帳票自動化など、業務の正確性とスピードが大幅に向上します。
単なる文字操作ではなく、“データ整形スキル”として業務効率を劇的に高める武器になります。
ぜひこの記事のテクニックを活用して、毎日のExcel作業をスマートに自動化していきましょう。