【関数】任意の区切り記号(文字)も含め、複数データを1つの文字列に連結できる「TEXTJOIN」の使い方
AさんAさん

「電話番号」や「URL」など、分割されて別々の列になっているデータの連結したい場合、「&」やCONCATNENATEで区切り文字を設定するのが面倒です。。
もっと楽に行う方法はないですかね?

森田森田

その場合は、関数のTEXTJOINを活用すると良いですよ!
では、TEXTJOINの使い方について解説していきますね。

はじめに

この記事は関数の概要とCONCATNENATEの使い方を把握していることが前提です。

参考記事

関数の概要とCONCATENATEの使い方の詳細は以下の記事をご参照ください。


連結対象のデータ間に区切り文字を入れる場合は「TEXTJOIN」が有効

データ連結を行う方法でオーソドックスなものは以下2種類の方法です。

  1. 文字列演算子のアンパサンド(&
  2. CONCATENATE

どちらも文字列もしくは単一セルを一つずつ連結していくため、対象のデータ数が多ければ多いほど数式の記述が大変です。

さらに、連結対象の文字列の間に区切り文字を入れる場合、こちらも一つずつ数式に記述する必要があり、さらに大変になります。

この場合、任意の区切り文字も含め、連結対象のデータを指定できる関数のTEXTJOINを使うと良いです。
ちなみに、TEXTJOINは「テキストジョイン」と呼びます。

TEXTJOIN」を使うことで、区切り文字を含めた複数データの連結を行う数式の記述を、より楽に自動化できます。

なお、TEXTJOINExcel2019以降またはMicrosoft365のバージョンで使用可能です。

参考記事

データ連結を行う際、区切り文字が不要な場合は「CONCAT」を活用すると良いです(詳細は以下の記事を参照)。

TEXTJOINの構文

TEXTJOINの構文は以下の通りです。

=TEXTJOIN(区切り文字,空のセルは無視,テキスト1,[テキスト2],...)
区切り文字を使用してテキスト文字列の一覧または範囲を連結します。

引数名 必須 データ型 説明
区切り文字 文字列 「テキストn」で指定した文字列の間に入れる区切り文字を指定します。
空のセルは無視 論理 「テキストn」で指定した文字列に空白セルが合った場合、区切り文字を入れるかどうかを指定します。
テキスト1 文字列 連結対象の値や単一セル、セル範囲を指定します。
※先頭の文字
テキスト2 文字列 連結対象の値や単一セル、セル範囲を指定します。

引数「テキストn」は最大252まで設定可能です。
引数「区切り文字」・「文字列n」で連結した結果が32,767 文字 (セルの上限) を超えると、エラー値「#VALUE!」が表示されます。

【参考】TEXTJOINは「文字列操作関数」

あくまで参考情報となりますが、TEXTJOINはリボン「数式」タブの関数ライブラリの「文字列操作」に分類されています。

実際にTEXTJOINを活用する際は、以下で解説しているように直接入力で挿入していきましょう。

TEXTJOINの使用結果イメージ

TEXTJOINで対象データを連結したイメージは以下の通りです。
今回は「TEL1~TEL3」列の3列をレコード単位で連結しました。

なお、上記の通り複数列のレコード単位で連結する場合、TEXTJOINは原則一つの関数で一つのレコードのみが連結対象です。

ベースの数式をセットしたら、他のセルへペーストしましょう。

【参考】引数「空のセルは無視」の使い分け

引数「空のセルは無視」はTRUEFALSEを選択できますが、どんな違いがあるかフォルダーパスを例に見てみましょう。

このように、連結対象の範囲内に空白セルがあった場合、引数「空のセルは無視」がTRUEだと空白セルとの間の区切り文字は入りません。

もう一方の引数「空のセルは無視」がFALSEの場合、空白セルがあっても区切り文字が入ります。

以上を踏まえると、連結した文字列をそのまま使う場合は引数「空のセルは無視」はTRUE、後で区切り文字の分だけ分割する場合はFALSEにすると良いでしょう。

TEXTJOINの数式の挿入手順

上記の結果を得るための手順は以下の通りです。

  1. 関数を挿入するセルを選択
    ※今回はF2セル
  2. =textj」等と入力
  3. サジェストから「TEXTJOIN」を選択し、「Tab」キーで確定
  4. 任意の区切り文字を入力
  5. コンマ(,)を入力
  6. 空白セルを無視するかTRUE/FALSEを選択し、「Tab」キーで確定
  7. コンマ(,)を入力
  8. 連結対象のセル範囲を選択
    ※今回はC2~E2のセル範囲
  9. Enter」キーで確定
  10. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はF3~F11セルへペースト

手順②の際にIMEを半角英数モードにすること。
手順⑧は矢印キーでもマウスでもOK
テーブルの場合、手順⑩は不要(全レコードへ数式が自動的にコピーされる)。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_ワークシート関数_TEXTJOIN.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)

  1. 関数を挿入するセルを選択
    ※今回はF2セル
  2. =textj」等と入力
  3. サジェストから「TEXTJOIN」を選択し、「Tab」キーで確定
  4. 任意の区切り文字を入力
  5. コンマ(,)を入力
  6. 空白セルを無視するかTRUE/FALSEを選択し、「Tab」キーで確定
  7. コンマ(,)を入力
  8. 連結対象のセル範囲を選択
    ※今回はC2~E2のセル範囲
  9. Enter」キーで確定
  10. 1行目の数式をコピーし、以降のセルへペースト
    ※今回はF3~F11セルへペースト

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

TEXTJOINはデータの連結に役立つ関数の一つです。

Excel2019以降のバージョンを使える環境であり、かつ定期的にデータ連結の作業を行う機会があるなら、ぜひ覚えておいた方が良いですね。

なお、TEXTJOIN以外にもExcelでのデータ整形の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。

ご参考になれば幸いですm(_ _)m

森田森田

TEXTJOINとセットで覚えておいた方が良い関数は、区切り文字を含まずにデータ連結が可能なCONCATです。
こちらもExcel2019以降のバージョンで使用可能な新しめの関数です。
使用可能な環境にある方は、ぜひセットで覚えると良いでしょう。