エクセルでは、氏名、住所、商品名、日付など、複数のセルに分かれた文字列を一つのセルへ結合したい場面がよくあります。
たとえば姓と名の間に半角スペースを入れたり、都道府県から番地までをつないだり、管理番号と商品名を組み合わせたりする作業です。
文字列の結合には、アンパサンド記号、CONCAT関数、TEXTJOIN関数を使い分ける方法があります。
セルの内容をただつなぐだけでなく、区切り文字の挿入、空白セルの除外、日付表示の整形までできるようになると、名簿や一覧表の作成がかなり効率化されます。
文字列結合でよく使う方法
・少ないセルをつなぐ場合はアンパサンド記号
・連続したセル範囲をつなぐ場合はCONCAT関数
・区切り文字をまとめて入れる場合はTEXTJOIN関数
この記事では、サンプルデータの1行目を見出し行として、エクセルでテキストを結合する具体的な数式と操作上の注意点を解説します。
エクセルでテキストを結合する基本操作
それではまず、セル内の文字列を結合する基本操作について解説していきます。
| A列 | B列 | C列 |
|---|---|---|
| 姓 | 名 | 氏名 |
| 田中 | 花子 | 田中 花子 |
| 佐藤 | 一郎 | 佐藤 一郎 |
結論として、少数のセルを順番どおりにつなぐなら、数式バーにアンパサンド記号を入力する方法が最も手軽です。
結合結果を表示するC2セルには、=A2&” “&B2 と入力します。
ダブルクォーテーションで囲んだ半角スペースは、姓と名の間に表示したい文字列です。
文字列を結合する数式では、セル番地とセル番地の間をアンパサンド記号でつなぎます。
アンパサンド記号による結合式
まずは、A列に姓、B列に名が入力されている一覧を用意しましょう。
C2セルを選択して、数式バーまたはセルに =A2&” “&B2 と入力し、Enterキーを押します。

数式のA2は姓、B2は名を参照し、その間の” “は半角スペースを表します。
結果としてC2セルには田中 花子のように、読みやすい氏名が表示されます。
記号そのものを結合したい場合は、記号を必ずダブルクォーテーションで囲むことが大切です。
【操作のポイント】セル参照はダブルクォーテーションで囲まず、間に表示する文字だけを囲みます。
区切り文字と固定文字の追加
続いて、文字列の間にハイフン、スラッシュ、郵便番号記号などを入れる方法を確認していきます。
たとえばA2セルが部署コード、B2セルが社員番号なら、=A2&”-“&B2 と入力すると、営業-001のような形式にできます。

商品コードと品名をつなぐ場合は、=A2&” “&B2&”(在庫品)” のように、末尾へ固定文字を追加することも可能です。
固定の文字列を数式へ混ぜると、管理表の表示形式を統一しやすくなります。
ただし、全角と半角のスペース、ハイフンの種類が混ざると検索や照合で困ることがあります。
【操作のポイント】結合に使う区切り文字は、表全体で同じ種類に統一しましょう。
数式のコピーとオートフィル
続いては、入力した結合式を複数行へコピーする方法を確認していきます。
C2セルに数式を入力したら、セル右下に表示される小さな四角形のフィルハンドルへマウスポインターを合わせます。
ポインターが黒い十字になった状態で下へドラッグすると、C3、C4以降にも数式がコピーされます。
コピー後の数式は、A2とB2が自動的にA3とB3、A4とB4へ変化する相対参照です。
隣の列に連続データがある場合は、フィルハンドルをダブルクリックして最終行まで自動入力する方法も便利でしょう。
【操作のポイント】コピー前に結合結果を1行だけ確認すると、意図しない空白や記号の拡大を防げます。
CONCAT関数による複数セルの連結
続いては、CONCAT関数を使って複数のセルをまとめて結合する方法を確認していきます。
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 都道府県 | 市区町村 | 番地 | 住所 |
| 東京都 | 新宿区 | 西新宿1-1-1 | 東京都新宿区西新宿1-1-1 |
CONCAT関数は、指定したセルまたはセル範囲の文字列を連結する関数です。
CONCAT関数の基本形
=CONCAT(文字列1,文字列2,文字列3)
住所データなら =CONCAT(A2,B2,C2) と入力します。
CONCAT関数は連続した範囲を指定できるため、列数が多い表で特に役立ちます。
CONCAT関数の基本入力
まずは、D2セルを選択して =CONCAT(A2,B2,C2) と入力します。
A2、B2、C2の文字列が表示順に連結され、東京都新宿区西新宿1-1-1という住所になります。

