Excelで複数の文字列を接続する方法としては&(アンド)を使用する方法が有名ですが、数が多いと一つ一つ&を記載するのは大変です。TEXTJOIN関数を使用すれば、複数のセルを一気に選択し、接続することができます。
TEXTJOIN(区切り文字, 空白を無視, 文字列1, [文字列2], …) |
---|
選択した複数の文字列を接続し、一つの文字列に変換する。区切り文字を指定すれば、文字列の間に任意の文字を入れることができる。 |
区切り文字を入れない方法
たとえば、このような1つ1つのセルに分解された住所を接続し、一つの住所にしたいと思います。

区切り文字を入れずに接続する場合は、一つ目の引数は空白にします。空白を無視する場合は二つ目の引数にTRUEを指定し、三つ目の引数には接続したいセルの範囲を選択します。
=TEXTJOIN(,TRUE,B2:I2)

これで複数のセルの文字列を一気に接続することができます。

数式を下にコピーすれば、一気に他の住所も接続されます。

同じような関数にCONCAT関数があります。これもセルを選択し、一気に文字列を接続することができます。しかし、区切り文字を指定することはできないので、より利便性の高いTEXTJOIN関数を覚えれば良いと思います。

区切り文字を入れる方法
TEXTJOIN関数では、接続する文字列の間の区切り文字を指定することができます。たとえば、姓と名の間に空白を入れて接続したい場合、一つ目の引数にはダブルクォーテーションで囲み、空白を入力します。
=TEXTJOIN(” “,TRUE,A2:B2)

そうすると姓と名の間に空白を入れることができます。

その他、顧客リストから顧客一覧を文字列として表示したい場合は、区切り文字に読点を入力します。
=TEXTJOIN(“、”,TRUE,A2:A6)

そうすると、読点で区切った顧客一覧を表示させることができました。たとえば、顧客一覧を文章にコピーする場合などに役に立ちます。
複数の区切り文字を指定する方法
TEXTJOIN関数の応用として、区切り文字を複数指定することができます。たとえば、部署名と姓と名を接続する際、部署名と姓の間にはコロン(:)、姓と名の間には空白を入れたいと思います。そのような場合、コロン(:)と空白の2つの区切り文字を中かっこ({})で囲みます。これで一つ目の区切り文字はコロン(:)、二つ目の区切り文字は空白として指定することができます。
=TEXTJOIN({“:”,” “},TRUE,A2:C2)

これで、部署名と姓の間にはコロン(:)、姓と名の間には空白を入れて接続することができます。

文字列の間に改行を入れる方法
区切り文字には文字列だけでなく、CHAR関数を使って改行を入れることができます。
CHAR(文字コード) |
---|
指定された文字コードに対応する文字を返す。文字コード10は改行を意味する。 |
たとえば、郵便番号と住所、建物名に改行を入れて表示させたい場合、区切り文字にCHAR(10)と入力します。
=TEXTJOIN(CHAR(10),TRUE,A2:C2)

これで、改行を入れて文字を接続することができます。

ただ、これだけでは改行が入っているようには見えないので、ホームタブから「折り返して全体を表示する」をクリックします。

これで改行を入れて住所を表示させることができます。

このようにTEXTJOIN関数を使えば、効率的に文字列を接続することができます。
コメント