MENU

Excel関数のCONCATとTEXTJOINの違いと使い分けを解説

※写真はイメージです。実物とは異なる場合があります。

  • URLをコピーしました!

Excelで作業をしていると、「複数のセルに入っている文字を一つにまとめたい」という場面がよくありますよね。例えば、苗字と名前をくっつけてフルネームにしたり、住所の各項目を連結して一行にまとめたりといった操作です。

このような文字列の結合を行う際、現代のExcelで主流となっているのが「CONCAT(コンカット)関数」と「TEXTJOIN(テキストジョイン)関数」の2つです。

どちらも「文字をつなげる」という目的は同じですが、実は機能に大きな違いがあります。適当に選んで使うと、「文字同士がくっつきすぎて読みづらい」とか「空白のセルがあるせいで変な隙間ができた」といったトラブルにつながることもあります。

この記事では、初心者の方に向けて、CONCATとTEXTJOINの明確な違いと、どのような場面でどちらを使うべきかという判断基準をわかりやすく解説します。

目次

文字列を結合する3つの方法と進化の歴史

まず前提として、Excelで文字を結合する方法には、関数以外にもいくつかのやり方があります。

1. 連結演算子「&(アンパサンド)」

最もシンプルで伝統的な方法です。「=A1 & B1」のように記述します。少数のセルをサクッとつなげたいときには今でも非常に便利ですが、つなげたいセルが10個、20個と増えてくると、すべてに「&」を入力しなければならず、手間がかかります。

2. CONCATENATE(コンカティネート)関数

かつて主流だった関数です。しかし、この関数には「セル範囲(A1:C1など)を指定できず、一つひとつセルを選択しなければならない」という不便な点がありました。

3. CONCAT関数とTEXTJOIN関数

これらは比較的新しいバージョンで導入された関数です。CONCATENATEの弱点だった「セル範囲の指定」ができるようになり、さらにTEXTJOINでは「区切り文字」という強力な機能が追加されました。

つまり、Excelの文字列結合機能は、CONCATENATE → CONCAT → TEXTJOIN という流れで、どんどん便利に進化してきたといえます。

CONCAT関数の特徴と使い方

CONCAT関数は、指定した範囲や文字列を、単純にそのまま「ガッチャンコ」とつなげる関数です。

基本的な構文

`=CONCAT(文字列1, [文字列2], …)`

この「文字列」の部分には、直接入力した文字(" "で囲む必要があります)だけでなく、セル参照や「B2:F2」のようなセル範囲を指定することができます。

CONCATのメリット

最大の特徴は、セル範囲をまとめて指定できることです。例えば、B4セルからD4セルに「入会日」「会員番号」「グループID」が入っている場合、`=CONCAT(B4:D4)` と入力するだけで、これらを一気に結合して「識別コード」のような一つの文字列にできます。

CONCATの弱点

CONCAT関数は、文字をそのままつなげるため、つなげた後に文字の間にスペースやカンマを入れることができません。 例えば、「東京都」「新宿区」「西新宿」をCONCATでつなげると、「東京都新宿区西新宿」となります。これなら問題ありませんが、もし「東京,新宿,西新宿」のようにカンマで区切りたい場合は、カンマを一つひとつ引数に加えていく必要があり、非常に手間がかかります。

TEXTJOIN関数の特徴と使い方

TEXTJOIN関数は、CONCAT関数の「上位互換」といっても過言ではない非常に多機能な関数です。最大の違いは、結合する文字の間に「区切り文字」を自動的に挟み込める点にあります。

基本的な構文

`=TEXTJOIN(区切り文字, 空のセルの認識, 文字列1, [文字列2], …)`

引数が3つ(またはそれ以上)必要になるため、CONCATよりも少し複雑に見えますが、役割はシンプルです。

  • 区切り文字:文字と文字の間にいれたい文字を指定します(例: `","` や `"-"` 、`" "` など)。
  • 空のセルの認識:空白のセルがあったときにどうするかを「TRUE」か「FALSE」で指定します。
    • `TRUE`:空白セルを無視して、詰めて結合します。
    • `FALSE`:空白セルも一つのデータとして扱い、区切り文字を挿入します。
  • 文字列:結合したいセルや範囲を指定します。

TEXTJOINのメリット

例えば、住所録で「丁目」「番地」「号」が別々のセルに入っている場合、これらをハイフンでつなぎたいシーンがあるはずです。 CONCATだと「3番地2号10号」のようにくっついてしまいますが、TEXTJOINを使って区切り文字に `"-"` を指定すれば、「3-2-10」と綺麗に整形して出力できます。

