excel

【Excel】エクセルのTEXTJOIN関数の使い方(複数セルの文字列を結合)

エクセルのTEXTJOIN関数による複数セル結合
当サイトでは記事内に広告を含みます

Excelで氏名、部署名、住所、商品名などが別々のセルに入力されているとき、複数セルの文字列を見やすくつなげたい場面があります。

文字列の結合にはアンパサンドやCONCAT関数も使えますが、区切り文字をまとめて指定し、空白セルも扱いやすい方法として便利なのがTEXTJOIN関数です。

特に名簿の整形、メール文面の下書き、住所録の作成、複数項目を含む検索用データの準備では、TEXTJOIN関数を使うことで数式を短く保ちながら結合ルールを統一できます

TEXTJOIN関数の要点

・区切り文字を最初に指定できる

・空白セルを無視するか選べる

・連続したセル範囲をまとめて結合できる

この記事では、TEXTJOIN関数の基本構文から複数セルの結合、改行や条件付きの応用、エラー時の確認ポイントまで順番に解説します。

 

エクセルのTEXTJOIN関数による複数セル結合

それではまず、複数セルの文字列を結合するTEXTJOIN関数の基本的な使い方について解説していきます。

A列 B列 C列 D列
部署 結合結果
田中 花子 営業部 田中 花子 営業部

 

TEXTJOIN関数の構文

TEXTJOIN関数は、指定した区切り文字をセルの値の間へ入れながら、複数の文字列またはセル範囲をひとつに結合する関数です。

=TEXTJOIN(区切り文字, 空白セルを無視するか, 文字列またはセル範囲)

最初の引数には、文字列の間へ挿入する記号や空白を指定します。

半角スペースで区切るなら「” “」、読点で区切るなら「”、”」、ハイフンで区切るなら「”-“」を入力します。

2番目の引数はTRUEまたはFALSEです。

TRUEを指定すると空白セルを飛ばして結合し、FALSEを指定すると空白セルの位置にも区切り文字が入ります。

3番目以降には、結合したいセル、文字列、またはセル範囲を指定します。

たとえばA2からC2の内容を半角スペースでつなぐ場合は、=TEXTJOIN(” “,TRUE,A2:C2)と入力します。

この式では、A2、B2、C2に空欄が混ざっていても、TRUEにより余分なスペースを作らずに結果を整えられます。

TEXTJOIN関数はMicrosoft 365やExcel 2019以降で利用できるため、古いExcel環境でファイルを共有する場合は利用可否を確認しましょう。

 

基本データを半角スペースで結合する操作

氏名と部署をひとつの表示用セルにまとめる場合は、結果を表示するセルを選び、数式バーへTEXTJOIN関数を入力します。

サンプルデータでD2へ結果を出すなら、D2に=TEXTJOIN(” “,TRUE,A2:C2)と入力します。

エクセルのTEXTJOIN関数による複数セル結合

Enterキーを押すと、A2の田中、B2の花子、C2の営業部が半角スペースでつながり、田中 花子 営業部と表示されます。

ここで重要なのは、結合後の値が元のセルを書き換えるものではない点です。

元データのA2からC2を修正すると、D2の結合結果も自動的に更新されます。

元データを残したまま表示形式だけを整えられることが、TEXTJOIN関数を使う大きな利点です

数式を下方向へコピーする場合は、D2右下のフィルハンドルをドラッグするか、ダブルクリックして連続データへオートフィルします。

1行目を見出しにしている表では、計算式は必ず2行目から入力することが基本です。

【操作のポイント】区切り文字に半角スペースを使う場合は、空白セルを無視する指定をTRUEにすると、名前や部署が未入力の行でも見た目が崩れにくくなります。

 

区切り文字と空白セルの指定

TEXTJOIN関数では、結合の目的に合わせて区切り文字を自由に変更できます。

部署名、氏名、メールアドレスのような項目をスラッシュで分けたいなら、=TEXTJOIN(“/”,TRUE,A2:C2)のように指定します。

商品コードをハイフンで連結するなら、=TEXTJOIN(“-“,TRUE,A2:C2)が使えます。

