Excelでセル範囲の文字列をまとめて結合する方法|TEXTJOIN・CONCAT

結論(先に答え)

区切り文字を挟んで結合するなら =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(ダウンロード)

AB
1氏名部署
2佐藤営業
3鈴木総務
4高橋営業
5田中経理
6伊藤営業
TEXTJOIN関数でセル範囲の文字列を区切り文字付きでまとめて結合する図解

方法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)カンマ区切りの文字列を縦に分割して並べる

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次