- 更新日 : 2026年3月18日
TEXTJOIN関数の使い方:エクセルで複数の文字列を区切り文字で結合する方法
TEXTJOIN関数は、複数のセルや範囲の文字列を指定した区切り文字で結合するエクセルの文字列操作関数です。住所の結合、メールアドレスリストの作成、CSVデータの生成、レポートの文章作成など、複数のデータを効率的に結合する必要がある様々な場面で活用されています。
Excel 2016以降で使用可能なこの関数は、従来のCONCATENATE関数では困難だった柔軟な文字列結合を実現します。
本記事では、TEXTJOIN関数の基本的な使い方から実務での応用例、空白セルの処理方法、動的な区切り文字の設定、そしてよくある使用上の注意点とその対策まで、わかりやすく解説します。
目次
TEXTJOIN関数の使い方
TEXTJOIN関数とは
TEXTJOIN関数は、複数の文字列を指定した区切り文字で結合する関数です。この関数の最大の特徴は、範囲指定が可能で、空白セルを無視するオプションがあることです。従来のCONCATENATE関数や&演算子では、各セルを個別に指定する必要がありましたが、TEXTJOIN関数では範囲を一括指定できるため、大量のデータを効率的に結合できます。
たとえば、顧客の姓と名を結合したり、複数の商品名をカンマ区切りでリスト化したり、住所の各要素を結合したりする際に、簡潔な数式で実現できます。TEXTJOIN関数はExcel 2016以降のバージョンで利用可能で、Office 365では標準機能として搭載されています。
参考:TEXTJOIN 関数 – Microsoft サポート
基本構文
TEXTJOIN関数の構文は次のとおりです。
=TEXTJOIN(区切り文字, 空白を無視, テキスト1, テキスト2, …)
各引数について詳しく説明します。
- 区切り文字:結合する文字列の間に挿入する文字を指定し、引用符(””)で囲みます。カンマ、スペース、ハイフンなど、任意の文字列を使用できます。
- 空白を無視:TRUEまたはFALSEを指定します。TRUEの場合、空白セルをスキップします。FALSEの場合、空白セルも含めて結合します。
- テキスト1, テキスト2, …:結合する文字列、セル参照、または範囲を指定します。最大252個まで指定可能です。
基本的な使用例
実際にTEXTJOIN関数を使用してみましょう。
単純な文字列の結合:
=TEXTJOIN(” “, TRUE, “東京都”, “渋谷区”, “渋谷1-1-1″)
// 結果:”東京都 渋谷区 渋谷1-1-1”
セル範囲の結合:
A1:A5に「りんご」「」「みかん」「」「ぶどう」
=TEXTJOIN(“、”, TRUE, A1:A5)
// 結果:”りんご、みかん、ぶどう”(空白セルは無視)
空白を含めた結合:
=TEXTJOIN(“、”, FALSE, A1:A5)
// 結果:”りんご、、みかん、、ぶどう”(空白も区切り文字で表現)
複数範囲の結合:
=TEXTJOIN(“-“, TRUE, A1:A3, C1:C3, E1:E3)
// 3つの範囲を結合
従来の結合方法との比較
TEXTJOIN関数の優位性を理解するため、従来の方法と比較します。
CONCATENATE関数での結合:
=CONCATENATE(A1, “, “, A2, “, “, A3, “, “, A4, “, “, A5)
// 各セルと区切り文字を個別に指定する必要がある
&演算子での結合:
=A1 & “, ” & A2 & “, ” & A3 & “, ” & A4 & “, ” & A5
// 同様に煩雑
TEXTJOIN関数:
=TEXTJOIN(“, “, TRUE, A1:A5)
// シンプルで効率的
TEXTJOIN関数の利用シーン
住所データの結合
分割された住所要素を結合して完全な住所を作成します。
都道府県から番地までの結合:
都道府県:東京都(A2)
市区町村:渋谷区(B2)
町名番地:渋谷1-1-1(C2)
建物名:○○ビル5F(D2)
=TEXTJOIN(” “, TRUE, A2:D2)
// 結果:”東京都 渋谷区 渋谷1-1-1 ○○ビル5F”
郵便番号を含む住所フォーマット:
=TEXTJOIN(” “, TRUE, “〒”&郵便番号, 都道府県, 市区町村, 番地)
メールアドレスリストの作成
複数のメールアドレスを適切な形式で結合します。
セミコロン区切りのメールリスト:
=TEXTJOIN(“; “, TRUE, A:A)
// Outlookなどで使用可能な形式
BCCフィールド用のカンマ区切り:
=TEXTJOIN(“, “, TRUE, メールアドレス範囲)
部門別メールリスト:
=TEXTJOIN(“; “, TRUE, IF(部門=”営業”, メールアドレス, “”))
レポート・文書の作成
動的に変化するデータを含む文章を作成します。
売上レポートの文章生成:
=”本日の売上は” & TEXTJOIN(“、”, TRUE,
IF(売上>0, 商品名&”:”&TEXT(売上,”#,##0円”), “”)) & “でした。”
在庫状況の報告文:
=TEXTJOIN(“、”, TRUE, IF(在庫<10, 商品名&”(残り”&在庫&”個)”, “”))
& “の在庫が少なくなっています。”
CSVデータの生成
データベースや他システム用のCSV形式データを作成します。
カンマ区切りデータ:
=TEXTJOIN(“,”, FALSE, A2:F2)
// 1行分のCSVデータ
タブ区切りデータ:
=TEXTJOIN( CHAR (9), TRUE, データ範囲)
// TSV形式
引用符付きCSV:
=TEXTJOIN(“,”, TRUE, “””” & A2:F2 & “”””)
タグ・キーワードの管理
複数のタグやキーワードを結合して管理します。
ハッシュタグの生成:
=”#”&TEXTJOIN(” #”, TRUE, タグ範囲)
A1に「エクセル」、A2に「関数」、A3にTEXTJOINが入力されているとき
// 結果:”#エクセル #関数 #TEXTJOIN”
検索キーワードの結合:
=TEXTJOIN(” OR “, TRUE, キーワード範囲)
// 検索クエリの生成
TEXTJOIN関数の応用・他関数との組み合わせ
IF関数との条件付き結合
特定の条件を満たすデータのみを結合します。
条件付き結合(配列数式):
=TEXTJOIN(“, “, TRUE, IF(売上>100000, 商品名, “”))
// 売上10万円以上の商品のみ
複数条件での結合:
=TEXTJOIN(“, “, TRUE,
IF((カテゴリ=”食品”)*(在庫>0), 商品名, “”))
UNIQUE関数との組み合わせ
重複を除いた値の結合(Excel 365):
=TEXTJOIN(“, “, TRUE, UNIQUE(A:A))
ソート済みユニーク値:
=TEXTJOIN(“, “, TRUE, SORT(UNIQUE(A:A)))
TEXT関数での書式設定
数値や日付を適切な形式で結合します。
金額の結合:
=TEXTJOIN(” / “, TRUE, TEXT(金額範囲, “#,##0円”))
// 結果:”1,000円 / 2,500円 / 3,800円”
日付の結合:
=TEXTJOIN(” → “, TRUE, TEXT(日付範囲, “m/d”))
// 結果:”4/1 → 4/15 → 4/30″
FILTER関数との動的結合
条件に応じて動的に変化する結合(Excel 365):
=TEXTJOIN(“, “, TRUE, FILTER(商品名, 在庫>0))
// 在庫がある商品のみを結合
改行を含む結合
セル内改行を使用した縦方向の結合:
=TEXTJOIN( CHAR (10), TRUE, A1:A10)
// セルの書式設定で「折り返して全体を表示」を有効に
SUBSTITUTE関数での後処理
結合後の文字列を整形します。
=SUBSTITUTE(TEXTJOIN(“,”, TRUE, A:A), “,,”, “,”)
// 連続するカンマを1つに
動的な区切り文字
IF関数を用いると、条件によって区切り文字を変更できます。
=TEXTJOIN(IF(条件, “、”, “, “), TRUE, データ範囲)
TEXTJOIN関数のよくあるエラーと対策
#NAME?エラーの対処
Excel 2016より前のバージョンで発生します。
対策1:代替方法の使用
// 旧バージョン用の代替
=CONCATENATE(A1, “, “, A2, “, “, A3)
対策2:VBAでユーザー定義関数を作成
文字数制限への対処
結合結果が32,767文字を超える場合:
=IF(LEN(TEXTJOIN(“,”, TRUE, A:A))>30000,
“データが多すぎます”,
TEXTJOIN(“,”, TRUE, A:A))
配列数式での注意点
条件付き結合では配列数式として入力:
=TEXTJOIN(“,”, TRUE, IF(条件, 値, “”))
// Ctrl+Shift+Enterで確定(Excel 365以外)
空白と空文字列の違い
空白セルと空文字列(””)の扱い:
// 空文字列も除外したい場合
=TEXTJOIN(“,”, TRUE, IF(LEN(A:A)>0, A:A, “”))
循環参照の回避
結合結果を同じ範囲に含めないよう注意:
誤:=TEXTJOIN(“,”, TRUE, A1:A10) をA5に入力
正:=TEXTJOIN(“,”, TRUE, A1:A4, A6:A10)をA5に入力
パフォーマンスの最適化
大量データでの処理速度改善:
// 列全体より必要な範囲のみ指定
非効率:=TEXTJOIN(“,”, TRUE, A:A)
効率的:=TEXTJOIN(“,”, TRUE, A1:A1000)
特殊文字の扱い
区切り文字に特殊文字を使用する場合:
改行:=TEXTJOIN( CHAR (10), TRUE, 範囲)
タブ:=TEXTJOIN( CHAR (9), TRUE, 範囲)
複数の文字列を柔軟に結合できるTEXTJOIN関数
TEXTJOIN関数は、指定した区切り文字を使って複数の文字列を一括で結合できるExcelの関数で、空白セルを無視するオプションや範囲指定の柔軟性が特長です。
住所データやメールリストの作成、タグやキーワードの結合、CSV出力など幅広い用途に適しており、従来のCONCATENATEや&演算子では煩雑だった作業を効率化できます。
特にIFやFILTER関数と組み合わせることで、条件に応じた動的な文字列処理や、レポート文章の自動生成にも活用でき、Excel 365ではUNIQUEやSORTとの連携も可能です。
最大結合数や文字数制限といった仕様にも配慮しながら、TEXTJOIN関数を使いこなすことで、業務の自動化とデータ整形の生産性が大きく向上します。
システム乱立を解消するためのステップとは?
多くの企業がバックオフィス業務効率化のため多様なクラウドシステムを導入するも、「便利なはずが非効率」という現実に直面しています。
その原因は、勤怠や経費など「部分最適」なシステム導入による乱立です。システム同士がつながらず、データの手入力やExcelでの突き合わせ作業が常態化。
これは「見えないコスト」を増やし、業務フローを複雑化させ、現場の負担を増大させます。システム乱立のリスクを整理し、業務アセスメントによる根本解決策をご紹介するホワイトペーパーを用意していますので、ぜひお気軽にご覧ください。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
Excel 文字列関数の関連記事
新着記事
-
# 業務効率化の基本
クラウドのメリット・デメリットは?主要サービスやオンプレミスとの比較表をもとに解説
クラウドのメリット・デメリットは? クラウドは、初期費用を抑えて迅速な導入や拡張ができる点が大きなメリットですが、ネット環境への依存や長期的なコスト増といったデメリットも伴います。…
詳しくみる -
# 業務効率化の基本
社外へのファイル共有を安全に行う方法は?リスクやツール選びのポイントを徹底解説
社外へのファイル共有を安全に行う方法は? 社外へのファイル共有は、機密保持のためクラウドストレージ等の専用ツールを活用し、適切な権限管理と期限設定のもとで行うべき重要な業務プロセス…
詳しくみる -
# 業務効率化の基本
マニュアルの種類は?業務・規範・安全管理など目的別に作成する方法を解説
マニュアルの種類は? マニュアルの種類は、活用目的や対象読者に応じて「業務」「操作」「規範」「教育・訓練」「作業」「製品」「安全・危機管理」の7つに大別されます。 業務・操作: 全…
詳しくみる -
# メモ
Windowsのメモ帳で文字を検索するには?文字列を置換・ファイルを横断検索する方法も解説
Windowsのメモ帳で文字を検索するには? Windowsのメモ帳で文字を検索するには、ショートカットキー「Ctrl + F」を使用するのが効率的です。 検索・置換:Ctrl +…
詳しくみる -
# 業務効率化の基本
ノウハウを蓄積するには?組織の知識を資産に変える方法・仕組みづくり・ツール選びを解説
ノウハウの蓄積方法まとめ ノウハウの蓄積とは、個人の経験や技術(暗黙知)を文書や動画などの形式知へ変換し、組織全体で共有・再利用できる資産に変えるプロセスです。 属人化の解消: 担…
詳しくみる -
# ツール
チャットが苦手だと感じる理由は?原因・特徴・克服するためのコツを徹底解説
チャットが苦手だと感じる理由は? チャットが苦手な主な理由は、即時返信へのプレッシャーや感情が伝わりにくい不安にあり、無理に速度を追わず運用ルールを整えることが克服の鍵です。 脱・…
詳しくみる
