概要
複数の文字列を「区切り文字つき」でまとめて 1 つのセルにしたいとき、
最強なのが TEXTJOIN(テキストジョイン)関数です。
TEXTJOIN を使うと、
- 「, 」区切りで一覧を作る
- 「/」区切りで項目を並べる
- 改行区切りでメッセージをまとめる
- 空白セルを自動で無視する
といった処理が 1 行の式で完結します。
初心者でもすぐ使えるように、テンプレートと例題つきで丁寧に解説します。
TEXTJOIN の基本
TEXTJOIN の書式
=TEXTJOIN(区切り文字, 空白を無視するか, 結合したい範囲またはセル)
区切り文字
… 文字列と文字列の間に入れる記号(例:「, 」「/」「・」「 」など)
空白を無視するか
… TRUE なら空白セルを飛ばす
… FALSE なら空白セルも区切り対象に含める
結合したい範囲
… A2:A10 のように範囲をそのまま渡せるのが便利
基本パターン:カンマ区切りで結合する
空白セルを無視して一覧を作る
B2:E2 に都市名が入っているとします(空白も混ざる想定)。
=TEXTJOIN(", ", TRUE, B2:E2)
TRUE にしているので、空白セルは無視され、
「東京, 大阪, 名古屋」のようにきれいに並びます。
パターン1:氏名+部署+会社名を区切り文字で結合
固定文字を混ぜながら結合する
A2=氏名、B2=部署、C2=会社名とします。
=TEXTJOIN(" ", TRUE,
A2,
"(" & B2,
"/" & C2 & ")"
)
結果例:
田中太郎(営業部/ABC株式会社)
TEXTJOIN の引数には、セル参照だけでなく"(" & B2 のような式も入れられます。
パターン2:改行区切りで結合する(メッセージ生成)
TEXTJOIN × CHAR(10) で縦に並べる
A2:A5 に複数行のメッセージが入っているとします。
=TEXTJOIN(CHAR(10), TRUE, A2:A5)
1 セルの中で改行しながら結合されます。
※セルの書式設定 →「折り返して全体を表示する」にチェックが必要です。
パターン3:選択された項目だけを区切り文字で結合
FILTER と組み合わせて「チェックされた項目だけ」つなぐ
A2:A10=項目名
B2:B10=フラグ(1=選択、空白=未選択)
=TEXTJOIN("/", TRUE, FILTER(A2:A10, B2:B10=1))
B列が 1 の行だけ抽出し、それらを「/」区切りで結合します。
パターン4:数値や日付を整形してから結合する
TEXT と組み合わせて見た目を整える
A2=顧客名
B2=日付
C2=金額
=TEXTJOIN(" / ", TRUE,
A2,
TEXT(B2, "yyyy/mm/dd"),
TEXT(C2, "¥#,##0")
)
結果例:
山田太郎 / 2025/01/15 / ¥12,345
パターン5:範囲をそのまま渡して一気に結合
TEXTJOIN の最大の強み
& では 1 つずつつなぐ必要がありますが、
TEXTJOIN は 範囲を丸ごと渡せる のが圧倒的に便利です。
=TEXTJOIN("・", TRUE, A2:D2)
A2〜D2 の内容を「・」区切りでまとめてくれます。
例題
問題1
B2:E2 に都市名が入っています。
空白セルを無視して「, 」区切りで結合する式を書いてください。
=TEXTJOIN(", ", TRUE, B2:E2)
問題2
A2=氏名、B2=部署、C2=会社名。
「氏名(部署/会社名)」の形式で結合する TEXTJOIN の式を書いてください。
=TEXTJOIN(" ", TRUE,
A2,
"(" & B2,
"/" & C2 & ")"
)
問題3
A2:A5 の 4 行のテキストを、
1 セル内で改行しながら結合する式を書いてください。
=TEXTJOIN(CHAR(10), TRUE, A2:A5)
問題4
A2:A10 に項目名、B2:B10 にフラグ(1=選択)が入っています。
選択された項目だけを「/」区切りで結合する式を書いてください。
=TEXTJOIN("/", TRUE, FILTER(A2:A10, B2:B10=1))
問題5
A2=顧客名、B2=日付、C2=金額。
「顧客名 / yyyy/mm/dd / ¥#,##0」の形式で結合する式を書いてください。
=TEXTJOIN(" / ", TRUE,
A2,
TEXT(B2, "yyyy/mm/dd"),
TEXT(C2, "¥#,##0")
)
まとめ
TEXTJOIN のポイントは次の 3 つです。
- 区切り文字を自動で挟んでくれる
- 空白セルを無視できる(TRUE)
- 範囲をそのまま渡せるので式が短くなる
まずはこの基本形を覚えておくと便利です。
=TEXTJOIN(区切り文字, TRUE, 結合したい範囲)
ここから、改行・FILTER・TEXT との組み合わせに広げていくと、
実務で必要な「一覧生成」「説明文作成」「選択項目のまとめ」が
驚くほどスムーズに作れるようになります。