空白セルを無視しないFALSEの指定は、入力欄の位置そのものに意味があるケースで役立ちます。

ただし、B2が空欄の状態で=TEXTJOIN(“-“,FALSE,A2:C2)を使うと、A2とC2の間にハイフンが連続する可能性があります。

通常の名簿や住所録では、空欄の有無に左右されず自然な文字列を作れるTRUEの指定が使いやすい選択です

半角スペースで結合する数式

=TEXTJOIN(” “,TRUE,A2:C2)

読点で結合する数式

=TEXTJOIN(“、”,TRUE,A2:C2)

なお、区切り文字を入れたくないときは、最初の引数へ空の文字列である””を指定します。

この場合は=TEXTJOIN(“”,TRUE,A2:C2)となり、田中花子営業部のように値だけを連続して表示できます。

 

TEXTJOIN関数の数式入力とオートフィル

続いては、TEXTJOIN関数を表へ入力し、複数行へ効率よく反映する方法を確認していきます。

A列 B列 C列 D列
商品名 サイズ 表示名
Tシャツ M Tシャツ 紺 M
パーカー L パーカー L

 

先頭行へ数式を入力する手順

数式を入力する前に、結合結果を置く列を決めます。

サンプルではD列を表示名の列とし、見出しの次にあるD2を選択します。

D2へ=TEXTJOIN(” “,TRUE,A2:C2)と入力し、Enterキーで確定しましょう。

セル範囲A2:C2は同じ行の3項目を参照する指定であり、次の行へコピーするとA3:C3、A4:C4へ自動的に変化します。

行番号にドル記号を付けない相対参照なら、オートフィル時に各行へ自然に対応します

区切り文字の「” “」と空白セルを無視するTRUEは、下へコピーしても変える必要がありません。

関数の引数を手入力することに不安がある場合は、数式タブの関数の挿入からTEXTJOINを検索し、入力画面で各項目を指定する方法もあります。

数式バーで参照範囲を選ぶ際には、マウスでA2からC2までドラッグすると、セル番地の入力ミスを減らせます。

【操作のポイント】表の1行目がヘッダーなら、TEXTJOIN関数は2行目の結果列から入力し、見出しセルまでコピーしないように注意しましょう。

 

フィルハンドルによる複数行へのコピー

D2の数式を確定した後、セル右下に表示される小さな四角がフィルハンドルです。

フィルハンドルを下へドラッグすれば、必要な行までTEXTJOIN関数をコピーできます。

TEXTJOIN関数の数式入力とオートフィル

A列など隣接列に連続したデータがある表では、フィルハンドルをダブルクリックする方法も便利です。

ダブルクリックすると、隣接するデータの最終行に合わせて数式が自動入力されます。

コピー後のD3では、=TEXTJOIN(” “,TRUE,A3:C3)という形に参照先が変わります。

B3が空欄であってもTRUEを指定しているため、パーカーとLの間に余計なスペースは入りません。

データ件数が多い場合ほど、1件ずつ結合する手作業との差が大きくなります。

数式を一度整えてオートフィルする流れは、数百行規模の一覧表でも同じです

Excelのテーブル機能でデータ範囲をテーブル化している場合は、結果列の先頭へ数式を入れると、その列全体へ自動適用されることがあります。

ただし共有ファイルでは意図しない範囲まで数式が広がる場合もあるため、入力後に結果列を確認する習慣が大切です。

 

固定文字を加えた表示名の作成

TEXTJOIN関数では、セル範囲だけでなく固定の文字列も同時に結合できます。

たとえば商品名の前に商品という言葉を付けたいときは、=TEXTJOIN(” “,TRUE,”商品”,A2:C2)と指定します。

この式の「商品」はどの行でも変わらない固定文字で、A2:C2だけが各行の内容に応じて切り替わります。

=TEXTJOIN(” “,TRUE,”商品”,A2:C2)

商品番号をかっこで囲みたい場合は、=TEXTJOIN(” “,TRUE,A2,”(”,B2,”)”,C2)のように個別セルと文字列を並べることもできます。

