TEXTJOINとは?複数セルの連結を一瞬でスマートにする関数
Excelで名簿や一覧表を作っていると、「姓」と「名」をつなげたい、複数の項目をカンマ区切りでまとめたい、住所を1つのセルに整理したい、といった場面がよくあります。そんなときに便利なのがTEXTJOIN関数です。
TEXTJOINは、複数のセルに入っている文字列を、指定した区切り文字でまとめて連結できる関数です。たとえば、A列に「田中」、B列に「太郎」と入っている場合、TEXTJOINを使えば「田中 太郎」のように、間にスペースを入れて自然な形で結合できます。
基本の構文は次のとおりです。
=TEXTJOIN(区切り文字, 空白セルを無視するか, 文字列1, 文字列2, ...)
具体的には、次のように使います。
=TEXTJOIN(" ", TRUE, A2, B2)
この式では、A2セルとB2セルの内容を半角スペースでつなげます。第1引数の" "が区切り文字、第2引数のTRUEが「空白セルを無視する」という指定です。つまり、どちらかのセルが空白でも、余計なスペースが入りにくく、見た目をきれいに保てます。
これまで複数セルを結合するときは、&を使って=A2&" "&B2のように書くことが多かったかもしれません。ただ、結合するセルが増えるほど式が長くなり、修正もしづらくなります。TEXTJOINなら、範囲をまとめて指定できるため、シンプルで管理しやすいのが大きなメリットです。
たとえば、A2からD2までの内容を「、」で区切って連結したい場合は、次のように書けます。
=TEXTJOIN("、", TRUE, A2:D2)
営業リスト、参加者名簿、アンケート結果、メールアドレス一覧など、複数の情報を1つのセルに整えたい業務は意外と多いものです。TEXTJOINを覚えておくと、手作業でコピー&ペーストする時間を減らし、資料作成やデータ整理を効率化できます。
特に、日々Excelを使う20代のビジネスパーソンにとって、TEXTJOINは「地味だけど仕事が速くなる」代表的な関数です。複雑な知識がなくてもすぐに使えるので、まずは複数セルをきれいにまとめる便利機能として押さえておきましょう。
基本の使い方:区切り文字を入れてセルをきれいにまとめる方法
TEXTJOINの基本は、「何で区切るか」を決めて、連結したいセルを指定するだけです。セル同士をただつなげるのではなく、間にスペース、カンマ、スラッシュ、改行などを入れられるため、見た目の整った文字列を簡単に作れます。
まずは、もっともシンプルな例を見てみましょう。A2セルに「田中」、B2セルに「太郎」と入力されている場合、姓と名の間に半角スペースを入れて連結するには、次のように書きます。
=TEXTJOIN(" ", TRUE, A2, B2)
この結果は、次のようになります。
田中 太郎
ポイントは、第1引数に指定している" "です。ダブルクォーテーションの中に半角スペースを入れることで、セルとセルの間にスペースが挿入されます。全角スペースにしたい場合は、" "のように全角スペースを指定すればOKです。
次に、複数のセルをカンマ区切りでまとめる例です。A2からD2に「東京」「大阪」「名古屋」「福岡」と入力されている場合、次の式で1つのセルにまとめられます。
=TEXTJOIN(", ", TRUE, A2:D2)
結果はこのようになります。
東京, 大阪, 名古屋, 福岡
ここでは区切り文字に", "を指定しています。カンマの後ろに半角スペースを入れているため、単に東京,大阪と詰まって表示されるよりも読みやすくなります。メールの宛先リストやタグ一覧を作るときにも便利な書き方です。
また、区切り文字は記号だけでなく、文字列でも指定できます。たとえば、A2に「Excel」、B2に「時短」、C2に「関数」と入っている場合、次のように書くこともできます。
=TEXTJOIN(" / ", TRUE, A2:C2)
結果は、Excel / 時短 / 関数となります。スラッシュで区切ると、カテゴリやキーワードを整理したいときに見やすくなります。
実務でよく使うのは、半角スペース、カンマ、スラッシュ、ハイフンあたりです。たとえば商品コードを作るなら"-"、住所の一部を並べるなら""や" "、項目一覧を作るなら", "のように、目的に合わせて区切り文字を選びましょう。
なお、区切り文字を入れたくない場合は、次のように空の文字列を指定します。
=TEXTJOIN("", TRUE, A2:C2)
このように書くと、A2からC2までの内容が区切りなしでそのまま連結されます。電話番号やコードのように、途中に余計な記号を入れたくないデータをまとめるときに使えます。
TEXTJOINは、「どのセルをつなげるか」だけでなく「どんな見た目でつなげるか」までコントロールできるのが強みです。まずは区切り文字を変えながら、スペース区切り、カンマ区切り、スラッシュ区切りの3パターンを試してみると、実務での使いどころがイメージしやすくなります。
空白セルを無視する設定で、見た目の悪い余分な区切りを防ぐ
TEXTJOINで特に便利なのが、空白セルを無視できる点です。複数セルを連結するとき、すべてのセルに必ず値が入っているとは限りません。部署名が未入力だったり、住所の建物名が空欄だったりするケースは、実務ではよくあります。
このときに重要になるのが、TEXTJOINの第2引数です。
=TEXTJOIN(区切り文字, 空白セルを無視するか, 文字列1, 文字列2, ...)
第2引数には、TRUEまたはFALSEを指定します。
TRUE:空白セルを無視して連結するFALSE:空白セルも含めて連結する
基本的には、見た目をきれいにしたい場合はTRUEを使うのがおすすめです。たとえば、A2に「営業部」、B2に空白、C2に「田中」と入力されているとします。この3つを「 / 」で区切って連結する場合、次のように書きます。
=TEXTJOIN(" / ", TRUE, A2:C2)
結果は、次のようになります。
営業部 / 田中
B2が空白でも、その部分は無視されるため、余分な区切り文字が入りません。読みやすく、資料やリストにそのまま使いやすい形になります。
一方で、第2引数をFALSEにした場合はどうなるでしょうか。
=TEXTJOIN(" / ", FALSE, A2:C2)
この場合、結果は次のようになります。
営業部 / / 田中
空白セルの分も区切り文字が入るため、「 / / 」のように不自然な表示になってしまいます。データとして間違いではありませんが、名簿や提出資料に使うには少し見た目が悪いですよね。
特に住所を連結するときは、この設定が効果を発揮します。たとえば、A2に都道府県、B2に市区町村、C2に番地、D2に建物名が入っている表を考えてみましょう。建物名がない人もいる場合、普通に連結すると余計なスペースや区切りが残りがちです。
=TEXTJOIN(" ", TRUE, A2:D2)
このようにTRUEを指定しておけば、D2が空白でも自然な住所として表示できます。建物名がある行では建物名まで表示され、ない行ではそこだけスキップされるため、同じ数式を下の行までコピーしても崩れにくいのがメリットです。
ただし、注意点もあります。TRUEで無視されるのは、基本的に空白セルです。セルにスペースだけが入力されている場合や、数式の結果として見た目だけ空白に見える場合は、思った通りに処理されないことがあります。不要なスペースが混ざっているデータでは、事前に削除しておくと安心です。
TEXTJOINを実務で使うなら、第2引数はまずTRUEで覚えておきましょう。空白があっても余計な区切り文字を出さず、きれいな一覧を作れるようになります。ちょっとした設定ですが、資料の見栄えや修正の手間に大きく差が出るポイントです。
実務で使えるTEXTJOIN活用例:名簿・住所・メールリストの作成
TEXTJOINは、基本を覚えるだけでも便利ですが、実務では「バラバラの情報を提出しやすい形に整える」場面で特に力を発揮します。ここでは、仕事でよく使う名簿・住所・メールリストの3つの活用例を紹介します。
名簿の氏名や所属情報をまとめる
まずは名簿作成です。たとえば、A列に部署名、B列に役職、C列に姓、D列に名が入っているとします。これらを1つのセルにまとめたい場合は、次のように書けます。
=TEXTJOIN(" ", TRUE, A2:D2)
結果は、次のような形になります。
営業部 主任 田中 太郎
役職が空白の人がいても、TRUEを指定していれば余計なスペースが入りにくくなります。社員名簿、参加者リスト、受付表などで「表示用の名前」を作りたいときに便利です。
住所を1行に整える
次に、住所の連結です。A列に郵便番号、B列に都道府県、C列に市区町村、D列に番地、E列に建物名が入っている場合、住所を1行にまとめるには次の式が使えます。
=TEXTJOIN(" ", TRUE, A2:E2)
建物名がないデータでも、空白部分を無視して自然な住所になります。顧客リストや発送リストを作るとき、住所の列が複数に分かれているとコピーしづらいですが、TEXTJOINで1セルにまとめておけば、メール本文や配送システムへの転記もしやすくなります。
郵便番号と住所の間だけ記号を変えたい場合は、TEXTJOINだけで無理にまとめず、次のように一部を組み合わせるのも実務的です。
=A2&" "&TEXTJOIN("", TRUE, B2:E2)
このように、TEXTJOINは他の連結方法と組み合わせても使えます。
メールアドレスを一括でリスト化する
メールの宛先リストを作るときにもTEXTJOINは役立ちます。たとえば、A2からA10にメールアドレスが並んでいる場合、カンマ区切りでまとめるには次のように入力します。
=TEXTJOIN(", ", TRUE, A2:A10)
結果は、次のようになります。
tanaka@example.com, sato@example.com, suzuki@example.com
複数人にメールを送るとき、1件ずつコピーする必要がなくなります。空白行が混ざっていても無視できるため、途中で退職者や未入力の行があってもリストが崩れにくいのがメリットです。
また、TeamsやSlackに貼り付ける共有用の一覧を作るなら、区切り文字を改行にする方法もあります。
=TEXTJOIN(CHAR(10), TRUE, A2:A10)
この場合は、セルの表示形式で「折り返して全体を表示する」をオンにすると、1件ずつ改行された見やすいリストになります。TEXTJOINを使えば、名簿・住所・メールリストのような定型作業を短時間で整えられるため、資料作成やデータ整理のスピードが大きく上がります。
CONCATENATEや「&」との違いは?TEXTJOINを使うべき場面
Excelで文字列を連結する方法は、TEXTJOINだけではありません。昔からよく使われているCONCATENATE関数や、&を使った連結もあります。では、どの場面でTEXTJOINを選ぶべきなのでしょうか。
まず、&を使う方法はとてもシンプルです。たとえば、A2に「田中」、B2に「太郎」と入っている場合、次のように書けます。
=A2&" "&B2
少ないセルをつなげるだけなら、この書き方でも十分です。数式の意味も直感的で、Excel初心者でも理解しやすいのがメリットです。ただし、連結するセルが増えると一気に式が長くなります。
=A2&" / "&B2&" / "&C2&" / "&D2
このように、区切り文字を毎回書く必要があるため、修正もしづらくなります。途中に空白セルがあると、余計な「 / 」が残ってしまう点も弱点です。
次に、CONCATENATE関数です。これは複数の文字列を順番につなげる関数で、次のように使います。
=CONCATENATE(A2, " ", B2)
役割としては&とほぼ同じで、指定した文字列をそのまま連結します。ただし、区切り文字を自動で入れる機能や、空白セルを無視する機能はありません。そのため、複数項目をきれいに区切ってまとめたい場合は、やはり数式が長くなりがちです。
一方、TEXTJOINは区切り文字を最初に1回指定するだけで、複数セルをまとめて連結できます。
=TEXTJOIN(" / ", TRUE, A2:D2)
この式なら、A2からD2までを「 / 」で区切って連結できます。しかも、第2引数にTRUEを指定しているため、空白セルがあっても余計な区切り文字を出さずに済みます。名簿や住所、メールリストのように、行によって入力状況がバラつくデータでは大きな差になります。
使い分けの目安としては、2〜3個のセルを単純につなげるだけなら&でもOKです。たとえば「姓+名」や「商品コード+枝番」のような短い連結なら、&のほうが手早いこともあります。
反対に、複数セルを同じ区切り文字でまとめたい場合や、空白セルが混ざる可能性がある場合はTEXTJOINがおすすめです。特に、範囲指定できる点は大きなメリットです。あとから列が増えたり、対象範囲を変更したりするときも、数式全体を書き直す手間を減らせます。
なお、TEXTJOINは比較的新しい関数のため、古いExcel環境では使えない場合があります。社内で古いバージョンのExcelを使っている人とファイルを共有する場合は、相手の環境で表示できるか確認しておくと安心です。
まとめると、&やCONCATENATEは「少数のセルをそのまま連結する方法」、TEXTJOINは「複数セルを見やすく整えて連結する方法」と考えるとわかりやすいです。日々の資料作成やデータ整理では、あとから修正しやすく、見た目も崩れにくいTEXTJOINを優先して使うと、作業効率がぐっと上がります。


コメント