概要
複数のセルを結合したいとき、
「空白セルが混ざっていて、余計な区切り文字が出てしまう…」
という経験はありませんか。
そんなときに最強なのが TEXTJOIN(…, TRUE) です。
TEXTJOIN の第 2 引数を TRUE にすると、
空白セルを自動でスキップして結合 してくれます。
- 空白セルがあっても区切り文字が連続しない
- 範囲をそのまま渡せる
- 1 行の式でスッキリ書ける
初心者でもすぐ使えるように、テンプレートと例題つきで丁寧に解説します。
TEXTJOIN の基本
TEXTJOIN の書式
=TEXTJOIN(区切り文字, 空白を無視するか, 結合したい範囲)
区切り文字
… 文字列と文字列の間に入れる記号(例:「, 」「/」「・」「 」など)
空白を無視するか
… TRUE を指定すると空白セルを飛ばす
… FALSE だと空白セルも区切り対象に含まれる
結合したい範囲
… A2:A10 のように範囲をそのまま渡せる
基本パターン:空白を除いてカンマ区切りで結合
空白セルを無視して一覧を作る
B2:E2 に都市名が入っているとします(空白も混ざる想定)。
=TEXTJOIN(", ", TRUE, B2:E2)
TRUE にしているので、空白セルは無視され、
「東京, 大阪, 名古屋」のようにきれいに並びます。
パターン1:氏名・部署・会社名を空白除外で結合
固定文字を混ぜながら結合する
A2=氏名、B2=部署、C2=会社名とします。
=TEXTJOIN(" ", TRUE,
A2,
"(" & B2,
"/" & C2 & ")"
)
空白セルがあっても自動でスキップされるため、
「部署だけ空白」のようなケースでも崩れません。
パターン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")
)
空白セルがあっても飛ばしてくれるので、
「日付だけ空白」「金額だけ空白」でも崩れません。
パターン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 行のテキストを、
空白行を除いて改行しながら結合する式を書いてください。
=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(…, TRUE) のポイントは次の 3 つです。
- 空白セルを自動で無視してくれる(TRUE)
- 区切り文字を自由に設定できる
- 範囲をそのまま渡せるので式が短くなる
まずはこの基本形を覚えておくと便利です。
=TEXTJOIN(区切り文字, TRUE, 結合したい範囲)
ここから、改行・FILTER・TEXT との組み合わせに広げていくと、
実務で必要な「一覧生成」「説明文作成」「選択項目のまとめ」が
驚くほどスムーズに作れるようになります。
