文字列
TEXTJOIN関数の使い方・読み方
読み方:TEXTJOIN は「テキストジョイン」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)
TEXTJOINは、区切り文字を入れながら、複数のセルをまとめて連結する関数です。
このページの中身(25項目)
この記事の書式と対応環境の出どころ(2026-08-26 確認)
- Google スプレッドシート ヘルプ:公式の書式は
TEXTJOIN(区切り文字, 空のセルを無視, テキスト1, [テキスト2], …)
https://support.google.com/docs/answer/7013992 - Microsoft サポート:TEXTJOIN 関数(2019 以降で使えます)
https://support.microsoft.com/ja-jp/excel/functions/textjoin-function
関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。
CONCATENATE や & と違い、範囲をそのまま渡せて、空欄を自動で飛ばせます。 文字列連結の場面では、まずこれを検討してください。

書式
=TEXTJOIN(区切り文字, 空欄を無視するか, 文字列1, [文字列2], ...)
| 引数 | 内容 |
|---|---|
| 区切り文字 | 間に入れる文字。不要なら "" |
| 空欄を無視するか | TRUE=空欄を飛ばす / FALSE=空欄も区切り文字を入れる |
| 文字列 | セル、範囲、直接入力のいずれも可 |
第2引数はほぼ TRUE で使います。
基本の使い方
| A | |
|---|---|
| 1 | 東京 |
| 2 | 大阪 |
| 3 | (空欄) |
| 4 | 名古屋 |
=TEXTJOIN(", ", TRUE, A1:A4)
結果:東京, 大阪, 名古屋
空欄が飛ばされているので、東京, 大阪, , 名古屋 のような区切り文字の連続が起きません。
第2引数を FALSE にすると空欄も1件として扱われます。
=TEXTJOIN(", ", FALSE, A1:A4) → 東京, 大阪, , 名古屋
列の位置を揃えたいときだけ FALSE を使ってください。

