Excelで「文字列を結合する方法」を使い分ける
使用関数:CONCATENATE(~Excel2013)、CONCAT(Excel2016~)、TEXTJOIN(Excel2019~)
幾つかの文字列を結合させてセル内に表示させるには、結合演算子「&」か関数を使います。例えば、分割された「姓」と「名」を「姓名」にまとめるような場合や、特定のセル内の文字列に説明文を連結させたいというような場合です。&はどのExcelでも同じ使い方ができますが、文字列を結合する関数はExcelのバージョンによって異なります。
また、連結する文字列の数の多い少ない、配列同士を連結させたい、区切り文字を挟んで連結させたい、など、状況に応じて「文字列を結合する方法」を使い分ける必要があります。
ここではExcelで「文字列を結合する」方法を状況別に整理して解説しています。
Excel2016までは「演算子&」または「CONCATENATE関数」で文字列を結合する
Excel2016までのバージョンで文字列を結合するには「&(アンパサンド)」か「CONCATENATE(コンカティネイト)関数」を使用します。どちらも文字列、数値、単一のセル参照を指定してつなげます。
結合演算子&で文字列を結合する方法
下図のように分割された「住所1」と「住所2」を一つのセル内にまとめて連結させたい場合、普通にセルを結合させてしまうと「住所1」の文字列だけが残り、「住所2」は消えてしまいます。
そこで、結合演算子の記号「&」を使って、「J2」セルに「H2セル=住所1」と「I2セル=住所2」を連結させた文字列を表示させることにします。
「J2」セルを選択して「=」を入力します。
計算式の冒頭の=を速攻で入力したい
「H2」セルをクリック。
「&」を入力。
「I2」セルをクリック。
Enterを押せば完了。
数式は「=H2&I2」。更に連結させたい文字列があれば、&でつなげていきます。
「="移転先は、"&H2&I2&" "&"です"」という数式にすれば、以下のように表示されます。
CONCATENATE関数で文字列を結合する方法
&で文字列を連結するのと同じ結果が得られるCONCATENATE(コンカティネイト)関数を使ってみましょう。
連結させた文字列を表示させる「J2」セルを選択します。
「数式」タブの「関数ライブラリ」「文字列操作」からCONCATENATEをクリックしてCONCATENATE関数の引数ダイアログボックスを開きます。(※Excel2019以降はCONCATENATEは「文字列操作」から「その他の関数」の「互換性」に移動しています)
CONCATENATE関数の引数ダイアログボックスが開いたら、連結させたい文字列の入ったセルをクリックして指定するか、セル番号を入力します。
数式は「=CONCATENATE(H2,I2)」になります。
「演算子&」と「CONCATENATE関数」の違い
ここで誰もが思うのは、&とCONCATENATE関数のどちらを使うべきかということ。
「&」は数式を入力するのに慣れた人なら手早く作業できるし、これさえ覚えておけば簡単な文字列の連結は大抵OKでしょう。一方、ダイアログ使うのに慣れてる人なら、むしろ「CONCATENATE関数」の方が作業効率がいいと感じるかもしれません。
「&」と「CONCATENATE関数」のどちら?ということなら、どちらでもそれほどの差はないようです。ただ、CONCATENATEは現在Excelでは非推奨の互換性関数です。今後サポートが終了する可能性もあるので、リスク回避という観点から「&」を使った方がいいと思います。
Excel2019からは「CONCAT関数」「TEXTJOIN関数」「&」を使い分ける
単体のExcelでは2019(旧Office365では2016)から文字列を結合する進化系の2関数「CONCAT関数」と「TEXTJOIN関数」が加わりました。もちろん、「&」はそのまま従来通りに使用できます。
結合する文字列の数や状況によって「CONCAT関数」「TEXTJOIN関数」「&」を上手に使い分けていきましょう。
複数のセル範囲・配列をまとめて連結させるならCONCAT
CONCATENATE関数は単一セルの参照しかできませんが、CONCAT関数ならセル範囲をまとめて引数に指定することができます。
下図のように、複数のセル範囲を連結させます。=CONCAT(A1:D1,D2:E2)という数式になります。
CONCAT関数で文字列を連結させる方法はこちらの記事で更に詳しく解説しています

スペースやカンマなどの区切り文字で文字列を連結するならTEXTJOIN
区切り文字を挿入して文字列をつなげたい時は、CONCAT関数ではなくTEXTJOIN関数を使います。スペース、カンマ、スラッシュなどの区切り文字を指定して文字列を結合させることができます。
TEXTJOIN関数の使い方は以下の記事で詳しく解説しています

- Excel2016まで: 「演算子&」または「CONCATENATE関数」を使用
- Excel2019以降: 「演算子&」または「CONCAT関数」「TEXTJOIN関数」を使用
- 結合する文字列が少なく、単一セルを参照する: 「演算子&」を使用
- セル範囲・配列を結合する: 「CONCAT関数」を使用
- 区切り文字で文字列を連結する: 「TEXTJOIN関数」を使用