【Excel】文字列を結合する方法5選|&・CONCAT・TEXTJOINの違いと使い分け
Excelで文字列を結合(連結)するには、&(アンパサンド)演算子を使う方法が最も簡単です。セルの文字をつなげたい場合に最初に覚えるべき方法です。
=A1&B1ただし、区切り文字を入れたい場合や大量のセルを一括結合したい場合は、CONCAT関数やTEXTJOIN関数がより便利です。
この記事では、Excelで文字列を結合する5つの方法(&演算子・CONCAT関数・CONCATENATE関数・TEXTJOIN関数・フラッシュフィル)の違いと使い分けを、初心者にもわかりやすく解説します。

「姓と名をくっつけたい」「住所を1つのセルにまとめたい」など、Excelでは文字列の結合はよく使う操作です。5つの方法それぞれの特徴を知って、場面に応じて使い分けましょう。
この記事でわかること
- Excelで文字列を結合する5つの方法とその違い
- &演算子、CONCAT、CONCATENATE、TEXTJOIN関数の書き方
- 結合時にスペースや区切り文字を入れる方法
- 文字列と日付を結合するとシリアル値になる問題の解決方法
- 結合した文字列を数値に変換する方法
- バージョン別のおすすめ結合方法
Sub 文字列一括結合()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim i As Long
For i = 2 To 5
ws.Cells(i, “D”).Value = _
ws.Cells(i, “A”).Value & ” “ & _
ws.Cells(i, “B”).Value & “(” & _
ws.Cells(i, “C”).Value & “)”
Next i
MsgBox “4件の文字列結合が完了しました”
End Sub
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 姓 | 名 | 部署 | 結合結果 |
| 2 | 田中 | 太郎 | 営業 | 田中 太郎(営業) |
| 3 | 鈴木 | 花子 | 開発 | 鈴木 花子(開発) |
| 4 | 佐藤 | 一郎 | 総務 | 佐藤 一郎(総務) |
| 5 | 山田 | 美咲 | 営業 | 山田 美咲(営業) |
☝ &演算子やCONCATENATE関数と同じ処理をVBAで自動化できます
文字列結合の方法を一目で比較【比較表】
まず、5つの結合方法の特徴を比較表で確認しましょう。
| 方法 | 書式例 | 対応バージョン | セル範囲指定 | 区切り文字 | おすすめ度 |
|---|---|---|---|---|---|
| &演算子 | =A1&B1 | 全バージョン | 不可(1つずつ指定) | 手動で追加 | ★★★★★ |
| CONCATENATE | =CONCATENATE(A1,B1) | 全バージョン | 不可(1つずつ指定) | 手動で追加 | ★★★☆☆ |
| CONCAT | =CONCAT(A1:C1) | Excel 2019以降/365 | 可能 | 手動で追加 | ★★★★☆ |
| TEXTJOIN | =TEXTJOIN(",",TRUE,A1:C1) | Excel 2019以降/365 | 可能 | 自動挿入 | ★★★★★ |
| フラッシュフィル | Ctrl+E | Excel 2013以降 | – | パターン認識 | ★★★☆☆ |

結論を先にお伝えすると、基本は&演算子、区切り文字を入れたい場合はTEXTJOIN、Excel 2016以前はCONCATENATEを使えばOKです。
方法1: &(アンパサンド)演算子【最もシンプル】
&演算子は、Excelの全バージョンで使える最もシンプルな文字列結合の方法です。
基本の書式
=A1&B1使い方の例
| A列(姓) | B列(名) | 数式 | 結果 |
|---|---|---|---|
| 田中 | 太郎 | =A2&B2 | 田中太郎 |
| 佐藤 | 花子 | =A3&B3 | 佐藤花子 |
スペースを入れて結合する
姓と名の間にスペースを入れたい場合は、" " を間に挟みます。
=A2&" "&B2結果: 「田中 太郎」
複数セルの結合
3つ以上のセルを結合する場合も、&で繋げていきます。
=A2&" "&B2&" "&C2
&演算子は数式が直感的でわかりやすいのがメリットです。2〜3個のセルを結合する場面ではこれが一番おすすめですよ。
方法2: CONCATENATE関数【旧バージョン向け】
CONCATENATE関数は、Excelの全バージョンで使える文字列結合(セル連結)の関数です。Excel 2016以前のバージョンを使っている方は、この関数が主力になります。
基本の書式
=CONCATENATE(文字列1, 文字列2, ...)使い方の例
| やりたいこと | 数式 | 結果 |
|---|---|---|
| 姓と名を結合 | =CONCATENATE(A2, B2) | 田中太郎 |
| 姓と名をスペース区切りで結合 | =CONCATENATE(A2, " ", B2) | 田中 太郎 |
| 3つのセルを結合 | =CONCATENATE(A2, " ", B2, " ", C2) | 東京都 新宿区 西新宿 |
| 固定テキスト付き結合 | =CONCATENATE(A2, "様") | 田中様 |
⚠️ 注意: CONCATENATE関数はセル範囲(A1:C1)の指定ができません。セルを1つずつカンマで区切って指定する必要があります。多数のセルを結合する場合は、&演算子やCONCAT関数の方が効率的です。

