区切り文字を挟んで結合するなら =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-textjoin-range-1.xlsx(ダウンロード)
| A | B | |
|---|---|---|
| 1 | 氏名 | 部署 |
| 2 | 佐藤 | 営業 |
| 3 | 鈴木 | 総務 |
| 4 | 高橋 | 営業 |
| 5 | 田中 | 経理 |
| 6 | 伊藤 | 営業 |

方法1:TEXTJOIN関数(区切り文字あり・おすすめ)
=TEXTJOIN("、", TRUE, A2:A6) → 佐藤、鈴木、高橋、田中、伊藤
引数は「区切り文字」「空のセルを無視するか(TRUE=無視)」「結合する範囲」の3つです。第2引数をTRUEにしておくと、範囲内に空白セルがあっても「、、」と区切り文字が連続しません。
改行で区切って結合する
=TEXTJOIN(CHAR(10), TRUE, A2:A6)
CHAR(10) は改行コードです。セルの書式で「折り返して全体を表示する」をオンにすると、1つのセル内に1行ずつ表示されます。
方法2:CONCAT関数(区切りなし)
=CONCAT(A2:A6) → 佐藤鈴木高橋田中伊藤
区切り文字が不要なら CONCAT が最短です。旧来のCONCATENATE関数の範囲対応版と考えてください。
応用:条件に合うセルだけを結合する
FILTER関数と組み合わせると、「営業部の氏名だけを結合」といった条件付き結合ができます。
=TEXTJOIN("、", TRUE, FILTER(A2:A6, B2:B6="営業")) → 佐藤、高橋、伊藤
旧バージョンの場合
TEXTJOIN・CONCATはExcel 2019以降で使えます。Excel 2016以前では =A2&"、"&A3&… と&演算子でつなぐか、作業列を使ってください。
まとめ
| やりたいこと | 数式 |
|---|---|
| 「、」区切りで結合 | =TEXTJOIN(“、”, TRUE, 範囲) |
| 区切りなしで結合 | =CONCAT(範囲) |
| 改行区切りで結合 | =TEXTJOIN(CHAR(10), TRUE, 範囲) |
| 条件に合うセルだけ結合 | =TEXTJOIN(“、”, TRUE, FILTER(範囲, 条件)) |
▶ こんな場合はこちら:結合の逆=区切り文字で分割する(TEXTSPLIT)/カンマ区切りの文字列を縦に分割して並べる

コメント