エクセルで複数のセルの文字を結合したいとき、「&(アンド)」や「CONCAT関数」を使っている方は多いのではないでしょうか?
しかし、結合する数が多いと入力が面倒だったり、間に「、」を入れるのが大変だったりしますよね。
そんな悩みを一気に解決してくれるのがTEXTJOIN(テキストジョイン)関数です!
TEXTJOIN関数とは?基本の書き方をチェック
TEXTJOIN関数は、指定した「区切り文字」を挟みながら、複数のセルの文字を連結する関数です。
基本の構文
=TEXTJOIN(区切り文字, 空のセルを無視するかどうか, 結合したいセル1, 結合したいセル2, …)
区切り文字:文字と文字の間に入れたい記号(「,」や「 / 」など)を「” “」で囲んで指定します。
空のセルを無視するかどうか:空セルを飛ばすなら「TRUE」、空セルも区切り文字を入れて繋ぐなら「FALSE」にします。基本は「TRUE」でOKです。
結合したいセル1:範囲選択(A1:A10など)が可能です。
【例題1】氏名を「 / 」で区切って1つのセルにまとめる
例えば、出席者の氏名を一つのセルにまとめたい場合の例です。

数式:
=TEXTJOIN(” / “, TRUE, A2:C2)


「&」で繋ぐと「A2 & ” / ” & B2 & ” / ” & C2」と長くなりますが、TEXTJOINなら範囲を指定するだけで済むので非常に楽ですね!
空のセルがある場合の挙動(第2引数のポイント)
TEXTJOINの最大のメリットは、空白セルがあった際に見栄えを自動で整えてくれる点です。
【例題2】一部のデータが欠けている名簿を結合する
住所のデータを結合する際、ビル名などが空欄の場合を想定してみましょう。

数式(TRUE):
=TEXTJOIN(“,”, TRUE, A2:C2)
数式(FALSE):
=TEXTJOIN(“,”, FALSE, A2:C2)
- TRUEを指定した場合:空欄を飛ばすので、最後が「,」で終わることなく綺麗に繋がります。
- FALSEを指定した場合:空欄の場所にも「,」が入るため、お尻に余計なカンマが残ってしまいます。


実務では、基本的に「TRUE」を選んでおけば間違いありません。
日付が含まれる場合の注意点(TEXT関数との組み合わせ)
TEXTJOIN関数で日付を結合しようとすると、日付が「45412」のような謎の数字(シリアル値)になってしまうことがあります。
これを解決するには、TEXT関数を組み合わせます。
【例題3】日付とイベント名を結合する
日付を「yyyy/mm/dd」形式で表示させたい場合のテクニックです。


そのまま結合するとエクセルは日付を数値として扱ってしまいます。
数式(TEXT関数を組み合わせた):
=TEXTJOIN(“:”, TRUE, TEXT(A2, “yyyy/mm/dd”), B2)
TEXT関数で先に日付の見た目を整えてあげるのがポイントです。

【応用】IF関数との組み合わせで特定のデータだけを抽出
これができるようになると、エクセル作業の効率が劇的に上がります。
特定の条件(例:合格者のみ、特定の担当者のみ)に一致する項目だけを1つのセルにまとめられます。
【例題4】「合格」の人だけをリストアップする
クラスの合格者名だけをカンマ区切りで表示させたい場合です。

数式:
=TEXTJOIN(“, “, TRUE, IF(B2:B5=”合格”, A2:A5, “”))
「もしB列が合格ならA列の名前を、そうでなければ空文字を」という命令をIF関数で行い、その結果をTEXTJOINでガッチャンコするイメージです。

※Microsoft 365やExcel 2021以降をお使いの場合は、確定時に自動で計算されますが、古いバージョンの場合は Ctrl + Shift + Enter で確定する必要がある場合があります。
実務で役立つテクニック:改行で区切る
データの区切りをカンマではなく「セル内改行」にしたいこともありますよね。その場合は、区切り文字にCHAR(10)を使用します。
【例題5】項目を縦に並べて結合する

数式:
=TEXTJOIN(CHAR(10), TRUE, A2:C2)
※この数式を入力した後、セルの書式設定で「折り返して全体を表示する」をオンにするのを忘れないでくださいね!

TEXTJOIN関数が使えない!?注意点と解決策
便利なTEXTJOIN関数ですが、いくつか注意点があります。
- バージョンの制限
- 数式の長さ制限
- 列または行の幅が狭いと正しく出力されない
① バージョンの制限
TEXTJOIN関数は、Excel 2019以降、またはMicrosoft 365でしか使えません。
もし「#NAME?」エラーが出る場合は、お使いのエクセルのバージョンが古い可能性があります。
古いバージョンの場合は、地道に「&」で繋ぐか、CONCATENATE関数を使用する必要があります。
② 数式の長さ制限
結合した結果の文字数が多すぎると(32,767文字以上)、エラーが発生します。大量のデータを結合する際は注意しましょう。
③ 列または行の幅が狭いと正しく出力されない
以下のように列幅が狭いと出力結果が正しくないのでは?と感じる場合があります。
その場合は、列幅や行幅を広げてあげると正しく出力されていることが確認できます。
【列幅が狭いと出力結果が正しく確認できない】

【列幅を十分確保すると出力が正しいことが確認できます】


上記の対応でも正しく出力されない場合は、列幅または行幅を十分に広げてから再度関数を入力すると正しく出力される場合が多いです。
まとめ
TEXTJOIN関数は、複数の情報をまとめるための便利な関数です。
これらを使いこなすだけで、資料作成のスピードは格段に上がります。
コメント