Excelでデータを管理していると、
- 同じ商品の購入者を1セルにまとめたい
- 条件一致したデータを一覧表示したい
- 改行付きで見やすく表示したい
と思うことはありませんか?
通常はコピー&貼り付けで手作業になりがちですが、ExcelのTEXTJOIN関数を使えば、複数行のデータを自動で1セルにまとめることができます。
さらに、FILTER関数と組み合わせることで、
- 条件一致したデータだけ抽出
- 区切り文字
- 改行表示
- 重複除外
なども簡単に実現可能です。
本記事では、TEXTJOIN関数の基本から、実務で役立つ便利な使い方まで、図解付きでわかりやすく解説します。
Excelで複数行のデータを1セルにまとめる完成イメージ
まずは、複数行のデータをどのように1セルにまとめるかのイメージをまとめました。
TEXTJOIN関数単体や、他の関数と組み合わせることで、様々なパターンで1セルにまとめることができます。
区切り文字でまとめる例
セルに並んでいる名前の一覧を、区切り文字を使いまとめることができます。

改行付きでまとめる例
セルに並んでいる名前の一覧を、1セルに改行して表示することができます。

条件一致したデータだけまとめる例
FILTER関数と組み合わせることで、条件に合致したデータだけ1セルにまとめることもできます。

👉複数行のデータを1セルではなく横方向に並べたい場合は、こちらの記事が参考になります。
Excelで複数行を1セルにまとめるにはTEXTJOIN関数を使う
TEXTJOIN関数は、複数のセルや文字列を、指定した区切り文字付きで1つのセルにまとめられる関数です。
TEXTJOIN関数の構文
TEXTJOIN関数の構文は以下のとおりです。
=TEXTJOIN(区切り文字,空のセルは無視,テキスト1,...)それぞれの引数の意味は以下のとおりです。
| 引数 | 意味 |
|---|---|
| 区切り文字 | 「、」や「/」など |
| 空のセルは無視 | TRUE → 空白セルを無視 FALSE → 空白セルを含める |
| テキスト1 | 結合したいセル範囲を指定 (最大252のテキスト引数を設定可) |
主に3つの引数で複数セルをまとめることができます。
TEXTJOIN関数の特徴
TEXTJOIN関数には、次のような特徴があります。
- 区切り文字を自動で入れられる
- 空白セルを無視できる
- 複数セルを一括結合できる
- 改行区切りにも対応できる
特に「空白セルを無視できる」のが大きなメリットです。
「&」演算子やCONCATENATE/CONCAT関数との違い
Excelには文字列を結合する方法が複数あります。
しかし、複数行のデータをまとめる場合は、TEXTJOIN関数が最も便利です。
■「&」演算子との違い
「&」演算子を使うことで、以下のように簡単に文字列を結合することができます。
=A2&"、"&B2しかし、
- 区切り文字を毎回入力する必要がある
- 範囲指定できない
- セル数が増えると数式が長くなる
- 空白セルがあると調整が大変
など、TEXTJOIN関数と比較するとデメリットが多い方法となります。

■CONCATENATE/CONCAT関数との違い
CONCATENATE/CONCAT関数は、いずれも文字列を結合する関数です。
主な違いは、CONCAT関数が範囲指定の一括結合ができる点です。
CONCATENATE関数は、「,」で区切ることで複数のセルを指定できます。
=CONCATENATE(A2,B2,C2)=CONCAT(A2:A10)しかし、こちらも
- 範囲指定できない(CONCATENATE関数)
- 区切り文字を自動で入れられない
など、TEXTJOIN関数と比べるとデメリットが多い方法となります。