CONCATENATE関数は、Excel 2019以降ではCONCAT関数に置き換えが推奨されています。Excel 2016以前をお使いの方はCONCATENATEを、Excel 2019以降の方はCONCATを使いましょう。
方法3: CONCAT関数【Excel 2019以降】
CONCAT関数は、CONCATENATEの後継として登場した関数です。セル範囲を指定して一括結合できるのが大きな特徴です。
基本の書式
=CONCAT(文字列1, 文字列2, ...)
=CONCAT(セル範囲)CONCATENATEとの違い
| 項目 | CONCATENATE | CONCAT |
|---|---|---|
| セル範囲指定 | 不可 =CONCATENATE(A1,B1,C1) | 可能 =CONCAT(A1:C1) |
| 対応バージョン | 全バージョン | Excel 2019以降/365 |
| 機能 | 文字列結合のみ | 文字列結合のみ(範囲指定対応) |
使い方の例
=CONCAT(A2:C2) → 東京都新宿区1-2-3
=CONCAT(A2, " ", B2) → 田中 太郎⚠️ バージョン注意: Excel 2016以前では #NAME? エラーが表示されます。その場合はCONCATENATE関数を使ってください。
方法4: TEXTJOIN関数【区切り文字対応・最強】
TEXTJOIN関数は、区切り文字を自動で挿入しながら結合できる関数です。大量のセルを区切り文字付きで結合する場合に最も効率的です。
基本の書式
=TEXTJOIN(区切り文字, 空の文字列を無視, 文字列1, ...)| 引数 | 説明 | 例 |
|---|---|---|
| 区切り文字 | セル間に挿入する文字 | "," " " "-" |
| 空の文字列を無視 | TRUE: 空白セルを飛ばす / FALSE: 空白も結合 | TRUE推奨 |
| 文字列 | 結合するセルやセル範囲 | A1:E1 |
使い方の例
=TEXTJOIN(",", TRUE, A2:E2) → りんご,みかん,ぶどう,メロン,いちご
=TEXTJOIN(" ", TRUE, A2:C2) → 東京都 新宿区 1-2-3
=TEXTJOIN("-", TRUE, A2:C2) → 2026-02-19空白セルの処理
TEXTJOIN関数は第2引数で空白セルの扱いを制御できます。
| 第2引数 | 動作 | 例(C3が空白の場合) |
|---|---|---|
| TRUE | 空白セルを無視 | りんご,みかん,いちご |
| FALSE | 空白も結合(区切り文字が連続) | りんご,みかん,,いちご |

TEXTJOIN関数は、CSVデータの生成や住所の結合で大活躍します。区切り文字を自動で入れてくれるので、&演算子で A1&","&B1&","&C1 と書くより遥かにスッキリしますよ。
⚠️ バージョン注意: Excel 2016以前では使用できません。
方法5: フラッシュフィル【関数不要】
フラッシュフィルは、パターンを認識してExcelが自動的にデータを埋めてくれる機能です。関数を使わずに文字列を結合できます。
使い方
- 結合結果のサンプルを1つ手入力する(例: 「田中 太郎」)
- 次のセルを選択して Ctrl + E を押す
- Excelがパターンを認識して、残りのセルを自動入力
メリット・デメリット
| メリット | デメリット |
|---|---|
| 関数を覚えなくていい | 結果が「値」なので元データ変更に追従しない |
| 複雑なパターンにも対応 | パターン認識が意図通りにならない場合がある |
| 操作がシンプル | Excel 2013以降のみ |