また、「空のセルの認識」を `TRUE` に設定しておけば、もし一部のセルが空欄だったとしても、余計な区切り文字(例:,,)が出現することを防げます。

CONCATとTEXTJOINの決定的な違い:比較まとめ

ここで、2つの関数の違いを整理してみましょう。

機能CONCAT関数TEXTJOIN関数
結合方法単純に連結する区切り文字を挟んで連結する
セル範囲指定可能可能
区切り文字の指定不可能(個別に指定が必要)可能(一括で指定できる)
空白セルの扱いそのまま結合する無視するか、含めるか選択できる
おすすめの用途IDの生成、単純な結合住所作成、名簿作成、リスト化

判断基準:どちらを使うべきか?

迷ったときは、以下の基準で選んでみてください。

  • 「文字と文字の間に、何か(カンマやスペースなど)を入れたいか?」
    • はい $\rightarrow$ TEXTJOIN関数
    • いいえ $\rightarrow$ CONCAT関数
  • 「結合する範囲に空白セルが含まれているか?」
    • はい(空白は飛ばしたい) $\rightarrow$ TEXTJOIN関数
    • いいえ(または気にしない) $\rightarrow$ CONCAT関数

基本的には、TEXTJOIN関数はCONCAT関数ができることをすべてカバーしているため、TEXTJOINさえ使いこなせばほとんどのシーンで対応可能です。ただし、区切り文字が一切不要な単純な結合であれば、引数が少ないCONCAT関数の方が入力が楽でシンプルに完結します。

実践的なユースケースと活用例

具体的にどのような業務シーンで活用できるか、例を挙げてみます。

ケース1:社員IDや管理コードの作成(CONCAT向き)

「年度(2024)」+「部署コード(SALES)」+「個人番号(001)」を組み合わせて、「2024SALES001」という管理コードを作りたい場合です。 この場合、文字の間に区切りを入れる必要はないため、`=CONCAT(A2:C2)` と指定するのが最も効率的です。

ケース2:住所の整形(TEXTJOIN向き)

「都道府県」「市区町村」「番地」が分かれているデータを、一つのセルにまとめたい場合です。 特に、番地や号などの部分で「空欄があるかもしれない」というデータの場合、`=TEXTJOIN(" ", TRUE, A2:D2)` とすれば、空白セルを無視して適切なスペース区切りで住所を完成させることができます。

ケース3:タグリストの作成(TEXTJOIN向き)

複数のキーワードが入ったセルを、「キーワード1, キーワード2, キーワード3」という形式で、カンマ区切りのリストにしたい場合です。 `=TEXTJOIN(", ", TRUE, B2:E2)` とすれば、一瞬でカンマ区切りの文字列が作成できます。これをCONCATでやろうとすると、セルとセルの間にいちいち `", "` を書き込まなければならず、非常に時間がかかります。

よくあるトラブルと解決策

関数を使ってみて、「あれ?思った通りにならない」というときによくある原因をご紹介します。

1. 文字列がくっつきすぎて読みづらい

これはCONCAT関数を使っているときに起こりがちな現象です。 解決策は簡単で、TEXTJOIN関数に切り替え、区切り文字に半角スペース `" "` などを指定することです。これだけで格段に見やすくなります。

2. 区切り文字が連続して表示される(例:東京都,,新宿区)

これはTEXTJOIN関数の第2引数(空のセルの認識)に `FALSE` を指定しているか、あるいはCONCAT関数で無理やり区切り文字を挟もうとしたときに起こります。 `TRUE` を指定することで、「空白セルは無視する」という設定になり、綺麗な結合結果が得られます。

3. 数値がうまく結合されない

CONCATもTEXTJOINも、文字列だけでなく「数値」も引数に指定できます。 数値と文字列が混在していても、関数が自動的に文字列として処理して結合してくれるため、基本的にはそのままセル範囲を指定して問題ありません。

まとめ

Excelで文字をつなげる際、かつては「&」や「CONCATENATE」が主流でしたが、現在は「CONCAT」と「TEXTJOIN」という強力な武器があります。

  • CONCAT関数は、範囲指定ができる「シンプルで高速な結合」に向いています。
  • TEXTJOIN関数は、区切り文字が指定でき、空白セルも制御できる「高機能な整形結合」に向いています。

初心者のうちは、まずは「区切り文字が必要かどうか」で使い分ける習慣をつけてみてください。特にTEXTJOIN関数の「空白セルを無視する」機能は、実務におけるデータクレンジング(データの整理整頓)で非常に重宝します。

これらの関数を使いこなすことで、これまで手作業でコピー&ペーストしていた文字列の結合作業が、一瞬で終わるようになります。ぜひ今すぐ、お手元のExcelシートで試してみてくださいね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次