複数行をまとめるならTEXTJOINが最も便利
今まで紹介した方法を、今回比較表にしてみました。
| 方法 | 範囲指定 | 区切り文字 | 空白無視 | 向いている場面 |
|---|---|---|---|---|
| & | × | 手入力 | × | 少ないセル数を個別につなげる |
| CONCATENATE | × | 手入力 | × | 古いExcelで単純結合 |
| CONCAT | ○ | 手入力 | × | 範囲をそのまま結合 |
| TEXTJOIN | ○ | ○ | ○ | 一覧を見やすくまとめる |
TEXTJOIN関数なら、
- 区切り文字
- 改行表示
- 空白無視
- 条件一致抽出
まで一括で対応できます。
複数行を1セルにまとめたい場合は、まずTEXTJOIN関数を使うのがおすすめです。
複数行のデータを区切り文字で1セルにまとめる方法
では実際に、TEXTJOIN関数の使い方を紹介していきます。
まずは区切り文字で1セルにまとめる方法です。
使用する数式と意味
区切り文字でまとめる場合は、第1引数に「、」を指定します。
=TEXTJOIN("、",TRUE,A2:A10)数式で指定している引数の意味は以下のとおりです。
| 部分 | 意味 |
|---|---|
| “、” | 区切り文字 |
| TRUE | 空白セルを無視 |
| A2:A10 | まとめる範囲 |
空白セルがあっても自動で無視される
例えば途中に空白セルがあっても、
田中、佐藤、山田
のように、余計な区切り文字が入らず綺麗に表示されます。
これはTEXTJOIN関数の大きなメリットです。

👉空白セルや空白行をより細かく除外したい場合は、FILTER関数を使った方法もあります。
複数行のデータを改行付きでまとめる方法
複数行のデータを、改行付きで一つのセルにまとめることもできます。
使用する数式と意味
改行を表示する場合、第一引数(区切り文字)にCHAR(10)を設定すればOKです。
=TEXTJOIN(CHAR(10),TRUE,A2:A10)CHAR(10)とは?
CHAR(10) は、Excelで「改行」を表します。
そのため、区切り文字にCHAR(10)を指定すると、セル内改行で一覧表示できます。

改行が表示されない場合の対処法
改行が表示されない場合は、セルの折り返して全体を表示するをONにしてください。
以下の手順で、改行を表示することができます。
・対象のセルを選択して、「ホーム」タブから「折り返して全体を表示する」を選択する

