Excelで文字列を結合する方法|&・CONCAT・TEXTJOINの使い分け

姓・名・敬称を まとめて結合。無料Excelサンプル付き。

少数のセルをつなぐなら&、連続する範囲をまとめるならCONCAT、区切り文字を入れて空白を飛ばすならTEXTJOINが便利です。日付や数値の見た目を保って結合する場合はTEXT関数を組み合わせます。

無料Excelサンプルで一緒に試す

姓・名・敬称や住所を結合する例題です。姓と名を変更し、&のシートとCONCAT・TEXTJOINのシートで結果を比較できます。

無料サンプルファイルをダウンロード(.xlsx)

Microsoft 365・Excel 2019以降向け。旧版では本文の&結合をお試しください。

目次

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

&で2つのセルをつなぐ

A2に山田、B2に太郎がある場合です。

D2・E2に入力:&演算子で、2つのセルをつなぐ
数式=A2&B2
=A2&" "&B2
ひとことでセルの中身を、そのままつなぐ。間に空白などを入れたいときは、文字を二重引用符で囲む
A2
姓のセルです。セル参照は、引用符で囲みません
B2
名のセルです
" "
間に入れる半角の空白です。挿入したい文字は、半角の二重引用符で囲みます
データの流れ
① 姓と名を、そのままつなぐ
A2山田B2太郎D2山田太郎
▼
② 間に空白を入れてつなぐ結果
A2山田B2太郎E2山田 太郎
ポイント1つ目は山田太郎、2つ目は半角空白を入れた山田 太郎になります。セル参照は引用符なし、挿入したい空白や文字は半角のダブルクォートで囲みます。セルを結合して中央揃えにする操作とは異なり、元データを残して別セルに結果を作ります。

CONCATで範囲をまとめる

C2に様を追加した例です。

F2に入力:CONCATで、範囲をまとめてつなぐ
数式=CONCAT(A2:C2)
ひとことで姓・名・敬称の3つのセルを、左から順につなぐ
A2:C2
つなぐ範囲です。範囲を指定して、まとめてつなげます
補足CONCAT自体には、区切り文字を一括で指定する機能がありません。間に空白やスラッシュを入れる用途には、TEXTJOINが向いています。
ポイント山田太郎様になります。CONCAT自体には区切り文字の一括指定がないため、間に空白やスラッシュを入れる用途ではTEXTJOINが向いています。

TEXTJOINで区切りを一括指定する

F2に入力:TEXTJOINで、区切り文字付きでつなぐ
数式=TEXTJOIN("/",TRUE,A2:C2)
ひとことで範囲のセルを、「/」で区切ってつなぐ。空のセルは無視する
"/"
第1引数です。区切り文字を指定します
TRUE
第2引数です。TRUEにすると、空のセルを無視します。FALSEなら、空のセルも区切ります
A2:C2
つなぐ範囲です
補足セルに空白の文字(スペース)が入っているときは、本当の空のセルとは異なるので、必要に応じて元データを整理します。
ポイント山田/太郎/様となります。第1引数が区切り文字、第2引数のTRUEは空のセルを無視する指定です。セルに空白文字が入っている場合は、本当の空セルとは異なるので必要に応じて元データを整理します。
ポイント住所を結合するなら区切りを””にします。番地より後に建物名を置きたい場合は、セルの並び順もその順にそろえてください。

日付や先頭0を保つ

日付や書式付き数値を&でそのままつなぐと、日付がシリアル値になったり先頭0が消えたりします。説明用のD2が日付、E2が数値の管理番号なら次のようにします。

F2・F3に入力:TEXT関数で、日付や先頭0を整えてつなぐ
数式=A2&":"&TEXT(D2,"yyyy/mm/dd")
="管理番号 "&TEXT(E2,"00000")
ひとことで日付や数値を、書式を指定した文字にして、つなぐ
D2
日付のセルです。そのままつなぐと、日付の中身(シリアル値)が出ます
"yyyy/mm/dd"
日付の書式です。「2026/04/01」のような文字になります
"00000"
数値を、5桁になるように、先頭に0を足す書式です
補足TEXTの結果は文字列です。金額や日付を後で計算するための元のセルは、別に残します。
注意TEXTの結果は文字列です。金額や日付を後で計算するための元セルは別に残します。管理番号に意味のある先頭0が含まれる場合は、最初から文字列として入力する方法もあります。

セル内で改行して結合する

セルに入力:セル内で改行して、つなぐ
数式=TEXTJOIN(CHAR(10),TRUE,A2:C2)
ひとことで区切り文字を改行(CHAR(10))にして、1つのセルの中で、改行しながらつなぐ
CHAR(10)
改行を表す文字です。区切り文字として指定します
TRUE
空のセルを無視します
補足結果のセルで「折り返して全体を表示する」を有効にします。
注意結果セルで「折り返して全体を表示する」を有効にします。行の高さが固定されている場合は、文字が隠れない高さへ調整してください。TEXTJOINで結合した結果がセルの文字数上限を超えるとエラーになるため、大量の文章を1セルに集める用途には向きません。

対応版と選び方

CONCAT・TEXTJOINはMicrosoft 365やExcel 2019以降で使えます。Excel 2016など旧版との互換性が必要なら&やCONCATENATEを使います。

セルに入力(旧版との互換用):CONCATENATEで、つなぐ
数式=CONCATENATE(A2," ",B2)
ひとことでセルや文字を、1つずつ並べてつなぐ(Excel 2016など旧版でも使える)
A2
つなぐセルを、1つずつ並べます
" "
間に入れる文字です
補足CONCATENATEは、A2:C2のような範囲を、そのまま一括でつなぐ用途には使えません。
注意CONCATENATEはCONCATと違い、A2:C2のような範囲をそのまま一括結合する用途には使いません。結合後の文字を再び分けるなら区切り文字で分割する方法が役立ちます。

無料Excelサンプルで復習する

姓・名・敬称や住所を結合する例題です。姓と名を変更し、&のシートとCONCAT・TEXTJOINのシートで結果を比較できます。

無料サンプルファイルをダウンロード(.xlsx)

Microsoft 365・Excel 2019以降向け。旧版では本文の&結合をお試しください。

次に読むと理解が深まる記事

参考:Microsoft公式ドキュメント TEXTJOIN / CONCAT / TEXT

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次