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とまったく同じ構文で使用できます。