条件に一致したデータだけを1セルにまとめる方法【FILTER関数連携】
TEXTJOIN関数は、他の関数と組み合わせることでさらに便利に活用することができます。
FILTER関数と組み合わせることで、条件一致したデータだけを一覧表示できます。
例えば、以下の表より商品Aの購入者のみ抽出→1セルにまとめてみたいと思います。
| 商品 | 購入者 |
|---|---|
| A | 田中 |
| A | 佐藤 |
| B | 鈴木 |
使用する数式と意味
FILTER関数は、条件に一致したデータだけを抽出できる関数です。
そのため、FILTER関数で商品Aを購入した人のみを抽出することで、購入者のみ1セルにまとめることができます。
=TEXTJOIN("、",TRUE,FILTER(B2:B100,A2:A100="A"))
この方法が便利な実務ケース
例えば次のような場面で役立ちます。
- 商品ごとの購入者一覧
- 案件ごとの担当者一覧
- エラー内容一覧
- 社員ごとの資格一覧
- アンケート回答一覧
「複数行に散らばった情報」を、人が読みやすい形にまとめられるのが大きなメリットです。
「VLOOKUPでは1件しか取得できない…」
という場面でも、TEXTJOIN関数とFILTER関数を組み合わせることで、複数結果をまとめて表示できます。
👉FILTER関数の基本的な使い方や複数条件での抽出方法を詳しく知りたい場合は、こちらの記事で解説しています。
👉1件だけ取得したい場合はXLOOKUP、複数件をまとめて表示したい場合はFILTER+TEXTJOIN、と使い分けると便利です。
重複を除外して1セルにまとめる方法【UNIQUE関数連携】
重複データを除外したい場合は、UNIQUE関数を組み合わせます。
例えば、以下の表より重複した名前を除外→1セルにまとめることも可能です。
| 名前 |
|---|
| 田中 |
| 田中 |
| 佐藤 |
使用する数式と意味
UNIQUE関数は重複を除外する関数です。
そのため、UNIQUE関数を使うことで、重複のないリストを作成できます。
=TEXTJOIN("、",TRUE,UNIQUE(A2:A100))
👉重複を除外するUNIQUE関数の基本や応用例は、こちらの記事でも詳しく解説しています。
TEXTJOIN関数が使えない場合の対処法
TEXTJOIN関数はExcel 2019 / Microsoft 365以降で利用可能です。
(TEXTJOIN関数は使えても、FILTER関数やUNIQUE関数は使えないバージョンがあります。)
古いExcelでは使用できない場合があります。
(特にExcel 2016以前では未対応のケースがあります)
古いExcelでは、次の方法が代替手段になります。
- CONCAT関数
- Power Query
- VBA
ただし、操作性や柔軟性を考えると、TEXTJOIN関数が最も簡単です。
TEXTJOIN関数を使う際の注意点
■文字数が多すぎるとセル上限に達してしまう
Excelのセルには文字数上限があります。
最大文字数は32,767文字とのことで、そこまでは使わないと思いますが、
大量データをまとめる場合は注意してください。
■FILTER関数が使えないExcelではエラーになる
TEXTJOIN関数自体ではありませんが、便利な組み合わせができるFILTER関数は、Microsoft 365やExcel 2021以降で利用できます。
古いExcelでは使用できませんので注意してください。
👉FILTER関数やUNIQUE関数を使うと、結果が複数セルに広がる「スピル」が関係することがあります。#SPILL!エラーで困った場合はこちらも参考にしてください。
■改行表示にはセル設定が必要
CHAR(10)を使っても、「折り返して全体を表示する」がOFFだと改行されません。
改行できていない場合は、セルの書式設定を見直してみてください。
TEXTJOIN関数でよくある質問
TEXTJOIN関数で改行されないのはなぜ?

セルの「折り返して全体を表示する」がOFFになっている可能性があります。
TEXTJOIN関数が使えないのはなぜ?

Excelのバージョンが古い可能性があります。
Excel 2019 / Microsoft 365以降で利用可能です。
空白セルを無視したくない場合は?

第2引数をFALSEにします。
=TEXTJOIN("、",FALSE,A2:A10)
区切り文字を改行と記号両方にできますか?

可能です。
例えば次のようにすると、箇条書き風に表示できます。
="・"&TEXTJOIN(CHAR(10)&"・",TRUE,A2:A10)
条件一致が0件だとエラーになるのはなぜ?

FILTER関数で該当データがない場合、エラーになります。
その場合は、第3引数に「該当なし」を設定します。
=TEXTJOIN("、",TRUE,FILTER(B2:B100,A2:A100="A","該当なし"))
TEXTJOIN関数で重複を除外できますか?

UNIQUE関数を組み合わせることで可能です。
=TEXTJOIN("、",TRUE,UNIQUE(A2:A100))
👉逆に、1つのセルに入った文字列を複数のセルに分けたい場合は、TEXTSPLIT関数が便利です。
【まとめ】Excelで複数行のデータを1セルにまとめるならTEXTJOIN関数が便利
TEXTJOIN関数を使うことで、
- 複数行データの一覧化
- 区切り文字
- 改行表示
- 条件一致データ抽出
- 重複除外
などを簡単に実現できます。
特にFILTER関数やUNIQUE関数と組み合わせることで、実務レベルのデータ整理がかなり効率化できます。
これまで手作業でコピー&貼り付けしていた一覧整理も、自動化できるようになります。
複数行のデータを1セルにまとめたい場合は、ぜひTEXTJOIN関数を活用してみてください。







コメント