【Excel】文字列を結合(連結)する方法、演算子「&」と関数(CONCATENATE, CONCAT, TEXTJOIN)

PC

今回は、Excelにおける文字列の結合(連結)についてです。Excelにおいて、文字列を結合する方法は、大きく分けて2種類あり、演算子である「&」を使用する方法とCONCATENATE関数などの関数を使用する方法があります。

演算子「&」による結合

演算子である「&」(アンパサンド)を使用して、文字列を結合することができます。簡易的な結合であれば、この方法を用いた方が良いと思います。

演算子「&」の使用例

表1のように、A1セルに「I」、B1セルに「like」、C1セルに「grapes」、D1セルに「.」という文字列が入力されています。

ABCDE
1Ilikegrapes.
表1:例

例1

A1からD1のセルに入力されている文字列を連結して、「I like grapes.」という文字列を作る場合は、下記の数式を入力します。

=A1&” “&B1&” “&C1&D1

「” “」は半角スペースを入れています。それぞれの文字列について演算子「&」を用いて文字列を結合しています。

文字列を入力する場合は、ダブルクォーテーション(”)で文字列を囲みます。

例2

A1からD1のセルに入力されている文字列と「and apples.」という文字列を連結して、「I like grapes and apples.」という文字列を作る場合は、下記の数式を入力します。

=A1&” “&B1&” “&C1” and apples”&D1

補足

文字列と数値や日付などを結合したい場合は、TEXT関数によって、フォーマットする必要があります。TEXT関数については、以前に記事を書いていますので、よろしければご覧ください。

CONCATENATE関数

CONCATENATE関数は、2つ以上の文字列を1つの文字列に結合する関数です。

CONCATENATE関数の書式

CONCATENATE(文字列1, [文字列2], …)

文字列1必須結合したい1番目の文字列を指定します。文字列を含むセルへの参照も可能です。
文字列2
任意結合したい2番目(n番目)の文字列を指定します。文字列を含むセルへの参照も可能です。
表2:CONCATENATE関数の引数

CONCATENATE関数の使用例

表3のような例でCONCATENATE関数を使用してみます。

ABCD
1shelikesapples.
表3:例

A1セルに「she」、B1セルに「likes」、C1セルに「apples」、D1セルに「.」という文字列が入力されています。

これらのセルに入力されている文字列をCONCATENATE関数により連結して、「She likes apples.」という文字列を作る場合は、下記の数式を入力します。

=CONCATENATE(A1,” “,B1,” “,C1,D1)

2つ目、4つ目の引数に「” “」(半角スペース)を入れています。

CONCAT関数

CONCAT関数は、CONCATENATE関数と同じく、2つ以上の文字列を1つの文字列に結合する関数ですが、引数に範囲などの文字列配列を指定することができます。

Excel2019, Office365で使用することができます。

tayuyu
tayuyu

CONCAT関数は、範囲や配列が使えるようになるんだね。

CONCAT関数の書式

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

文字列1必須結合したい1番目の文字列またはセル範囲などの文字列配列を指定します。
文字列2
任意結合したい2番目(n番目)の文字列またはセル範囲などの文字列配列を指定します。
表4:CONCAT関数の引数

CONCAT関数の使用例

表5のような例でCONCAT関数を使用してみます。

AB
1私はぶどうが
2好きです。
表5:例

A1セルに「私は」、B1セルに「ぶどうが」、A2セルに「好き」、B2セルに「です。」という文字列が入力されています。

これらのセルに入力されている文字列をCONCAT関数により連結して、「私はぶどうが好きです。」という文字列を作る場合は、下記の数式を入力します。

=CONCAT(A1:B2)

引数に範囲などを指定することにより、文字列をまとめて結合できるため、半角スペースなどの区切り文字が必要ない場合には、とても便利な関数になります。

TEXTJOIN関数

TEXTJOIN関数は、CONCAT関数の機能に加えて、区切り文字(空白スペース、カンマなど)の設定と空のセルを無視することができます。

Excel2019, Office365で使用することができます。

tayuyu
tayuyu

TEXTJOIN関数は、文字列結合の関数の中で一番高機能!

TEXTJOIN関数の書式

TEXTJOIN(区切り記号, 文字列1, [文字列2], …)

区切り記号必須区切り記号に使用したい文字列(または文字列への参照)を指定します。
空のセルを無視必須TRUEの場合、空のセルを無視します。
FALSEの場合、空のセルを無視しません。
文字列1必須結合したい1番目の文字列またはセル範囲などの文字列配列を指定します。
文字列2
任意結合したい2番目(n番目)の文字列またはセル範囲などの文字列配列を指定します。
表6:TEXTJOIN関数の引数

TEXTJOIN関数の使用例

表7のような例でTEXTJOIN関数を使用してみます。

ABCDE
1grapeぶどうappleりんご
2;,;.
表7:例

例1

A1からE1のセルに入力されているそれぞれの文字列をTEXTJOIN関数により連結して、「grape, ぶどう, apple, りんご」という文字列を作る場合は、下記の数式を入力します。

=TEXTJOIN(“, “,TRUE,A1:E1)

例2

A1からE1のセルに入力されているそれぞれの文字列をTEXTJOIN関数により連結して、「grape;ぶどう,apple;りんご.」という文字列を作る場合は、下記の数式を入力します。

=TEXTJOIN(A2:E2,TRUE,A1:E1)

まとめ

文字列の結合(連結)は、大きく分けて2つの方法があります。

  1. 演算子「&」による結合
  2. 関数の使用による結合(CONCATENATE関数、CONCAT関数、TEXTJOIN関数)

CONCATENATE関数、CONCAT関数、TEXTJOIN関数の違い

CONCATENATE関数、CONCAT関数、TEXTJOIN関数の違いをまとめると表8のようになります。

関数名特徴イメージ
CONCATENATE関数引数に範囲や配列を指定できない
CONCAT関数引数に範囲や配列を指定できるCONCATENATE関数の上位互換
TEXTJOIN関数引数に範囲や配列を指定できる
区切り文字に関する設定ができる
空のセルに関する設定ができる
CONCAT関数の上位互換
表8:各関数の違い

コメント

タイトルとURLをコピーしました