Excel

【Excel】CONCAT関数、TEXTJOIN関数を使用して文字列を結合する【MOS】

Excel、CONCAT関数、TEXTJOIN関数
この記事で分かること
  • 文字列を結合するCONCAT関数の使い方
  • 区切り文字を挿入しながら、文字列を結合するTEXTJOIN関数の使い方

Excelで文字列を結合する関数であるCONCAT(コンカット)関数とTEXTJOIN(テキストジョイン)関数を紹介します。

CONCAT関数とTEXTJOIN関数は、文字列だけでなく数値も引数に指定できます。

したがって、数値と数値、数値と文字列、文字列と文字列、すべて結合することができます。

TEXTJOIN関数は、結合したい項目の間に、「,」、「-」、「/」など自分が指定した区切り文字を挿入が可能です。

CONCAT関数

CONCAT関数は、「=CONCAT(文字列1, 文字列2, …)」という書式で使用します。

「文字列1」や「文字列2」には、文字列や文字列が入力されているセル参照や、セル範囲を指定できます。

また、数値も引数に指定することができ、結合することが可能です。

次の例で、「入会日」と「会員番号」と「グループID」を結合した「識別コード」をCONCAT関数で表示させてみましょう。

CONCAT1 CONCAT2

「A4」に「=CONCAT(B4:D4)」と、入会日、会員番号、グループIDに対応したセル範囲を引数として入力します。

入力したら、「Enter」キーで確定します。

CONCAT3

そうすると、「識別コード」に「入会日」と「会員番号」と「グループID」を結合した文字列が、確かに表示されました。

オートフィルを使って、数式をコピーして他の識別コードも表示させましょう。

CONCAT4

TEXTJOIN関数

TEXTJOIN関数は、CONCAT関数に比べると指定する引数がやや複雑です。

TEXTJOIN関数は、次のような書式で使用します。

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

「区切り文字」は、連結する各文字列の間に挿入したい文字列を指定します。一般的には「,」「-」「/」などを使用することが多いのではないかと思います。

Excelにおいて、数式内で文字列を入力する際には文字列を「”」ダブルクォーテーションで挟むというルールがあります。区切り文字も基本的には、文字列を使用すると思うので、「”」を忘れないように注意してください。(頻度は低いとは思いますが、区切り文字に数値を使用する場合は「”」は必要ありません。)

「空のセルの認識」という部分には、「TRUE」か「FALSE」を指定します。

TEXTJOIN関数における、「空のセルの認識」では、

  • 「TRUE」は、空のセルを無視
  • 「FALSE」は、空のセルを無視せず、空のセルに対しても区切り文字を挿入

することを意味します。

「文字列1」や「文字列2」には、CONCAT関数と同様に、文字列や文字列が入力されているセル参照や、セル範囲を指定できます。また、数値も使用できます。

先ほどの「識別コード」を今度は、TEXTJOIN関数で連結してみます。

TEXTJOIN1

「A4」に「=TEXTJOIN(“-“,TRUE,B4:D4)」と、「区切り文字」に「-」(ハイフン)、「空のセルの認識」に「TRUE」(空のセルは無視)を指定し、それに引き続き、入会日、会員番号、グループIDに対応したセル範囲を引数として入力します。

関数を確定し、オートフィルでコピーしましょう。

TEXTJOIN2

そうすると、「識別コード」に、「入会日」と「会員番号」と「グループID」、それぞれの項目間に「-」(ハイフン)が挿入された文字列が表示されました。

この例では、空のセルが存在しないため、「空のセルの認識」の「TRUE」/「FALSE」は関係ありませんでした。

「空のセルの認識」の「TRUE」/「FALSE」の違いを理解するため、「会員番号」を空のセルにしてみます。

TEXTJOIN3

「空のセルの認識」が「TRUE」の場合は、空のセルは無視されるので、「入会日」と「グループID」が「-」を介して結合されました。

それでは、最後に「会員番号」を空のセルにした状態で、TEXTJOIN関数の「空のセルの認識」を「FALSE」に変えてみます。

TEXTJOIN4 TEXTJOIN5

「識別コード」の「入会日」と「グループID」の間の「-」が2つになったのがお分かりいただけると思います。

これは「会員番号」の空のセルを認識し、「入会日」+「-」+「」+「-」「グループID」を結合したためです。

さらにMOSについて、勉強したい方は参考書を利用しましょう。