引数の間をカンマで区切る点は、通常の関数と同じです。
セルをキーボードで入力する代わりに、数式入力中に各セルをクリックして指定しても構いません。
【操作のポイント】住所のように間へ空白を入れないデータは、CONCAT関数だけで簡潔に作成できます。
セル範囲を指定する入力
続いては、連続したセル範囲を指定する方法を確認していきます。
A2からE2までに文字列が入っている場合、=CONCAT(A2:E2) と入力すれば、5個のセルを一度に結合できます。

セルごとにA2,B2,C2,D2,E2と指定するよりも短く、列の多いデータでは数式の見通しも良くなります。
範囲指定では左から右へ、指定した順番で文字列がつながります。
途中に空白セルがあってもエラーにはならず、そのセルの分だけ何も追加されません。
【操作のポイント】対象セルが横一列に並んでいる場合は、A2:E2のような範囲指定が便利です。
CONCAT関数とCONCATENATE関数
続いては、似た名前のCONCATENATE関数との違いを確認していきます。
CONCATENATE関数は以前から使われてきた文字列結合関数ですが、新しいエクセルではCONCAT関数の利用が推奨されます。
CONCATENATE関数でも =CONCATENATE(A2,B2,C2) のようにセルを結合できますが、A2:C2のような範囲指定には対応していません。
これから新しく数式を作るなら、操作性の高いCONCAT関数を選ぶとよいでしょう。
【操作のポイント】古いファイルの数式を修正する場合を除き、CONCATENATE関数よりCONCAT関数を優先します。
TEXTJOIN関数による区切り文字付き結合
続いては、区切り文字を自動で挿入できるTEXTJOIN関数を確認していきます。
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 商品分類 | 色 | サイズ | 表示名 |
| シャツ | 白 | M | シャツ・白・M |
TEXTJOIN関数は、複数の文字列の間へ指定した区切り文字を自動で入れながら結合できる関数です。
TEXTJOIN関数の基本形
=TEXTJOIN(区切り文字,空白セルを無視するか,結合する範囲)
商品名なら =TEXTJOIN(“・”,TRUE,A2:C2) と入力します。
区切り文字を何度も入力しなくてよいことが、TEXTJOIN関数の大きな利点です。
TEXTJOIN関数の基本式
まずは、D2セルを選択し、=TEXTJOIN(“・”,TRUE,A2:C2) と入力しましょう。
最初の引数である”・”は、各セルの間に入れたい区切り文字です。
二番目のTRUEは、範囲内に空白セルがあった場合に空白を無視する指定になります。
三番目の引数には、結合したいセル範囲を指定します。
この数式なら、シャツ・白・Mのように、各項目の間へ中黒を入れた表示名を作成できます。
【操作のポイント】区切り文字は” “、”・”、”-“、”,”など、必要な表示に合わせて変更できます。
空白セルを無視する指定
続いては、入力されていないセルがある場合の処理を確認していきます。
サイズが未入力の商品の場合、FALSEを指定すると、シャツ・白・のように末尾へ不要な中黒が残ることがあります。
空白セルを除外する数式
=TEXTJOIN(“・”,TRUE,A2:C2)
TRUEを指定すると、値が入っているセルだけを結合します。
任意項目が混在する一覧では、TRUEを指定すると見た目が整いやすくなります。
ただし、空白も一つの意味を持つデータでは、無視してよいかを事前に確認してください。
【操作のポイント】空欄が多い表ではTRUEを使い、余分な区切り文字を防ぎましょう。
改行を含めたセル内結合
続いては、一つのセルの中で改行しながら文字列を結合する方法を確認していきます。
住所の各要素を改行で表示したい場合、=TEXTJOIN(CHAR(10),TRUE,A2:C2) と入力します。
CHAR(10)は、エクセルで改行コードを表す関数です。
改行を含む結合式
=TEXTJOIN(CHAR(10),TRUE,A2:C2)
入力後にセルの書式設定で折り返して全体を表示するを有効にします。
改行が表示されないときは、ホームタブの折り返して全体を表示する設定を確認します。
【操作のポイント】ラベル、住所、備考を一つのセルへ見やすくまとめる場合に改行結合が有効です。
日付と数値を含む文字列結合
続いては、日付や数値を文字列とつなぐ際の表示形式を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 受注日 | 金額 | 表示内容 |
| 2026/9/16 | 12500 | 2026年9月16日 12,500円 |
日付や数値は、セルの見た目どおりではなく内部の値で結合されることがあります。
そのため、日付はTEXT関数で年月日形式に、金額は桁区切り付きの円表示に整えてから結合する方法が確実です。
日付と金額を結合する数式
=TEXT(A2,”yyyy年m月d日”)&” “&TEXT(B2,”#,##0円”)
TEXT関数による日付表示
まずは、日付セルを文字列へ結合する方法を確認していきます。
=TEXT(A2,”yyyy年m月d日”) とすると、2026/9/16という日付を2026年9月16日として表示できます。
日付をそのままアンパサンド記号でつなぐと、シリアル値になる場合があるためTEXT関数が重要です。
曜日を加えたい場合は、表示形式を”yyyy年m月d日(aaa)”に変更します。
【操作のポイント】日付を結合する前に、TEXT関数で読める表示形式へ変換します。
金額と桁区切りの表示
続いては、数値へ円や個などの単位を付ける方法を確認していきます。
=TEXT(B2,”#,##0円”) と入力すると、12500は12,500円として表示されます。
小数点以下を二桁まで表示する場合は、”#,##0.00″という書式を使います。
数値の見た目を保ったまま結合したいときも、TEXT関数を組み合わせる方法が基本です。
【操作のポイント】数値に通貨記号や単位を付ける処理は、結合後ではなく数式内で整えます。
文章形式の表示データ
続いては、日付、氏名、金額を使って通知文のような文字列を作る方法を確認していきます。
たとえば、=TEXT(A2,”m月d日”)&”のご注文金額は”&TEXT(B2,”#,##0円”)&”です。” と入力できます。
セルの値が更新されると文章内の日付や金額も自動で変わるため、定型メールの下書きや帳票の補助列にも活用できます。
文章を作成する数式例
=A2&”様のご注文金額は”&TEXT(B2,”#,##0円”)&”です。”
【操作のポイント】定型文の可変部分だけをセル参照にすると、入力ミスの削減につながります。
結合時の空白とエラーの対処
続いては、文字列結合で起こりやすい空白、ゼロ、エラー表示への対処を確認していきます。
| A列 | B列 | C列 |
|---|---|---|
| 姓 | 名 | 整形後の氏名 |
| 鈴木 | 鈴木 |
結合元のセルが空欄の場合、単純な数式では不要なスペースや区切り文字が残ることがあります。
IF関数、TEXTJOIN関数、TRIM関数を組み合わせると、表示の乱れを抑えられます。
名が空欄でも余分な空白を出しにくい数式
=TRIM(A2&” “&B2)
TRIM関数による余分な空白の削除
まずは、結合後の余分なスペースを削除する方法を確認していきます。
=TRIM(A2&” “&B2) と入力すると、B2が空欄でも末尾の余分な半角スペースを整えられます。
TRIM関数は、文字列の先頭と末尾の余分な半角スペースを削除し、途中に連続する半角スペースも一つにします。
ただし、全角スペースはTRIM関数だけでは処理できない点に注意が必要です。
【操作のポイント】空欄があり得る氏名や住所の結合では、TRIM関数を加えると表示が安定します。
IF関数による条件付き結合
続いては、入力済みのセルだけを条件付きで結合する方法を確認していきます。
=A2&IF(B2=””,””,” “&B2) と入力すると、B2が空欄ならスペースとB2を追加しません。
入力値があるときだけ敬称、枝番、補足情報を付けたいケースでも同じ考え方を使えます。
IF関数を組み込むと、空欄の有無に応じて結合結果を柔軟に変えられます。
【操作のポイント】空白セルの扱いを細かく決めたい場合は、TEXTJOIN関数よりIF関数が向いています。
エラー表示の確認
続いては、結合式でエラーが出る場合の確認箇所を見ていきます。
数式の先頭にイコール記号がない、ダブルクォーテーションが片方だけ、括弧の閉じ忘れといった入力ミスはよくある原因です。
#VALUE!エラーが出る場合は、参照先に別のエラーが含まれていないかも確認しましょう。
エラーを空白にしたい場合は、=IFERROR(A2&” “&B2,””) のようにIFERROR関数で囲む方法があります。
【操作のポイント】結合式が正しく見えても、参照元セルのエラーが結果へ引き継がれる場合があります。
まとめ エクセルでテキストを結合する方法
エクセルでセル内の文字列を結合する方法は、作りたい表示とデータの並びによって選ぶことが大切です。
少ないセルを手早くつなぐなら、=A2&” “&B2 のようなアンパサンド記号による結合が分かりやすい方法です。
連続する複数セルをまとめるならCONCAT関数、区切り文字を自動で入れながら空欄も除外したいならTEXTJOIN関数が便利でしょう。
日付や金額を含める場合は、TEXT関数を使って表示形式を整えてからつなげます。
空欄による余分なスペースが気になる場合は、TRIM関数、IF関数、TEXTJOIN関数を使い分けてください。
結合用の列を作っておけば、元データを変更したときにも結果が自動で更新されます。
氏名、住所、商品名、管理番号などの表を扱うときは、まず一行目のデータで数式を完成させ、オートフィルで最終行までコピーしていきましょう。