フラッシュフィルは「一度だけ結合すればOK」という場面で便利です。ただし、元のデータが変更されても結合結果は更新されないので、データが頻繁に変わる場合は関数を使いましょう。フラッシュフィルの詳しい使い方はオートフィルの使い方で解説しています。
VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。
LINEでExcelを気軽に学べる
実務で使える活用例
例1: 姓と名の結合(スペース区切り)
=A2&" "&B2または
=TEXTJOIN(" ", TRUE, A2, B2)| 姓(A列) | 名(B列) | 結合結果 |
|---|---|---|
| 田中 | 太郎 | 田中 太郎 |
| 佐藤 | 花子 | 佐藤 花子 |
例2: 住所の結合
=TEXTJOIN("", TRUE, A2:D2)| 都道府県 | 市区町村 | 町名 | 番地 | 結合結果 |
|---|---|---|---|---|
| 東京都 | 新宿区 | 西新宿 | 1-2-3 | 東京都新宿区西新宿1-2-3 |
例3: CSVデータの生成
=TEXTJOIN(",", TRUE, A2:E2)結果: P001,りんご,青森県,150,在庫あり
例4: 日付と文字列の結合
文字列と日付を直接&で結合すると、日付がシリアル値(数値)になってしまいます。
=A2&B2 → 更新日:46072(シリアル値になってしまう)解決方法: TEXT関数で日付のフォーマットを指定します。
=A2&TEXT(B2, "yyyy/mm/dd") → 更新日:2026/02/19よく使う日付フォーマット:
| フォーマット | 表示例 |
|---|---|
"yyyy/mm/dd" | 2026/02/19 |
"yyyy年mm月dd日" | 2026年02月19日 |
"m月d日" | 2月19日 |
"ggge年m月d日" | 令和8年2月19日 |