ただしこの形では、B2が空欄でもかっこだけが残るため、空欄の可能性がある項目には注意が必要です。

固定文字を加える処理が複雑になるほど、IF関数と組み合わせて表示条件を整える場面が増えます。

まずはセル範囲をシンプルに結合し、必要な装飾を少しずつ追加する考え方が安全でしょう。

【操作のポイント】固定文字を加えるときは、空欄でも残ってよい記号かどうかを確認してから数式へ組み込みましょう。

 

TEXTJOIN関数による改行と住所データの整形

続いては、住所や連絡先のように改行を含めて整えたいデータでのTEXTJOIN関数を確認していきます。

A列 B列 C列 D列
郵便番号 都道府県 住所 宛先表示
100-0001 東京都 千代田区千代田1-1 100-0001
東京都千代田区千代田1-1

 

CHAR関数を使ったセル内改行

TEXTJOIN関数の区切り文字には、文字だけでなくCHAR関数で指定した改行コードも利用できます。

Windows版Excelでセル内改行を表す場合は、CHAR(10)を使います。

=TEXTJOIN(CHAR(10),TRUE,A2:C2)

この数式をD2へ入力すると、A2、B2、C2の内容が1項目ずつ改行されて表示されます。

郵便番号を1行目、都道府県を2行目、住所を3行目に置きたい宛名ラベルの作成などで便利です。

ただし数式を入力しただけでは、改行が画面上で見えないことがあります。

その場合は結果セルを選び、ホームタブの折り返して全体を表示する設定を有効にします。

CHAR(10)で改行を入れた後は、折り返して全体を表示する設定まで行うことが実用上のセットです

行の高さが自動で広がらない場合は、行番号の境目をダブルクリックするか、行の高さを調整します。

印刷用の宛名や案内文では、プレビュー画面で文字切れがないかも確認しておきましょう。

【操作のポイント】セル内改行ではCHAR(10)を区切り文字に使い、結果セルには折り返して全体を表示する設定を適用します。

 

住所を自然な順序でつなぐ数式

住所データは、都道府県、市区町村、番地、建物名が別セルに分かれていることが多い項目です。

これらを横並びの住所として結合するなら、区切り文字を空の文字列にします。

たとえばA2に都道府県、B2に市区町村、C2に番地、D2に建物名がある場合は、=TEXTJOIN(“”,TRUE,A2:D2)で自然な住所表記を作れます。

TEXTJOIN関数による改行と住所データの整形

建物名が未入力でもTRUEを指定しているため、都道府県から番地までがそのまま表示されます。

住所の途中へ半角スペースを入れる運用なら、=TEXTJOIN(” “,TRUE,A2:D2)に変更するだけです。

ただし、日本の住所を郵送用に扱う場合は、都道府県から番地までを空白なしで連結する表記が一般的です。

結合前に列の並び順を確認することが、住所データを正確に整形する第一歩です

郵便番号も含める場合は、郵便番号と住所の間だけを改行にしたいことがあります。

その場合は、=TEXTJOIN(CHAR(10),TRUE,A2,TEXTJOIN(“”,TRUE,B2:E2))のようにTEXTJOIN関数を入れ子にします。

内側で住所を空白なしにし、外側で郵便番号と住所を改行区切りにする構成です。

 

改行と空白を含むデータの注意点

セルの中に見えない空白や不要な改行が含まれていると、TEXTJOIN関数の結果にもそのまま反映されます。

たとえばコピーした住所の末尾にスペースがあると、結合後の文字列にも不自然な空きが生じるかもしれません。

不要な前後スペースを取り除くには、TRIM関数を組み合わせる方法があります。

=TEXTJOIN(” “,TRUE,TRIM(A2),TRIM(B2),TRIM(C2))

TRIM関数は文字列の先頭と末尾にある余分な半角スペースを整えるため、外部システムから貼り付けたデータの整理で役立ちます。

全角スペースや特殊な空白はTRIM関数だけで処理できない場合があるため、表示上の違和感が残るときは元セルを確認します。

改行付きの結果をCSVへ保存すると、ソフトによってはセル内改行がデータの区切りとして扱われることがあります。

