Excelの書式・印刷 Excel一覧 その他基本操作 セル結合・セルの分割(書式操作)

【Excel】セルの文字列を結合する方法|関数・演算子・TEXTJOIN・実務活用まで徹底解説

Excelで作業をしていると、複数のセルに分かれている文字や数値を、ひとつのセルにまとめて表示したいケースは多くあります。例えば「姓」と「名」を結合してフルネームを作る、住所の各項目をまとめて表示する、商品コードと商品名をつなげるなど、実務のあらゆる場面で使われる操作です。

この記事では、Excelでセルの文字列を結合するためのさまざまな方法と、それぞれの特徴・使い分けポイントを、実務に即した形で詳しく解説します。

✅ セルの文字列結合が必要になる場面

  • 氏名の結合:姓と名が別セルにあり、帳票やラベルで一括表示したい場合
  • 住所の結合:都道府県・市区町村・番地などを1つのセルにまとめる
  • 商品コード+商品名:請求書や見積書でわかりやすく表示
  • 文章生成:報告書の定型文やメール本文の作成

参考:【Excel】セルの結合方法

✅ 方法1:&(アンパサンド)演算子を使う

もっともシンプルな方法が、&演算子を使うやり方です。

例)A2セルに姓「山田」、B2セルに名「太郎」がある場合
「=A2 & B2」
→「山田太郎」と表示されます。

・スペースや文字を間に入れる

「姓」と「名」の間にスペースを入れたい場合は以下のようにします。
「=A2 & " " & B2」
→「山田 太郎」と表示

この方法は関数を使わずに直感的に書けるため、初心者にもおすすめです。


参考:【VBA】「フィルター 空白以外」を設定する方法|空白を除外してデータ抽出する自動化手法

✅ 方法2:CONCATENATE関数を使う(古い形式)

古いExcelバージョンでよく使われる関数です。

「=CONCATENATE(A2, " ", B2)」
→「山田 太郎」と表示

ただし、Excel 2016以降ではTEXTJOINCONCATの方が推奨されています。


✅ 方法3:CONCAT関数を使う(新形式)

CONCATCONCATENATEの後継関数で、同じ使い方が可能です。

「=CONCAT(A2, " ", B2)」
→「山田 太郎」

ただし、この関数も区切り文字を自動で入れる機能はありません(TEXTJOINが必要)。

参考:【Excel】セル結合 文字 そのまま|データを消さずに結合する方法と注意点


✅ 方法4:TEXTJOIN関数でまとめて結合

TEXTJOINはExcel 2016以降で使える非常に便利な関数です。

書式:
=TEXTJOIN(区切り文字, 空白セル無視, 結合範囲)

例)A2に姓、B2に名
「=TEXTJOIN(" ", TRUE, A2, B2)」
→「山田 太郎」

・複数列や範囲を一括結合

「=TEXTJOIN("-", TRUE, A2:D2)」
→「東京都-新宿区-西新宿-1-1-1」

このように範囲指定できるのが大きなメリットです。


✅ 方法5:住所結合の実務例

住所データをA列(都道府県)、B列(市区町村)、C列(番地)に入力している場合、以下の式で1つの住所にまとめられます。

=TEXTJOIN("", TRUE, A2, B2, C2)
→「東京都新宿区西新宿1-1-1」

郵便番号(D列)も含めたい場合は:
="〒" & D2 & " " & TEXTJOIN("", TRUE, A2, B2, C2)


参考:【Excel】セルの結合ができない原因と解決策|仕様の背景と業務での最適な回避方法

✅ 方法6:セル結合ではなく文字列結合を選ぶべき理由

Excelの「セルを結合して中央揃え」は見た目は良くなりますが、データの一体化ではなく構造変更になります。そのため並べ替えやフィルタが使えなくなるデメリットがあります。

一方、文字列結合はあくまで数式で結合するため、データの柔軟性が保たれます。特に大量データや分析前の表では文字列結合の方が圧倒的に有利です。


✅ 方法7:VBAで大量結合を自動化

大量のセルを一括結合する場合、VBAを使うと作業効率が大幅に向上します。

Sub 文字列一括結合()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    
    Set ws = ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    For i = 2 To lastRow
        ws.Cells(i, 4).Value = ws.Cells(i, 1).Value & ws.Cells(i, 2).Value & ws.Cells(i, 3).Value
    Next i
End Sub

上記では、A列~C列の文字列を結合してD列に出力します。


■ 実務での応用パターン

  1. 名簿作成:姓・名・敬称を結合して「山田 太郎 様」と表示
  2. 帳票生成:日付+商品コード+数量を1つのセルに
  3. ラベル印刷:郵便番号・住所・宛名を結合して印刷用セルに
  4. 自動メール本文:定型文に顧客名や金額を差し込み

■ 文字列結合でよくあるミスと対処法

ミス原因対処法
スペースが入らない区切り文字を忘れた" "を間に入れる
#NAME?エラー関数名の間違い、バージョン非対応関数を確認しTEXTJOINなどに切り替える
NULL文字や空欄が混ざる空白セルを無視しない設定TEXTJOINTRUE指定

参考:【Excel】数式エラーを表示しない方法|資料の見栄えを整えるエラー対策完全ガイド

■ まとめ:文字列結合は関数と演算子の使い分けがカギ

  • 少量データ&演算子でサクッと結合
  • 中規模以上TEXTJOINで範囲を一括結合
  • 自動化・繰り返し作業 → VBAマクロを活用

セル結合ではなく文字列結合を使うことで、データの柔軟性を保ちつつ見やすく整えることができます。

-Excelの書式・印刷, Excel一覧, その他基本操作, セル結合・セルの分割(書式操作)