Excelでデータを整える際、文字列の中にハイフン(-)を自動で挿入したいという場面はよくあります。たとえば、「20250802」という日付形式を「2025-08-02」としたり、「AB12345」という製品コードを「AB-12345」のように変換したりするケースです。
手作業で入力するのは時間がかかるうえにミスのもと。Excelの関数を使えば、こうしたハイフンの自動挿入を一括で効率的に行うことが可能です。
この記事では、「ハイフンを入れる関数」の使い方をわかりやすく解説し、実務で活用できる具体例とともに紹介します。
目次
- ✅ Excelでハイフンを入れるにはどうすればいい?
- ✅ よくあるパターン①:郵便番号にハイフンを入れる
- ✅ よくあるパターン②:電話番号にハイフンを入れる
- ✅ よくあるパターン③:製品コードにハイフンを入れる
- ✅ 応用:英字と数字の境目に自動でハイフンを入れる関数
- ・関数(配列関数・Office 365/Excel 2021以降対応)
- ✅ 複数箇所にハイフンを入れたい場合の関数
- ・16桁のカード番号を4桁ずつ区切る
- ✅ IF関数を組み合わせて柔軟に制御する方法
- ✅ Power Queryでハイフンを入れる(関数以外の自動化)
- ■ よくあるエラーと対処法
- ✅ ハイフン挿入に関する関数の早見表
- ■ まとめ|Excelの関数でハイフンを自在に操ろう
✅ Excelでハイフンを入れるにはどうすればいい?
Excelには「ハイフンを入れる専用関数」は存在しませんが、文字列の一部を抜き出してつなぐことでハイフンの挿入が可能です。主に以下の関数を使います:
LEFT()
:文字列の左から指定文字数を抽出RIGHT()
:文字列の右から指定文字数を抽出MID()
:文字列の途中を抜き出すTEXT()
:数値を書式付きで文字列に変換&
(アンパサンド):文字列を連結
これらを組み合わせて、自由な位置にハイフンを差し込む処理が可能になります。
【Excel】文字を置き換える関数まとめ|SUBSTITUTE・REPLACE・応用例と注意点
✅ よくあるパターン①:郵便番号にハイフンを入れる
元データ:
1234567
目標:
123-4567
関数:
=LEFT(A1,3) & "-" & RIGHT(A1,4)
解説:
LEFT(A1,3)
で最初の3桁を取得RIGHT(A1,4)
で最後の4桁を取得- それらの間に「-」を入れて結合
✅ よくあるパターン②:電話番号にハイフンを入れる
元データ:
09012345678
目標:
090-1234-5678
関数:
=TEXT(A1,"000-0000-0000")
解説:
TEXT()
関数を使えば、数値を電話番号のような書式で一発整形できます。数値が11桁であることが前提です。
✅ よくあるパターン③:製品コードにハイフンを入れる
元データ:
AB12345
目標:
AB-12345
関数(英字2桁+数字):
=LEFT(A1,2) & "-" & MID(A1,3,LEN(A1)-2)
応用:
文字数が変動する場合は、数値の開始位置を自動検出する式が必要です(詳しくは次の章で紹介)。
【Excel】英数字の間にハイフンを入れる方法|関数と置換でスマートに整形!
✅ 応用:英字と数字の境目に自動でハイフンを入れる関数
英数字が混在し、英字の長さが一定でない場合は、「英字と数字の境目」を見つけて分割する関数を使います。
・関数(配列関数・Office 365/Excel 2021以降対応)
=LEFT(A1,MATCH(TRUE,ISNUMBER(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)*1),0)-1) & "-" & MID(A1,MATCH(TRUE,ISNUMBER(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)*1),0),LEN(A1))
解説:
MATCH
とISNUMBER
を使って、数字が出てくる最初の位置を検出- そこまでを英字、それ以降を数字としてハイフンで結合
例:
入力 | 出力 |
---|---|
A123 | A-123 |
AB12345 | AB-12345 |
ABC12 | ABC-12 |
✅ 複数箇所にハイフンを入れたい場合の関数
複数の場所にハイフンを入れる場合も、LEFT
・MID
・RIGHT
の組み合わせで対応できます。
・16桁のカード番号を4桁ずつ区切る
元データ:
1234567812345678
出力:
1234-5678-1234-5678
関数:
=LEFT(A1,4) & "-" & MID(A1,5,4) & "-" & MID(A1,9,4) & "-" & RIGHT(A1,4)
【Excel】文字を置き換える関数まとめ|SUBSTITUTE・REPLACE・応用例と注意点
✅ IF関数を組み合わせて柔軟に制御する方法
「すでにハイフンが入っている場合は何もしない」といった処理も、IF
関数で実現可能です。
=IF(ISNUMBER(FIND("-",A1)), A1, LEFT(A1,3) & "-" & RIGHT(A1,4))
このように条件分岐させることで、すでに整形済みのデータを二重変換しない工夫ができます。
【Excel】「IFNA」と「IF関数」を組み合わせる方法|エラー処理と条件分岐を同時に行う実務テクニック
✅ Power Queryでハイフンを入れる(関数以外の自動化)
関数ではなく、Power Queryを使ってもハイフンの挿入は可能です。
操作手順:
- データ範囲を選択し、「データ」→「テーブルまたは範囲から」選択
- Power Queryエディターが開いたら、「列の追加」→「カスタム列」
- 式に
Text.Insert([列名], 3, "-")
などと入力(例:3文字目にハイフン挿入) - 整形された列を出力し、「閉じて読み込む」で完了
メリット:
- 元データを変更せず別列に出力可能
- 関数よりも構文がシンプル
- 複雑な文字列にも対応しやすい
■ よくあるエラーと対処法
問題 | 原因 | 解決策 |
---|---|---|
式がエラーになる | セルの内容が文字列でなく数値 | TEXT関数で文字列化するか、""で囲む |
ハイフンが重複 | すでにハイフンが入っている | IF(FIND("-",A1), A1, 式) で対応 |
番号の桁数がバラバラ | 関数内の固定文字数が合わない | MATCH 関数で境目を動的に検出する |
✅ ハイフン挿入に関する関数の早見表
用途 | 関数例 |
---|---|
郵便番号 1234567 → 123-4567 | =LEFT(A1,3)&"-"&RIGHT(A1,4) |
電話番号 09012345678 → 090-1234-5678 | =TEXT(A1,"000-0000-0000") |
英数字コード AB12345 → AB-12345 | =LEFT(A1,2)&"-"&MID(A1,3,LEN(A1)) |
境目自動検出 | MATCH と ISNUMBER を活用した式 |
複数ハイフン | LEFT ・MID ・RIGHT の組み合わせ |
■ まとめ|Excelの関数でハイフンを自在に操ろう
Excelでのハイフン挿入は、一見難しそうに見えても、関数を組み合わせれば誰でも手軽に自動化可能です。
特に以下のポイントを押さえておくと便利です:
- 定型フォーマット(郵便番号・電話番号など)→
LEFT
・RIGHT
・TEXT
関数で対応 - 文字列の長さが変動 →
MATCH
とISNUMBER
の組み合わせで自動判定 - 複数箇所に挿入 →
MID
を使った分割が有効 - 大量データ → Power Queryを活用するとスマート
関数での整形スキルを身につければ、日々の業務効率が格段に上がります。
手入力に頼らず、関数の力で正確かつスピーディなデータ処理を実現しましょう。