DTPでよく使うエクセル関数の使い方を丁寧に紹介【文字列を結合する関数:CONCATENATE・CONCAT・TEXTJOIN】

テキスト整形で、「置換」と同じくらいによく行うのが「結合」です。
ですが、実は「結合」の関数は何種類かあり、また関数を使用しない方法もあるのです。

目次

CONCATENATE関数

現在最も一般的な「結合」の関数は、CONCATENATEになります。

CONCATENATEの書式は以下の通りです。
=CONCATENATE(文字列1[,文字列2], ...,[,文字列255])
「文字列1」は必須項目
「文字列2」以降は省略可能
「文字列X」には、テキスト値、数字、セル参照のいずれかを指定。Xは255まで指定可能。
※セル参照:セルA1とかセルB2などのA1やB2のこと。
参照:CONCATENATE 関数 - Office サポート
使用場面としては、住所が「都道府県」「市区町村」「町名」が予め分割されて入力されている時に、印字はすべてつながった状態にしたい場合などによく使います。
例1
C2:東京都 D2:港区 E2:麻布百番 F2:100-100 G2:山田百番ビル
=CONCATENATE(C2,D2,E2,F2,G2)
結果:東京都港区麻布百番100-100山田百番ビル

住所とビル名の間に半角アキを入れたい場合は、
=CONCATENATE(C2,D2,E2,F2," ",G2)
結果:東京都港区麻布百番100-100 山田百番ビル

と、関数内の「F2」と「G2」との間に「," "」(半角コンマ"半角アキ")を挿入すればよいのです。

テキスト結合演算子「&」

実は、関数を使用しなくても結合は出来てしまいます。
それは、「&」を使用することです。

この「&」はテキスト結合演算子といい、CONCATENATE関数と同じテキストの結合をします。
例2
A2:山田 B2:花子
=CONCATENATE(A2,B2)
結果:山田花子

と、CONCATENATE関数を使用しても構いませんが、
例3
A2:山田 B2:花子
=A2&B2
結果:山田花子

の方が簡単です。

CONCATENATE関数を使用するか「&」(テキスト結合演算子)を使用するかは、好みの問題かなと思います。

今説明したCONCATENATE関数なのですが、現在ではCONCAT関数を推奨しています。

実はCONCATENATE関数は、旧バージョンExcelに対応するために残っているだけで、将来的には廃止になる可能性がある関数なのです。

自身は旧バージョンExcel(Excel for Mac 2011)をずっと使用していたので、結合の関数が新しくなっていることに、今回初めて知りました。

ですので、以下の内容はまだ使用したことがないことを予めお断りしておきます。

CONCAT関数

使用可能バージョン:
Excel for Microsoft 365, Excel for Microsoft 365 for Mac, Excel for the web, Excel 2019, Excel 2019 for Mac

CONCAT関数の書式は以下の通りです。
=CONCAT(文字列1[,文字列2], ...,[,文字列253])
「文字列1」は任意
「文字列2」以降は省略可能
「文字列X」には、テキスト値、数字、セル参照またはセルの範囲などの文字列の配列。Xは253まで指定可能。
※セルの範囲など:A:A(A列全ての範囲:列参照という)、A1:B2(A1〜B2、つまりA1・A2・B1・B2)
参照:CONCAT 関数 - Office サポート
使用場面は、CONCATENATE関数とほぼ同じですが、CONCAT関数では新たにセルの範囲なども指定できるようになりました。

ですので、CONCATENATE関数では
=CONCATENATE(C2,D2,E2,F2,G2)
が、CONCAT関数では
=CONCAT(C2:G2)
と簡略化できます。

TEXTJOIN関数

使用可能バージョン:
Excel for Microsoft 365, Excel for Microsoft 365 for Mac, Excel for the web, Excel 2019, Excel 2019 for Mac

TEXTJOIN関数の書式は以下の通りです。
=TEXTJOIN(区切り記号,ignore_empty,文字列1[,文字列2],...[,文字列252])
「区切り記号」は任意;
文字列、空、または二重引用符で囲まれた1つ以上の文字、または有効なテキスト文字列への参照。 数値を指定すると、文字列として扱われます。
「ignore_empty」は、TRUEの場合、空のセルは無視します。
「文字列1」は任意
「文字列2」以降は省略可能
「文字列X」には、テキスト値、数字、セル参照またはセルの範囲などの文字列の配列。Xは253まで指定可能。
参照:TEXTJOIN 関数 - Office サポート
TEXTJOIN関数の最重要点は、結合文字列間を区切る記号などを、予め一括で指定できることです。 これは何気に便利な機能です。

区切り記号を挿入する時、CONCATENATE関数、またはCONCAT関数の場合、
例5
C2:2020 D2:12 E2:25
=CONCATENATE(C2,"/",D2,"/",E2)または
=CONCAT(C2,"/",D2,"/",E2)

結果:2020/12/25

と、区切り記号を逐一挿入する必要がありますが、

TEXTJOIN関数の場合、
例6
C2:2020 D2:12 E2:25
=TEXTJOIN("/",TRUE,C2:E2)
結果:2020/12/25

と、最初に一括で挿入する区切り記号を指定できるのです。

これは、区切り記号を変更する際、非常に効率的なのは一目瞭然でしょう。

まとめ

Excel for Microsoft 365, Excel for Microsoft 365 for Mac, Excel for the web, Excel 2019, Excel 2019 for Macを使用の場合

  • テキスト結合演算子「&」
  • TEXTJOIN関数
  • CONCAT関数

の3つを使用し、CONCATENATE関数は使用禁止としてください。

旧バージョンExcelを使用の場合

  • テキスト結合演算子「&」
  • CONCATENATE関数

を使用してください。



コメント

よく読まれている記事

CSSボタンでテキストを天地中央に揃えるとき、なぜボタン高と行高を一緒にするのか

FullCalendarの導入からカレンダー毎の色指定まで

FacebookページのフィードURLを取得しウォールを自サイトに表示