CSV連携を予定しているなら、改行の代わりにスラッシュや半角スペースを使うほうが扱いやすいケースもあります。

【操作のポイント】改行を含む結合結果を外部へ渡すときは、CSVや印刷の出力先で改行がどのように扱われるか事前に確認しましょう。

 

TEXTJOIN関数とIF関数による条件付き結合

続いては、入力済みの項目だけをより細かく選び、条件に応じて文字列を結合する方法を確認していきます。

A列 B列 C列 D列
氏名 役職 資格 表示結果
佐藤一郎 課長 防火管理者 佐藤一郎 課長 防火管理者

 

IF関数で特定の文字を表示する方法

TEXTJOIN関数とIF関数を組み合わせると、条件を満たした場合だけ指定の文字列を結合できます。

たとえばC2に資格の入力があるときだけ、資格という見出しを付けたい場合を考えます。

=TEXTJOIN(” “,TRUE,A2,B2,IF(C2<>””,”資格 “&C2,””))

この数式では、C2が空欄でなければ資格とC2の内容を表示し、空欄なら空の文字列を返します。

TEXTJOIN関数の2番目の引数がTRUEなので、IF関数が返す空の文字列は結果に余分な区切りを残しません。

IF関数は表示したい条件を作り、TEXTJOIN関数は必要な要素を読みやすくつなぐ役割です

役職が未入力なら役職のラベル自体を表示しない、といった名簿の整形にも同じ考え方を使えます。

条件が増える場合は数式が長くなるため、どのセルが何を表すかヘッダーを明確にしておくと管理しやすくなります。

入力規則で選択肢を統一しておけば、役職名や資格名の表記ゆれも減らせます。

【操作のポイント】IF関数で不要な要素を空の文字列にし、TEXTJOIN関数ではTRUEを使うと、条件付き表示でも区切り文字が残りにくくなります。

 

Excel画面での数式入力イメージ

条件付きの数式は、数式バーを使って入力すると参照先を確認しやすくなります。

社員一覧.xlsx – Excel− □ ×
ファイルホーム挿入数式データ
貼り付け
B
罫線
中央揃え
数式の挿入

ここで関数を確認
D2
fx
=TEXTJOIN(” “,TRUE,A2:C2)
A B C D
1 氏名 役職 資格 表示結果
2 佐藤一郎 課長 防火管理者 佐藤一郎 課長 防火管理者
数式を確定後、右下のフィルハンドルで下の行へコピーします

画面では、まず結果を表示するD2を選択し、数式バーへTEXTJOIN関数を入力します。

赤枠のセルが計算結果の表示先であり、数式内のA2:C2は同じ行の氏名、役職、資格を参照しています。

条件付きの式を入力する場合も、基本となる表示先セルを選ぶ流れは変わりません。

数式バーではセル参照が色分けされるため、長い数式で参照範囲を見失ったときにも確認しやすいでしょう。

確定前にEscキーを押せば入力を取り消せるため、数式の途中で誤りに気づいた場合も落ち着いて修正できます。

 

複数条件を含む文字列の組み立て

アンケート結果や受注データでは、特定の選択項目だけを文章へ加えたいケースがあります。

たとえばB2が至急なら優先対応という文字を表示し、それ以外では何も加えないなら、IF関数をTEXTJOIN関数の引数へ入れます。

=TEXTJOIN(” “,TRUE,A2,IF(B2=”至急”,”優先対応”,””),C2)

A2が案件名、B2が対応区分、C2が担当者名という構成なら、至急の行だけ案件名 優先対応 担当者名と表示できます。

比較する文字列である至急は必ず二重引用符で囲みます。

条件が一致しないときに空の文字列を返すことが、不要な文言を表示しないための基本です

IF関数を何重にも重ねると、後で修正しにくい数式になることがあります。

条件が多数あるときは、別表に対応表を作り、XLOOKUP関数などで表示用の文字列を取得してからTEXTJOIN関数でつなぐ構成も検討しましょう。

複雑な式ほど、サンプル行で想定どおりに表示されるかを確認してから全行へコピーすることが大切です。

