cellio

Excelで文字列を結合する方法:&演算子・CONCAT・TEXTJOIN

Excelで文字列を結合する3つの方法を徹底解説。手軽な&演算子、セル範囲対応のCONCAT、区切り文字や空白無視ができるTEXTJOINの使い分けや、日付の表示形式崩れ対策までわかりやすく紹介します。

著者 Ayoub Farid · · 4 分で読めます

姓と名の結合、商品コードと番号の連結、複数列に分かれた住所の統合など、文字列の結合は実務で毎日のように発生する作業です。Excelには文字列を結合するための代表的な方法が3つ用意されています。それぞれの特徴と使い分けを見ていきましょう。

1. & 演算子(一番シンプル)

=A2&" "&B2

「Sam」と「Lee」を結合して「Sam Lee」にします。" " は半角スペースを挟むための指定です。以下のように、必要な数だけ自由に繋げることができます。

=B2&", "&A2         Lee, Sam
="ID-"&C2           ID-1042

2. CONCAT関数 と CONCATENATE関数

=CONCATENATE(A2," ",B2)
=CONCAT(A2," ",B2)

どちらも & 演算子と同じ結果が得られます。CONCATENATEは以前から使われている古い関数ですが、現在も互換性のためにサポートされています。Excel 2019以降で使用できるCONCAT関数は、=CONCAT(A2:C2) のようにセル範囲をまとめて指定できるのがメリットです。

3. TEXTJOIN関数(リストや複数セルの結合に最適)

=TEXTJOIN(delimiter, ignore_empty, text1, ...)
=TEXTJOIN(", ",TRUE,A2:E2)

指定した区切り文字を挟みながらセル範囲全体を結合し、さらに空白セルを無視してスキップしてくれます。そのため、「, , 」のように区切り文字だけが連続して残る心配がありません。建物名などの空欄が含まれやすい住所データの結合に最適です。Excel 2019以降、Microsoft 365、およびGoogleスプレッドシートで利用できます。

数値や日付の表示形式が消えてしまう場合

="Due: "&C2

日付が入ったセルをそのまま結合すると、「Due: 46096」のようにシリアル値(数値)が表示されてしまいます。意図した通りの日付表記にするには、TEXT関数 で囲みましょう。

="Due: "&TEXT(C2,"dd mmm yyyy")

改行を入れて結合する

=A2&CHAR(10)&B2

セル内で改行して表示させるには、セルの書式設定で「配置」タブの「折り返して全体を表示する」を有効にしてください。

逆に文字列を分割したい場合

結合した「Sam Lee」を再び2つの列に切り分けたい場合は、文字列を分割する方法 をご覧ください。氏名の結合に特化したテクニックは、姓と名を結合する方法 で詳しく解説しています。

よくある質問

Excelで2つのセルを結合するにはどうすればよいですか?

=A2&" "&B2、または =CONCAT(A2," ",B2) を使用します。

CONCAT関数とTEXTJOIN関数の違いは何ですか?

TEXTJOIN関数はアイテム間に区切り文字を挿入でき、空白セルをスキップする機能があります。CONCAT関数は単に指定した文字列やセルをそのまま連結します。

日付を結合するとなぜ数値に変わってしまうのですか?

文字列として結合する際、日付がExcel内部のシリアル値に変換されるためです。元の表示形式を維持するにはTEXT関数を使用してください。

GoogleスプレッドシートでもTEXTJOIN関数は使えますか?

はい、Excelとまったく同じ構文で使用できます。

あわせて読みたい