Excelで「文字列を結合する方法」を使い分ける

Excelで「文字列を結合する方法」を使い分ける
Excel

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」セルをクリック。
住所1のセルをクリック

「&」を入力。
&アンパサンドを入力

「I2」セルをクリック。
住所2のセルをクリック

Enterを押せば完了。
文字列が結合された

数式は「=H2&I2」。更に連結させたい文字列があれば、&でつなげていきます。

="移転先は、"&H2&I2&" "&"です"」という数式にすれば、以下のように表示されます。
更に文字列を連結させた

CONCATENATE関数で文字列を結合する方法

&で文字列を連結するのと同じ結果が得られるCONCATENATE(コンカティネイト)関数を使ってみましょう。

連結させた文字列を表示させる「J2」セルを選択します。
連結させた文字列を表示させるセルをクリック

「数式」タブの「関数ライブラリ」「文字列操作」からCONCATENATEをクリックしてCONCATENATE関数の引数ダイアログボックスを開きます。(※Excel2019以降はCONCATENATEは「文字列操作」から「その他の関数」の「互換性」に移動しています)
数式タブの文字列の操作からCONCATENATEを選ぶ

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関数で複数のセル範囲の文字列を連結させる

CONCAT関数で文字列を連結させる方法はこちらの記事で更に詳しく解説しています

CONCAT関数の使い方|複数の配列の文字列を結合
CONCAT関数の使い方を分かりやすく解説。CONCAT関数が使えないExcel、CONCATとCONCATENATE関数の違い、CONCAT関数に複数の配列を結合する、CONCATで日付を連結する、CONCATで改行を連結する方法など

スペースやカンマなどの区切り文字で文字列を連結するならTEXTJOIN

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

TEXTJOIN関数の使い方は以下の記事で詳しく解説しています

セル範囲の文字列を結合するならTEXTJOIN関数が超便利!
複数のセル範囲の文字列をつなげて表示させる。文字と文字をつなぐ区切り文字も自由に設定
「文字列を結合する方法」の使い分け一覧
  • Excel2016まで: 「演算子&」または「CONCATENATE関数」を使用
  • Excel2019以降: 「演算子&」または「CONCAT関数」「TEXTJOIN関数」を使用
  • 結合する文字列が少なく、単一セルを参照する: 「演算子&」を使用
  • セル範囲・配列を結合する: 「CONCAT関数」を使用
  • 区切り文字で文字列を連結する: 「TEXTJOIN関数」を使用
タイトルとURLをコピーしました