Excel中級者

【Excel】文字列を結合する方法5選|&・CONCAT・TEXTJOINの違いと使い分け

しんたろ。

Excelで文字列を結合(連結)するには、&(アンパサンド)演算子を使う方法が最も簡単です。セルの文字をつなげたい場合に最初に覚えるべき方法です。

=A1&B1

ただし、区切り文字を入れたい場合や大量のセルを一括結合したい場合は、CONCAT関数やTEXTJOIN関数がより便利です。

この記事では、Excelで文字列を結合する5つの方法(&演算子・CONCAT関数・CONCATENATE関数・TEXTJOIN関数・フラッシュフィル)の違いと使い分けを、初心者にもわかりやすく解説します。

「姓と名をくっつけたい」「住所を1つのセルにまとめたい」など、Excelでは文字列の結合はよく使う操作です。5つの方法それぞれの特徴を知って、場面に応じて使い分けましょう。

この記事でわかること

  • Excelで文字列を結合する5つの方法とその違い
  • &演算子、CONCAT、CONCATENATE、TEXTJOIN関数の書き方
  • 結合時にスペースや区切り文字を入れる方法
  • 文字列と日付を結合するとシリアル値になる問題の解決方法
  • 結合した文字列を数値に変換する方法
  • バージョン別のおすすめ結合方法
この操作、VBAで一瞬で自動化できます
まずは関数の使い方を解説し、最後に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
下のデモで実行結果を確認できます
📊 社員名簿.xlsx – Excel
ABCD
1 部署結合結果
2 田中太郎営業 田中 太郎(営業)
3 鈴木花子開発 鈴木 花子(開発)
4 佐藤一郎総務 佐藤 一郎(総務)
5 山田美咲営業 山田 美咲(営業)
準備完了 100%
4件の社員データが「姓 名(部署)」形式に一括結合されました!
☝ &演算子やCONCATENATE関数と同じ処理をVBAで自動化できます
この記事の目次
  1. 文字列結合の方法を一目で比較【比較表】
  2. 方法1: &(アンパサンド)演算子【最もシンプル】
  3. 方法2: CONCATENATE関数【旧バージョン向け】
  4. 方法3: CONCAT関数【Excel 2019以降】
  5. 方法4: TEXTJOIN関数【区切り文字対応・最強】
  6. 方法5: フラッシュフィル【関数不要】
  7. LINEでExcelを気軽に学べる
  8. 実務で使える活用例
  9. 結合した文字列を数値に変換する方法
  10. よくあるトラブルと解決方法
  11. 文字列結合をVBAで一括処理する方法
  12. よくある質問(FAQ)
  13. まとめ
  14. 関連記事

文字列結合の方法を一目で比較【比較表】

まず、5つの結合方法の特徴を比較表で確認しましょう。

5つの文字列結合方法の特徴比較図
文字列結合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+EExcel 2013以降パターン認識★★★☆☆

結論を先にお伝えすると、基本は&演算子区切り文字を入れたい場合はTEXTJOINExcel 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との違い

項目CONCATENATECONCAT
セル範囲指定不可 =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. 結合結果のサンプルを1つ手入力する(例: 「田中 太郎」)
  2. 次のセルを選択して Ctrl + E を押す
  3. Excelがパターンを認識して、残りのセルを自動入力

メリット・デメリット

メリットデメリット
関数を覚えなくていい結果が「値」なので元データ変更に追従しない
複雑なパターンにも対応パターン認識が意図通りにならない場合がある
操作がシンプルExcel 2013以降のみ

フラッシュフィルは「一度だけ結合すればOK」という場面で便利です。ただし、元のデータが変更されても結合結果は更新されないので、データが頻繁に変わる場合は関数を使いましょう。フラッシュフィルの詳しい使い方はオートフィルの使い方で解説しています。

Excel業務の自動化
その手作業、自動化しませんか?

VBA開発・GAS連携・Webアプリ化まで、
業務に合わせた最適な自動化をご提案します。

1,600部ツール販売実績
15年製造業の業務経験
無料で相談する →
初回相談無料・お見積りだけでもOK
期間限定でChatGPT✖︎Googleスプレットシートのコンテンツ配布中!

LINEでExcelを気軽に学べる

しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
Profile
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
プロフィールを読む

実務で使える活用例

例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&B2100200(文字列)文字列
=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) と入力し、セルの書式設定で「折り返して全体を表示する」を有効にしてください。

💻 操作を体験してみよう!

実際の操作手順をクリックして体験できます。各ステップをクリックしてみましょう。

X
文字列結合デモ.xlsx
D2
← 結合方法をクリックして選択 =A2&” “&B2 → 田中 太郎 =A2&B2 → 田中太郎 =CONCAT(A2:B2) → 田中太郎 =TEXTJOIN(” “,TRUE,A2:C2) → 田中 太郎 東京都 =A2&C5 → 田中46113
A B C 結合方法 結果
1 住所 クリックして選択 D列に表示
2 田中 太郎 東京都 ← 選択 田中 太郎 田中太郎 田中太郎 田中 太郎 東京都 田中46113
3 佐藤 花子 大阪府
4 鈴木 一郎 名古屋
5 高橋 美咲 2026/3/1
6 ↓ 日付結合の落とし穴
&演算子(スペース区切り)
=A2&" "&B2 → 「田中 太郎」
文字列の間に " " を挟むことで、スペース区切りで結合できます。最もシンプルな方法です。
&演算子(区切りなし)
=A2&B2 → 「佐藤花子」
区切り文字を入れない場合、そのまま連結されます。姓名をつなげる場合などに使います。
CONCAT関数(範囲指定)
=CONCAT(A2:B2) → 「鈴木一郎」
CONCATは範囲(A2:B2)をそのまま指定できるのが&との違い。多くのセルを結合するときに便利です。
TEXTJOIN関数(区切り文字+範囲)
=TEXTJOIN(" ",TRUE,A2:C2) → 「高橋 美咲 東京都」
第1引数で区切り文字を指定、第2引数TRUEで空白セルをスキップ。最も柔軟な結合方法です。
⚠️ 日付結合の落とし穴
=A2&C5 → 「田中46113
日付セルを&で結合すると、シリアル値(内部の数値)になります。
対処法: =A2&TEXT(C5,"yyyy/m/d") → 「田中2026/3/1」
▶ 結合方法をクリックして、結果の違いを確認! &演算子・CONCAT・TEXTJOINの3つの方法と、日付結合の注意点を体験できます。
1 シンプルな結合は =A1&B1 が基本
2 区切り文字を入れるなら =A1&” “&B1
3 大量セルは TEXTJOIN(” “,TRUE,A1:C1) が便利
4 日付結合は TEXT関数で書式指定を忘れずに

まとめ

Excelで文字列を結合する5つの方法をおさらいしましょう。

方法一言まとめバージョン
&演算子迷ったらコレ。最もシンプルで万能全バージョン
CONCATENATE&の関数版。旧バージョン向け全バージョン
CONCATCONCATENATEの後継。範囲指定可能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予約投稿ツール完全ガイド|無料&買い切りツールを徹底比較

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
記事URLをコピーしました