TEXTJOIN関数で複数セルをまとめて結合する方法【CONCATENATEとの違いも解説】

Excel

はじめに

Excelで複数のセルを結合したいとき、
「&」や「CONCATENATE関数」を使っていませんか?

=A1 & " " & B1
=CONCATENATE(A1, " ", B1)

この方法でも結合はできますが、セルが増えるほど式が長くなり管理が大変になります。

そこで登場したのが TEXTJOIN関数
区切り文字(スペース・カンマなど)を指定して、
複数セルを一気に結合できる便利な関数です。

この記事では、TEXTJOIN関数の基本から応用まで、
「CONCATENATEとの違い」や「実務での活用例」 をわかりやすく解説します。


TEXTJOIN関数とは?

書式

=TEXTJOIN(区切り文字, 空白セルを無視, 範囲1, [範囲2], …)

引数の説明

引数内容
区切り文字各セルの間に挟む文字(例:” “, “,”)
空白セルを無視TRUEで空白を無視、FALSEで空白も含めて結合
範囲結合したいセル範囲

基本例

A列B列C列
山田太郎さん
=TEXTJOIN(" ", TRUE, A1:C1)

→ 結果:山田 太郎 さん

ポイント

  • 半角スペース " " を区切り文字に指定
  • TRUE にすることで、空白セルを自動的にスキップ

CONCATENATE関数との違い

比較項目CONCATENATETEXTJOIN
区切り文字1つずつ指定が必要一括指定可能
範囲指定セルごとに指定範囲をまとめて指定可能
空白の扱い空白も結合無視(TRUE指定時)
対応バージョン旧Excel(2016以前)Excel 2019以降 / Microsoft 365

結論:TEXTJOINは「CONCATENATEの完全上位互換」。
古いファイルを除き、今後はTEXTJOINを使うのが基本です。


応用①:氏名や住所をまとめて結合

A列B列C列
山田太郎
=TEXTJOIN(" ", TRUE, A1:C1)

→ 結果:山田 太郎 様

改行付きで結合したい場合

=TEXTJOIN(CHAR(10), TRUE, A1:A3)

→ 結果:セル内で改行(Alt + Enterと同じ効果)
※セルの「折り返して全体を表示」をオンにするのを忘れずに!


応用②:複数項目をカンマ区切りでまとめる

A列(担当者)
田中
鈴木
佐藤
(空白)
高橋
=TEXTJOIN(", ", TRUE, A1:A5)

→ 結果:田中, 鈴木, 佐藤, 高橋

空白セルをスキップしてくれるので、
メール宛名リストや報告書の担当者欄に最適です。


応用③:動的に選択した項目を結合(条件付き)

条件に合うセルだけを結合したい場合、
FILTER関数と組み合わせると最強です。

=TEXTJOIN(", ", TRUE, FILTER(A2:A10, B2:B10="東京"))

→ B列が「東京」のセルだけを抽出して結合。

Microsoft 365 / Excel 2021以降なら、この方法で一瞬です。


応用④:データを1行にまとめる(CSV形式作成)

=TEXTJOIN(",", TRUE, A1:E1)

→ 行データをカンマ区切りで出力。
CSVファイルの作成や外部システムへのデータ連携にも便利です。


応用⑤:シート全体のタイトル生成

="【報告書】" & TEXTJOIN("・", TRUE, B1:B5)

→ 「【報告書】売上・経費・利益・人件費・合計」といったタイトルを自動生成。


注意点

  1. TEXTJOINはExcel 2019以降で利用可能
     → 旧バージョン(2016以前)では認識されません。
  2. 結果は文字列になる
     → 数値を結合すると文字扱いになります(計算には再変換が必要)。
  3. 区切り文字の後にスペースを忘れない
     → ", " のようにスペースを含めると自然な見た目に。

まとめ

  • TEXTJOIN関数 は複数セルをまとめて結合できる便利関数
  • 区切り文字を一括指定空白無視範囲指定OK
  • CONCATENATEよりシンプルで実務向き
  • CSV作成、宛名リスト、改行結合など幅広く活躍

Excelでの文字列操作を効率化するなら、
今日から「&」や「CONCATENATE」を卒業して TEXTJOIN関数 を使いましょう!

コメント