CONCATENATEとの違い
| CONCATENATE | TEXTJOIN | |
|---|---|---|
| 範囲をそのまま渡す | 不安定 | できる |
| 区切り文字 | 手で挟む | 引数で指定 |
| 空欄を飛ばす | できない | できる |
TEXTJOINで置き換えられない場面はほぼありません。
条件に合うものだけ連結する
TEXTJOINが最も活きる使い方です。FILTER と組み合わせます。
| A | B | |
|---|---|---|
| 1 | 東京 | 山田 |
| 2 | 大阪 | 鈴木 |
| 3 | 東京 | 佐藤 |
東京の担当者だけを並べます。
=TEXTJOIN("、", TRUE, FILTER(B1:B3, A1:A3="東京"))
結果:山田、佐藤
「1対多」の関係を1セルにまとめられるのがこの組み合わせの価値です。VLOOKUP は1件しか返せませんが、これなら該当を全部つなげられます。
支店ごとに一覧を作るなら、UNIQUE と組み合わせます。
E2: =UNIQUE(FILTER(A1:A100, A1:A100<>""))
F2: =TEXTJOIN("、", TRUE, FILTER($B$1:$B$100, $A$1:$A$100=E2))
F2を下にコピーすれば、支店別の担当者一覧が完成します。
改行で連結する
CHAR(10) を区切り文字にします。
=TEXTJOIN(CHAR(10), TRUE, A1:A10)
セルの書式で「折り返し」を有効にしないと、改行が見えません
数式が正しくても1行に見えるので、まず書式を確認してください。
重複を除いて連結する
UNIQUE を挟みます。
=TEXTJOIN("、", TRUE, UNIQUE(FILTER(A1:A100, A1:A100<>"")))
並べ替えてから連結する
SORT を挟みます。
=TEXTJOIN("、", TRUE, SORT(FILTER(A1:A100, A1:A100<>"")))
FILTER → UNIQUE → SORT → TEXTJOIN
の順で重ねると、「条件に合うものを、重複なしで、並べ替えて、1セルにまとめる」が1本の数式で書けます。
=TEXTJOIN("、", TRUE, SORT(UNIQUE(FILTER(B1:B100, A1:A100="東京"))))
日付や数値を連結する
そのまま渡すと内部の数値が出ます。TEXT で書式を指定してください。
=TEXTJOIN("、", TRUE, ARRAYFORMULA(TEXT(A1:A10, "m/d")))
ARRAYFORMULA で包むことで、範囲の全要素に TEXT が効きます。
注意点
結果の文字数に上限があります
1セルに入る文字数(約5万文字)を超えるとエラーになります。数千件を連結するような使い方はできません。
元データが変わると結果も変わります
これは利点でもありますが、「その時点の一覧」を保存したいなら、結果をコピーして値貼り付けしてください。
エラーの対処
#VALUE! が出る
- 区切り文字が指定されていない(
""でも必ず書く) - 第2引数が抜けている
引数が3つ必要な点を確認してください。
空欄が飛ばされない
第2引数が FALSE になっています。TRUE にしてください。
なお、数式が返した ""(空文字)は空欄として扱われるので、TRUE なら飛ばされます。
結果が長すぎて切れる
文字数の上限に達しています。FILTER で件数を絞るか、複数セルに分割してください。
Excelとの違い
TEXTJOINはExcelにもあります(Microsoft 365 / Excel 2019以降)。書式・挙動ともに同じです。
Excel 2016以前では使えません。その場合は CONCATENATE と & で書くか、作業列を使った方法になります。
条件付き連結(FILTER との組み合わせ)は、ExcelでもFILTER関数が使える環境(365/2021以降)なら同じ書き方ができます。
連結の三つの方法を使い分ける
文字列をつなぐ方法は三つあります。連結記号を使う方法、連結の関数を使う方法、区切り文字を指定して連結する関数を使う方法です。それぞれ得意な場面が違います。
連結記号を使う方法は、つなぐ数が少ないときに最も簡潔です。二つか三つなら、これが読みやすくなります。ただし、区切り文字を入れたい場合、その都度書くことになるため、数が増えると煩雑になります。
連結の関数は、引数として並べる形です。記号を使う方法と本質的には同じで、書き方が違うだけです。範囲をまとめて渡せる版もありますが、区切り文字は入りません。
区切り文字を指定できる関数が、実務では最も使えます。区切り文字を一度指定するだけで、すべての要素の間に入ります。範囲をまとめて渡せるうえ、空白のセルを無視するかどうかも選べます。
住所を組み立てる、複数の項目をカンマ区切りでつなぐ、といった用途では、三つ目の方法が圧倒的に楽になります。数が増えても数式は長くなりません。
空白を無視するという機能の価値
区切り文字を指定して連結する関数には、空白のセルを無視するかどうかを指定する引数があります。この機能が、実務では非常に効いてきます。
住所を組み立てる場面を考えます。都道府県、市区町村、番地、建物名。この四つをつなぐとして、建物名が入っていない場合があります。単純に連結すると、末尾に余計な区切り文字が残ります。連結記号を使う方法では、これを避けるために条件分岐を書くことになります。
空白を無視する設定にしておけば、入力されている項目だけがつながり、区切り文字も適切に入ります。条件分岐は不要です。
同じことは、複数の担当者名をつなぐ、選択された項目を一覧にする、といった場面でも起こります。すべての欄が埋まっているとは限らない、という前提で作るなら、この機能は必須です。
注意点として、空文字を返す数式が入っているセルは、環境によって空白として扱われないことがあります。想定より区切り文字が多い場合は、この可能性を疑ってください。
範囲をまとめて連結する
この関数の大きな利点が、範囲をそのまま渡せることです。セルを一つずつ並べる必要がありません。
たとえば、ある列に並んだ担当者名をカンマ区切りで一行にまとめたい場合、範囲を指定するだけで済みます。人数が増えても数式は変わりません。
条件に合うものだけを連結したい場合は、抽出の関数と組み合わせます。特定の分類に該当する商品名だけをつなぐ、といった処理ができます。条件付きの連結は標準の関数にはありませんが、この組み合わせで実現できます。
重複を除いてから連結することもできます。同じ担当者が複数回現れる表から、担当者の一覧を作る場合です。重複を除く関数を通してから連結すれば、一行の一覧が得られます。
連結した結果は一つのセルに入るため、非常に長くなることがあります。セルに収まる文字数には上限があるので、対象が多い場合は注意してください。
逆の処理を知っておく
連結の逆、つまり一つの文字列を区切り文字で分割する処理もよく使います。取り込んだデータが「東京都,新宿区,西新宿」のような形で一つのセルに入っている場合、列に分けたくなります。
分割の関数を使えば、区切り文字を指定して複数のセルに展開できます。結果は横方向に広がるので、右側を空けておく必要があります。
分割と連結を組み合わせると、データの整形が数式でできるようになります。取り込んだ文字列を分割し、必要な部分だけを取り出し、別の形で連結し直す。この一連の処理を作業列で組めば、取り込みのたびに手作業をする必要がなくなります。
分割の詳しい使い方は、専用の記事にまとめています。→ SPLIT関数の使い方
条件付きの連結を作る
標準の関数には、条件に合うものだけを連結する機能がありません。しかし、抽出の関数と組み合わせれば実現できます。
考え方は単純で、まず条件に合う行だけを抽出し、その結果を連結します。抽出の関数が返す範囲を、連結の関数にそのまま渡せます。
たとえば、特定の分類に該当する商品名だけをカンマ区切りでつなぐ、といった処理ができます。分類が増減しても、数式は変わりません。
さらに、重複を除いてから連結することもできます。同じ担当者が複数回現れる表から、担当者の一覧を作る場合です。抽出、重複除去、連結の三段階になります。
並べ替えを挟めば、順序も整えられます。抽出、重複除去、並べ替え、連結。この順で組めば、整った一覧が得られます。
注意点として、対象が多いと結果が非常に長くなります。セルに収まる文字数には上限があるため、数百件を連結すると途中で切れます。件数を確認してから使ってください。
もうひとつ、該当が一件もない場合の扱いを決めておいてください。抽出の関数が該当なしを返すと、連結もエラーになります。該当なしのときに返す値を指定しておけば防げます。
一覧をセルにまとめる用途
複数の値を一つのセルにまとめる処理は、報告や通知の場面で使われます。
案件ごとの担当者を一覧にする、選択された項目をまとめて表示する、該当する条件を並べる。いずれも、複数行の情報を一行にまとめる処理です。
この形にすると、行数が減って一覧性が上がります。案件が百件あっても、担当者が展開されずに済みます。
一方で、まとめた結果は集計に使えません。連結された文字列から特定の担当者を数えることは、そのままではできません。集計が必要なら、まとめる前のデータを別に保持してください。
つまり、まとめるのは表示のためであって、データの持ち方としては元の形を保つ、という原則です。表示用のシートで連結し、データのシートは分かれたまま持つ。この分離ができていると、両方の要求を満たせます。
区切り文字の選び方も重要です。カンマは一般的ですが、値の中にカンマが含まれる可能性があるなら別の記号を選んでください。読点や中黒、改行なども使えます。改行を使う場合は、セルの表示で折り返しを有効にしてください。
「文字列」の関数を全体から見る
文字列は文字を加工する関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに31本あります。
| 記事 |
|---|
| CHAR |
| CLEAN |
| CODE |
| CONCAT |
| CONCATENATE |
| EXACT |
| FIND |
| FIXED |
| HYPERLINK |
| IMAGE |
| JIS |
| LEFT |
| LEN |
| LENB |
| LOWER |
| MID |
| NUMBERVALUE |
| PROPER |
| REGEXEXTRACT |
| REGEXMATCH |
| REGEXREPLACE |
| REPLACE |
| REPT |
| RIGHT |
| SEARCH |
| SPLIT |
| SUBSTITUTE |
| TEXT |
| TRIM |
| UPPER |
| VALUE |
このカテゴリで共通するつまずき
全角と半角、前後の空白、改行。この3つが原因のほとんどです。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。
どれを使うかの決め方
位置で取るのか、記号を目印に取るのかで使う関数が変わります。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。
迷ったときは
→ 全関数の一覧 に目的別の索引があります。
数式を書く前の手順
書き始める前に決めておくことがあります。ここが曖昧なまま書くと、途中で行き詰まります。
1. 出したい結果を一文で書く
「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。
2. 元データの型を確認する
全角と半角、前後の空白、改行。この3つが原因のほとんどです。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。
3. 空欄と0の扱いを決める
未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。
4. 条件の数を数える
位置で取るのか、記号を目印に取るのかで使う関数が変わります。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。
5. 共有先の環境を確認する
新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。
6. 1行だけ書いて確認する
全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。
どの関数でも共通する確認
関数を問わず、結果がずれる原因は限られています。この5つを確認すれば、大半が解決します。
参照を固定したか
下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。
範囲の行数が揃っているか
複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。
型が揃っているか
=ISNUMBER(A2)
数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。
前後に空白が入っていないか
=LEN(A2)&" / "&LEN(TRIM(A2))
数が違えば、余分な空白が入っています。見た目では判別できません。
別の方法で検算したか
同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。
最終行まで確認したか
一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。
引き継ぐときに残すこと
数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。
何を出している数式か
一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。
どの表を参照しているか
参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。
該当しないときの扱い
空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。
触ってはいけない場所
列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。
使った関数の対応環境
新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。
確定した期間は値にする
締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。
このサイトの収録状況
現在、201本の記事をカテゴリ別に整理しています。関数名が分からない場合は、カテゴリから探してください。
| カテゴリ | 記事数 |
|---|---|
| 目的別 | 51本 |
| 集計 | 47本 |
| 文字列 | 31本 ←この記事 |
| 日付 | 19本 |
| 検索・参照 | 15本 |
| 条件 | 15本 |
| 機能 | 12本 |
| 配列・抽出 | 10本 |
| 関数一覧 | 1本 |
探し方の順番
関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。
記事の構成
どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。
よくある質問
Q. 区切り文字を複数使い分けられますか
一つしか指定できません。異なる区切りを使いたい場合は、連結を分けて書くか、後から置換してください。
Q. 改行で区切りたいのですが
改行を表す関数を区切り文字として渡します。ただし、セルの表示で折り返しを有効にしないと一行に見えます。
Q. 数値を連結すると書式が消えます
内部の値がそのまま文字列になります。桁区切りや日付の形式を保ちたい場合は、先に文字列へ変換してください。→ TEXT関数の使い方
Q. 空白が無視されません
空文字を返す数式が入っている可能性があります。真の空白とは区別されることがあります。
Q. 条件に合うものだけ連結したいのですが
抽出の関数で絞ってから連結してください。
Q. 結果が途中で切れます
セルに収まる文字数の上限を超えています。対象を絞るか、複数のセルに分けてください。
Q. 古い環境でも使えますか
比較的新しい関数です。古い環境では、連結記号を使う方法で代替してください。
Q. 連結した結果で並べ替えできますか
できますが、文字の順序で並びます。並べ替えの基準には、連結前の値を使うほうが意図どおりになります。
まとめ
- 書式は
=TEXTJOIN(区切り文字, TRUE, 範囲) - 範囲をそのまま渡せて、空欄を自動で飛ばせる
- CONCATENATE の上位互換。基本はこちらを使う
FILTERと組み合わせると条件付き連結ができる- FILTER → UNIQUE → SORT → TEXTJOIN で1対多の一覧が1本の数式に
- 改行は
CHAR(10)。セルの折り返し設定も必要