日付のシリアル値問題は、Excel初心者がよくハマるポイントです。「日付がおかしな数字になった!」という方は、TEXT関数を使えば解決しますよ。
結合した文字列を数値に変換する方法
文字列として結合した数値(例: “100”+”200″ = “100200”)を、計算可能な数値に戻したい場合はVALUE関数を使います。
=VALUE(A2&B2)| 数式 | 結果 | 型 |
|---|---|---|
=A2&B2 | 100200(文字列) | 文字列 |
=VALUE(A2&B2) | 100200(数値) | 数値 |
よくあるトラブルと解決方法
結合できない・エラーが出る場合
| 症状 | 原因 | 解決方法 |
|---|---|---|
#NAME? エラー | CONCAT/TEXTJOIN未対応バージョン | Excel 2016以前→CONCATENATE か & を使う |
| 日付がシリアル値になる | 日付のフォーマットが指定されていない | TEXT関数で書式を指定(上記参照) |
| 数値が文字列として結合される | &演算子は結果を文字列にする | VALUE関数で数値に変換 |
| 空白セルがあると余計な区切り文字が入る | 空白セルも結合対象になっている | TEXTJOIN関数の第2引数をTRUEに |
| 結合結果が途中で切れる | セルの表示幅不足 or 文字数上限 | 列幅を広げる(1セルの上限は32,767文字) |
文字列結合をVBAで一括処理する方法
CONCATENATE関数や&演算子での文字列結合をVBAマクロで自動化すれば、複数セルの結合を一括で実行できます。
' セルの文字列を一括結合するマクロ
Sub 文字列一括結合()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim i As Long
For i = 2 To 5
ws.Cells(i, "D").Value = _
ws.Cells(i, "A").Value & " " & _
ws.Cells(i, "B").Value & "(" & _
ws.Cells(i, "C").Value & ")"
Next i
MsgBox "4件の文字列結合が完了しました"
End Sub
VBAマクロの実行結果は記事冒頭のインタラクティブデモで確認できます。ボタンを押すとアニメーションで動作をシミュレーションします。
よくある質問(FAQ)
Q: Excelで文字列を結合するにはどうすればいいですか?
A: 最も簡単な方法は&(アンパサンド)演算子です。=A1&B1 と入力するだけで2つのセルの文字列を結合できます。区切り文字を入れたい場合はTEXTJOIN関数が便利です。
Q: &(アンパサンド)とCONCAT関数の違いは何ですか?
A: 基本的な結合機能は同じですが、CONCAT関数はセル範囲(A1:C1)を一括指定できる点が異なります。2〜3セルの結合なら&演算子、多数のセルを結合するならCONCAT関数がおすすめです。なお、CONCAT関数はExcel 2019以降でのみ使用可能です。
Q: CONCATENATE関数は古いですか?代わりに何を使えばいいですか?
A: はい、CONCATENATE関数はMicrosoftからCONCAT関数への移行が推奨されています。Excel 2019以降をお使いの方はCONCAT関数を、Excel 2016以前の方は引き続きCONCATENATEを使ってください。CONCATENATE関数は現在も動作しますが、将来的に廃止される可能性があります。
Q: TEXTJOIN関数で区切り文字を入れながら結合するには?
A: =TEXTJOIN("区切り文字", TRUE, セル範囲) と入力します。例: =TEXTJOIN(",", TRUE, A1:E1) でカンマ区切りの文字列が生成されます。第2引数のTRUEは空白セルを無視する設定です。
Q: Excel 2016以前でTEXTJOIN関数は使えますか?
A: いいえ、TEXTJOIN関数はExcel 2019以降(またはMicrosoft 365)でのみ使用可能です。Excel 2016以前では、&演算子やCONCATENATE関数で区切り文字を手動で追加してください。例: =A1&","&B1&","&C1
Q: 文字列と日付を結合すると数値になってしまう場合の対処法は?
A: TEXT関数を使って日付のフォーマットを指定してください。例: =A1&TEXT(B1, "yyyy/mm/dd") これで日付が「2026/02/19」のような文字列に変換されてから結合されます。
Q: 結合した文字列を数値に変換するにはどうすればいいですか?
A: VALUE関数を使います。例: =VALUE(A1&B1) これで結合結果が文字列ではなく数値として扱われるようになります。
Q: Excelで複数セルの文字列を改行して結合するには?
A: CHAR(10)を区切り文字として使います。=A1&CHAR(10)&B1 または =TEXTJOIN(CHAR(10), TRUE, A1:C1) と入力し、セルの書式設定で「折り返して全体を表示する」を有効にしてください。
実際の操作手順をクリックして体験できます。各ステップをクリックしてみましょう。
| A | B | C | 結合方法 | 結果 | |
|---|---|---|---|---|---|
| 1 | 姓 | 名 | 住所 | クリックして選択 | D列に表示 |
| 2 | 田中 | 太郎 | 東京都 | ← 選択 田中 太郎 田中太郎 田中太郎 田中 太郎 東京都 田中46113 | |
| 3 | 佐藤 | 花子 | 大阪府 | ||
| 4 | 鈴木 | 一郎 | 名古屋 | ||
| 5 | 高橋 | 美咲 | 2026/3/1 | ||
| 6 | ↓ 日付結合の落とし穴 | ||||
=A2&" "&B2 → 「田中 太郎」文字列の間に
" " を挟むことで、スペース区切りで結合できます。最もシンプルな方法です。=A2&B2 → 「佐藤花子」区切り文字を入れない場合、そのまま連結されます。姓名をつなげる場合などに使います。
=CONCAT(A2:B2) → 「鈴木一郎」CONCATは範囲(A2:B2)をそのまま指定できるのが&との違い。多くのセルを結合するときに便利です。
=TEXTJOIN(" ",TRUE,A2:C2) → 「高橋 美咲 東京都」第1引数で区切り文字を指定、第2引数TRUEで空白セルをスキップ。最も柔軟な結合方法です。
=A2&C5 → 「田中46113」日付セルを&で結合すると、シリアル値(内部の数値)になります。
対処法:
=A2&TEXT(C5,"yyyy/m/d") → 「田中2026/3/1」まとめ
Excelで文字列を結合する5つの方法をおさらいしましょう。
| 方法 | 一言まとめ | バージョン |
|---|---|---|
| &演算子 | 迷ったらコレ。最もシンプルで万能 | 全バージョン |
| CONCATENATE | &の関数版。旧バージョン向け | 全バージョン |
| CONCAT | CONCATENATEの後継。範囲指定可能 | 2019以降/365 |
| TEXTJOIN | 区切り文字付き結合はコレ一択 | 2019以降/365 |
| フラッシュフィル | 関数不要。一度きりの結合向け | 2013以降 |
おすすめの使い分け:
- 2〜3個のセルを結合 → &演算子
- 大量のセルを区切り文字付きで結合 → TEXTJOIN関数
- Excel 2016以前 → &演算子 or CONCATENATE関数

まずは&演算子をマスターすれば、ほとんどの場面で困りません。慣れてきたらTEXTJOIN関数も使ってみてください。作業効率がグッと上がりますよ。
Excelスキルを活かしてSNS運用も自動化しませんか?
Excelの関数をマスターしたあなたなら、Googleスプレッドシート×GAS(Google Apps Script)を使ったSNS自動化ツールもすぐに使いこなせます。X(Twitter)やThreadsの予約投稿を、月額0円で自動化する方法をまとめています。
→ SNS予約投稿ツール完全ガイド|無料&買い切りツールを徹底比較
関連記事
- Excelおすすめ関数6選|初心者が最初に覚えるべき関数ガイド — Excel関数の全体像
- Excel IFERROR関数の使い方 — エラー処理との組み合わせ
- Excel VLOOKUP関数の使い方 — VLOOKUP結果の結合に
- Excel IF関数の使い方 — 条件付き結合に
- Excel SUM関数の使い方 — 基本関数の使い方
- Excel COUNTIFS関数の使い方 — 条件付きカウント
- Excelショートカットキー15選 — 作業効率化に
- Excel コピペ術 — コピー操作の効率化
