「CONCAT関数とTEXTJOIN関数は何が違うの?」
「どちらを使えば効率よく文字列を結合できる?」
「古い"&"演算子との違いも知りたい」
このような疑問を持つ方は少なくありません。
どちらも文字列を結合するための関数ですが、できることや向いている用途は異なります。違いを理解せずに使うと、不要な空白が入ったり、数式が複雑になったりしてしまいます。
この記事では、CONCAT関数とTEXTJOIN関数の違いを比較しながら、それぞれの特徴や使い分け、実務でおすすめの選び方まで詳しく解説します。
✅ CONCAT関数とTEXTJOIN関数の違いを理解しよう
一見すると両方とも「文字列を結合する関数」なので同じように見えます。しかし、実際には区切り文字の扱いや空白セルへの対応など、大きな違いがあります。この違いを理解しておくと、数式を短く書けるだけでなく、後から修正しやすい表も作成できます。また、用途に応じて使い分けることで、データ整理の効率も向上します。まずはそれぞれの特徴を確認していきましょう。
・CONCAT関数とは
CONCAT関数は、複数の文字列やセルをそのまま連結する関数です。
例えば、
=CONCAT(A2:C2)
と入力すると、A2~C2の内容をそのまま結合できます。
例えば、
| A列 | B列 | C列 |
|---|---|---|
| 東京 | 営業 | 本部 |
結果
東京営業本部
シンプルに文字列を連結したい場合に適しています。
・TEXTJOIN関数とは
TEXTJOIN関数は、文字列を結合すると同時に区切り文字を指定できます。
例えば、
=TEXTJOIN(" ",TRUE,A2:C2)
結果
東京 営業 本部
さらに空白セルを無視できるため、実務では非常に使いやすい関数です。
✅ CONCAT関数とTEXTJOIN関数の違いを比較
どちらを選ぶべきか迷ったときは、それぞれの特徴を比較すると判断しやすくなります。実務では「結合できればよい」のではなく、「後から修正しやすいか」「データが増えても対応できるか」が重要です。ここでは代表的な違いを整理して見ていきましょう。
・区切り文字を指定できるか
最も大きな違いは区切り文字です。
CONCAT関数
=CONCAT(A2:C2)
結果
東京営業本部
TEXTJOIN関数
=TEXTJOIN("-",TRUE,A2:C2)
結果
東京-営業-本部
住所や氏名など、区切り文字を入れたい場合はTEXTJOIN関数が便利です。
区切り文字はスペースだけでなく、カンマやハイフン、スラッシュなども自由に設定できます。用途別の設定方法は、【Excel】区切り文字を入れてセルを結合する方法|カンマ・ハイフン・スラッシュ対応の記事で詳しく解説しています。
・空白セルを無視できるか
例えば、
| A列 | B列 | C列 |
|---|---|---|
| 東京 | 本部 |
CONCAT関数では空白セルも結合対象になります。
空白セルの扱いをより正確に理解したい場合は、ISBLANK関数や「=""」との違いについても確認しておくと、TEXTJOIN関数をより効果的に活用できます。→【Excel】空白セルを判定する方法|ISBLANK・=""・COUNTAの違い
一方で、
=TEXTJOIN("",TRUE,A2:C2)
とすると、空白セルを自動的に除外できます。
データに空欄が含まれる一覧表では大きなメリットになります。
TEXTJOIN関数の大きなメリットは、空白セルを自動で除外できることです。実務での活用方法や具体例は、【Excel】空白セルを無視して文字を結合する方法|TEXTJOIN関数の実務活用の記事で詳しく紹介しています。
・数式の見やすさ
例えばスペース区切りで結合する場合、
CONCATでは
=A2&" "&B2&" "&C2
のようになります。
TEXTJOINなら
=TEXTJOIN(" ",TRUE,A2:C2)
だけで済みます。
セル数が増えるほどTEXTJOINの方がシンプルになります。
氏名や住所などをスペース付きで結合したい場合は、&・CONCAT・TEXTJOINの使い分けを知っておくと、より分かりやすい数式を作成できます。→【Excel】複数セルをスペース付きで結合する方法|&・TEXTJOIN・CONCATの使い分け
✅ 実務ではどちらを使うべき?
実務では処理内容だけでなく、保守性や再利用性も重要になります。一度作った数式を他の人が修正するケースも少なくありません。そのため、短く分かりやすい数式ほど管理しやすくなります。ここでは業務でよくあるケースごとにおすすめの関数を紹介します。
・シンプルな文字列結合ならCONCAT
次のような場合はCONCAT関数で十分です。
- 商品コードを連結する
- 固定項目をつなげる
- 区切り文字が不要
数式もシンプルになります。
文字列結合には「&」演算子・CONCAT・TEXTJOINなど複数の方法があります。それぞれの特徴や使い分けをまとめて確認したい方は、【Excel】セルの文字列を結合する方法|関数・演算子・TEXTJOIN・実務活用まで徹底解説の記事も参考にしてください。
・住所や氏名一覧ならTEXTJOIN
例えば、
- 都道府県
- 市区町村
- 番地
を結合する場合は、
=TEXTJOIN("",TRUE,A2:C2)
がおすすめです。
空白セルがあっても自然な住所になります。
複数行のデータを1つのセルへまとめたい場合も、TEXTJOIN関数が活躍します。一覧データを効率よくまとめる方法は、【Excel】複数行を1つのセルにまとめる方法|TEXTJOIN関数で一覧化するで詳しく解説しています。
・大量データではTEXTJOINが管理しやすい
列数が多くなるほど、
=A2&B2&C2&D2&E2…
では修正が大変になります。
TEXTJOINなら範囲指定だけで対応できるため、保守性も高くなります。
✅ "&"演算子との違いも知っておこう
文字列結合には関数だけでなく「&」演算子も利用できます。しかし、データ量が増えたり結合ルールが複雑になったりすると、関数の方が扱いやすくなる場面が多くあります。目的に応じて使い分けることが重要です。
・少ないセルなら"&"でも十分
例えば、
=A2&B2
程度なら問題ありません。
簡単な結合では最も手軽です。
・セル数が増えるほど管理が難しい
例えば10個以上結合すると、
=A2&B2&C2&D2&E2…
となり、修正が難しくなります。
このような場合はCONCATやTEXTJOINの方が見やすくなります。
・新しく作成する数式ならTEXTJOINがおすすめ
Microsoft 365やExcel 2021以降を利用している場合は、TEXTJOIN関数を選ぶ場面が増えています。
区切り文字や空白セルへの対応まで一つの関数で行えるため、将来的なメンテナンスもしやすくなります。
TEXTJOIN関数は、区切り文字だけでなくセル内で改行しながら文字列を結合することも可能です。見やすい一覧を作成したい場合は、【Excel】改行しながらセルを結合する方法|TEXTJOINとCHAR(10)の使い方の記事も参考になります。
✅ Excel VBAなら文字列結合も自動化できる
文字列結合を毎日繰り返している場合は、Excel VBAを利用することでさらに効率化できます。例えば数百件の氏名や住所を一括で結合したり、CSVデータを加工したりする作業も自動化できます。関数で基本を理解した後は、VBAも活用すると業務効率をさらに高められます。
・大量データを一括で処理できる
数千件のデータでも短時間で結合できます。
・決まったルールを毎回自動実行できる
住所や商品コードなど、同じ処理を繰り返す業務では特に効果を発揮します。
✅ まとめ:CONCAT関数とTEXTJOIN関数は用途に応じて使い分けよう
今回は、CONCAT関数とTEXTJOIN関数の違いについて解説しました。
- CONCATはシンプルな文字列結合に向いている
- TEXTJOINは区切り文字を自由に設定できる
- TEXTJOINは空白セルも自動で無視できる
- セル数が増えるほどTEXTJOINの方が管理しやすい
- 少ないセルなら"&"演算子でも十分対応できる
- 実務では保守性を考えるとTEXTJOINを選ぶ場面が多い
- 大量データはExcel VBAで自動化するとさらに効率化できる
どちらが優れているというよりも、それぞれ得意な用途があります。目的に応じて使い分けることで、より見やすく保守しやすいExcelファイルを作成できるでしょう。