【操作のポイント】条件付き結合は、最初に少数のサンプル行で空欄時と条件一致時の両方を確認してからオートフィルします。

 

TEXTJOIN関数とCONCAT関数の使い分け

続いては、TEXTJOIN関数と似た役割を持つCONCAT関数やアンパサンドとの使い分けを確認していきます。

方法 数式例 向いている場面
TEXTJOIN =TEXTJOIN(” “,TRUE,A2:C2) 区切りと空欄を整える
CONCAT =CONCAT(A2:C2) 区切りなしで連結する
アンパサンド =A2&” “&B2 少ないセルを簡単につなぐ

 

CONCAT関数との違い

CONCAT関数は複数のセルや文字列を連結できる関数ですが、各値の間へ自動で区切り文字を入れる機能はありません。

=CONCAT(A2:C2)と入力すると、A2からC2の値がそのまま続けて表示されます。

住所のように区切りが不要な文字列なら、CONCAT関数でも問題ありません。

一方で氏名と部署の間へ毎回スペースを入れたい場合、CONCAT関数では=A2&” “&B2&” “&C2のように区切りを個別に記述する必要があります。

同じ区切り文字を複数の項目へ入れるなら、TEXTJOIN関数のほうが数式を読みやすく保てます

またTEXTJOIN関数はTRUEを指定することで空欄を無視できますが、CONCAT関数には同じ考え方の引数がありません。

入力項目に空欄が発生する一覧表では、TEXTJOIN関数が特に扱いやすいでしょう。

反対に、結合対象が2セルだけで区切りも不要なら、CONCAT関数またはアンパサンドで十分な場合もあります。

【操作のポイント】空欄を飛ばしながら同じ区切りを入れたいならTEXTJOIN関数、単純に連続表示するだけならCONCAT関数を検討します。

 

アンパサンド演算子との違い

アンパサンドは、Excelで文字列を結合するもっとも基本的な演算子です。

=A2&B2なら、A2とB2を区切りなしでつなげられます。

=A2&” “&B2なら、2つの値の間へ半角スペースを加えられます。

セル数が少なく、結合ルールが単純な場合にはアンパサンドの式は直感的です。

しかし結合するセルが増えると、アンパサンドと引用符が何度も並び、修正時に見落としが起きやすくなります。

3項目以上を同じルールで結合する表では、TEXTJOIN関数へ置き換えると式の意図が伝わりやすくなります

アンパサンドでは空白セルの前後に区切り文字が残りやすい点にも注意が必要です。

たとえば=A2&” “&B2&” “&C2でB2が空欄なら、A2とC2の間にスペースが2つ残ることがあります。

表示上の余分な空白を避けたい場合は、TEXTJOIN関数のTRUE指定が有効です。

 

旧バージョンのExcelでの代替手段

TEXTJOIN関数を使えないExcelバージョンでは、アンパサンドとIF関数を組み合わせて代替できます。

たとえばA2、B2、C2を空欄なしでスペース結合するだけなら、=A2&” “&B2&” “&C2で対応できます。

空欄を考慮する場合は、=A2&IF(B2<>””,” “&B2,””)&IF(C2<>””,” “&C2,””)のように記述します。

=A2&IF(B2<>””,” “&B2,””)&IF(C2<>””,” “&C2,””)

この式はTEXTJOIN関数のTRUE指定に近い結果を作れますが、対象セルが増えるほど長くなります。

共有相手のExcel環境が不明な場合は、利用しているExcelのバージョンを確認してから関数を選ぶと安心です。

互換性を優先するファイルでは、計算結果を値として貼り付けて配布する方法もあります。

【操作のポイント】古いExcelとの共有がある場合は、TEXTJOIN関数のまま渡す前に、相手側で関数が使える環境か確認しましょう。

 

TEXTJOIN関数で起こりやすいエラーと対処

続いては、TEXTJOIN関数で結果が期待どおりにならない場合の原因と確認方法を解説していきます。

表示や状況 主な原因 確認する内容
関数名が使えない Excelのバージョン TEXTJOIN対応状況
区切りが連続する FALSE指定 TRUEへの変更
結果が見切れる 列幅や折り返し 表示形式の調整

 

