結論(先に答え)
区切り文字を挟んで結合するなら =TEXTJOIN("、", TRUE, A2:A6)、区切りなしで良ければ =CONCAT(A2:A6)。改行で区切るには =TEXTJOIN(CHAR(10), TRUE, A2:A6)+「折り返して全体を表示」です。
「A2からA6までの文字列を全部つなげたい」というとき、=A2&A3&A4… と1つずつ書くのは大変ですし、=CONCATENATE(A2:A6) は範囲指定に対応していません。範囲をまとめて結合できるのはTEXTJOIN関数とCONCAT関数です。この記事で使い分けを解説します。
目次
サンプルデータ
練習用Excelファイル(無料ダウンロード)
この記事の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
| A | B | |
|---|---|---|
| 1 | 氏名 | 部署 |
| 2 | 佐藤 | 営業 |
| 3 | 鈴木 | 総務 |
| 4 | 高橋 | 営業 |
| 5 | 田中 | 経理 |
| 6 | 伊藤 | 営業 |

まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
方法1:TEXTJOIN関数(区切り文字あり・おすすめ)
手順:D2 に TEXTJOIN の式を入れて Enter
D2 に次の式を入力して、Enter キーを押します❶。
D2 に入れる式
=TEXTJOIN("、",TRUE,A2:A6) "、" 区切り文字(、)TRUE 空のセルは無視(無視)A2:A6 テキスト1(氏名)ひとことで氏名の範囲を、「、」で区切って1つの文字にまとめる
式を分けて読むと(色は画像の枠と同じ)
区切り文字
"、"間に何を入れる?
→ 「、」
空のセルは無視
TRUE空白はどうする?
→ TRUE=飛ばす
テキスト1
A2:A6どこをつなぐ?
→ 氏名の範囲
自分の表で使うときは
オレンジに区切り、紫に TRUE、青につなぐ範囲を入れます。例:部署(B 列)を「/」でつなぐ
オレンジに区切り、紫に TRUE、青につなぐ範囲を入れます。例:部署(B 列)を「/」でつなぐ
=TEXTJOIN("/",TRUE,B2:B6) - Excel 2019・Microsoft 365 以降で使えます。

確認:5人の名前が「、」でつながった

答えは 佐藤、鈴木、高橋、田中、伊藤 になりました❷。式は、次の順に計算しています。
- A2:A6の名前を上から並べる
⇒ 佐藤・鈴木・高橋・田中・伊藤 - 「、」をはさんでつなぐ
⇒ 佐藤、鈴木、高橋、田中、伊藤
ポイント引数は「区切り文字」「空のセルを無視するか(TRUE=無視)」「結合する範囲」の3つです。第2引数をTRUEにしておくと、範囲内に空白セルがあっても「、、」と区切り文字が連続しません。
改行で区切って結合する
ポイントCHAR(10) は改行コードです。セルの書式で「折り返して全体を表示する」をオンにすると、1つのセル内に1行ずつ表示されます。
練習用Excelファイル(無料ダウンロード)
氏名や部署を書き換えて、つながる文字が変わるのを確認できます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
方法2:CONCAT関数(区切りなし)
ポイント区切り文字が不要なら CONCAT が最短です。旧来のCONCATENATE関数の範囲対応版と考えてください。
応用:条件に合うセルだけを結合する
ポイントFILTER関数と組み合わせると、「営業部の氏名だけを結合」といった条件付き結合ができます。
旧バージョンの場合
ポイントTEXTJOIN・CONCATはExcel 2019以降で使えます。Excel 2016以前では
=A2&"、"&A3&… と&演算子でつなぐか、作業列を使ってください。ポイント反対に、カンマ区切りの文字列を複数のセルに分けたい場合は、TEXTSPLITでカンマ区切りを縦・横に分割する方法をご覧ください。
練習用Excelファイル(無料ダウンロード)
D2に式を入れて、A2:A6の氏名が「、」でつながることを確かめられます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
まとめ
| やりたいこと | 数式 |
|---|---|
| 「、」区切りで結合 | =TEXTJOIN(“、”, TRUE, 範囲) |
| 区切りなしで結合 | =CONCAT(範囲) |
| 改行区切りで結合 | =TEXTJOIN(CHAR(10), TRUE, 範囲) |
| 条件に合うセルだけ結合 | =TEXTJOIN(“、”, TRUE, FILTER(範囲, 条件)) |
▶ こんな場合はこちら:結合の逆=区切り文字で分割する(TEXTSPLIT)/カンマ区切りの文字列を縦に分割して並べる
文字列の分割・結合をまとめて確認したいときは、文字列の分割・結合・取り出しの方法もあわせてご覧ください。
セル内で改行する方法を、基本から確認したいときは、エクセルのセル内改行(Alt+Enter・Mac・関数)もあわせてご覧ください。

コメント