関数名のエラーと対応バージョン

TEXTJOINと入力しても候補に表示されない、または関数名のエラーになる場合は、利用中のExcelバージョンが対応していない可能性があります。

TEXTJOIN関数はMicrosoft 365、Excel 2021、Excel 2019などで利用できます。

古い永続ライセンス版では関数が存在しないことがあるため、ファイルタブのアカウントから製品情報を確認します。

数式が間違っていると判断する前に、まずTEXTJOIN関数を利用できるExcelか確認することが重要です

対応していない環境では、アンパサンド演算子とIF関数による代替式を使用します。

社内で作成したブックを別部署へ配布する場合は、関数が使えない環境でエラー表示になる可能性も考慮しましょう。

必要なら計算結果をコピーし、形式を選択して貼り付けから値として保存して渡す方法があります。

【操作のポイント】TEXTJOIN関数が見つからないときは、関数のつづりより先にExcelの製品バージョンを確認します。

 

空白セルで区切りが増える場合

結合結果の途中にハイフンやスペースが連続して表示される場合は、2番目の引数がFALSEになっていることがあります。

FALSEは空白セルも結合対象の位置として扱うため、各セルの間に必ず区切り文字を置きます。

通常はFALSEをTRUEへ変更し、空欄を無視する設定にすることで改善します。

ただし、セルに見えないスペースだけが入っている場合、そのセルは完全な空欄とは判定されません。

このようなときは元データを選択してDeleteキーで内容を消すか、TRIM関数やCLEAN関数による整形を検討します。

見た目が空白でも数式バーに文字が表示されるセルは、TEXTJOIN関数では空欄として扱われないことがあります

外部から取り込んだデータでは、全角スペースや改行コードが混ざることもあります。

問題の行だけ結果がおかしい場合は、結合前の各セルを数式バーで確認すると原因を見つけやすいでしょう。

 

文字数上限と表示形式の確認

TEXTJOIN関数では、多数のセルを結合した結果がExcelのセルに保存できる文字数を超えるとエラーになります。

Excelのセルへ入力できる文字数には上限があるため、長文のコメントや大量の項目をひとつにまとめる場合は注意が必要です。

また、結果自体は正しくても列幅が狭いために文字が見切れているだけのこともあります。

列の境界線をダブルクリックして列幅を自動調整するか、折り返して全体を表示する設定を使いましょう。

数式セルの右隣に値が入っていると、文字列は隣のセルへあふれて表示されず、途中で切れて見えることがあります。

表示の問題と数式の問題を分けて確認すると、不要な数式修正を避けられます

数式バーにはセル内の全文が表示されるため、計算結果が正しいかの確認にも役立ちます。

【操作のポイント】文字列が途中で切れて見える場合は、数式を変更する前に列幅、折り返し、右隣のセルの入力状態を確認します。

 

まとめ エクセルの複数セル文字列をTEXTJOIN関数で結合する使い方

ExcelのTEXTJOIN関数は、複数セルの文字列を指定した区切り文字でまとめるための便利な関数です。

=TEXTJOIN(” “,TRUE,A2:C2)のように入力すれば、同じ行にある複数項目を半角スペースで自然に結合できます。

空白セルを無視するTRUEを指定できるため、入力漏れが混ざる一覧表でも表示を整えやすい点が特徴です

区切り文字にはスペース、読点、ハイフン、CHAR(10)による改行などを指定できます。

住所録では空の文字列で連結し、宛名ラベルではCHAR(10)で改行するなど、用途に応じて使い分けましょう。

IF関数と組み合わせれば、条件に合う項目だけを追加する表示も作れます。

複数行へ反映するときは、1行目のヘッダーを避けて2行目へ数式を入力し、フィルハンドルでオートフィルする流れが効率的です。

TEXTJOIN関数が使えないExcelでは、アンパサンドとIF関数を使った代替式も選択肢になります。

空欄の扱い、対応バージョン、列幅や折り返し設定を確認しながら、名簿、商品一覧、住所データの整形へ活用していきましょう。