ExcelのCONCATENATE関数の使い方|CONCAT・TEXTJOINとの違いも解説

スポンサーリンク

Excelで複数の文字列を1つにまとめたいとき、CONCATENATE関数を使っている方は多いですよね。ただ、「CONCAT関数とどう違うの?」「そもそもまだ使っていいの?」と気になっている方もいるのではないでしょうか。

この記事では、CONCATENATE関数の基本的な使い方から実務での活用例まで解説します。後継のCONCAT関数・TEXTJOIN関数との違いや、移行すべきタイミングもお伝えするので、ぜひ参考にしてみてください。

この記事は次のような人におすすめ

– CONCATENATE関数の基本的な使い方を知りたい
– CONCAT関数やTEXTJOIN関数との違いがわからない
– 古い関数をこのまま使い続けていいか判断したい

ExcelのCONCATENATE関数とは?

CONCATENATE関数は、複数の文字列を1つにつなげる関数です。読み方は「コンキャティネイト」で、英語の Concatenate(連結する) が語源になっています。

「姓と名を結合する」「都道府県と市区町村をまとめる」といった場面で活躍します。Excelのすべてのバージョンで使えるので、古いExcelを使っている環境でも安心です。

ただし、Excel 2019 / Microsoft 365 以降では後継のCONCAT関数が用意されています。CONCATENATEは互換性のために残されている関数という位置づけです。

CONCATENATE関数の書き方(構文と引数)

基本構文

=CONCATENATE(文字列1, [文字列2], ...)

引数の説明

引数必須/省略可説明
文字列1必須結合したい文字列またはセル参照
文字列2, …省略可追加で結合したい文字列。最大255個まで指定可能

引数にはセル参照(A1)や直接入力した文字列(”こんにちは”)を指定できます。ただし、セル範囲(A1:A5)は指定できません。1つずつセルを指定する必要があるのがCONCATENATE関数の特徴です。

文字列の上限

結合した文字列が32,767文字(セルの文字数上限)を超えると #VALUE! エラーになります。通常の業務ではまず超えることはないので、あまり気にしなくて大丈夫ですよ。

CONCATENATE関数の基本的な使い方

セルを指定して結合する

A1に「東京都」、B1に「渋谷区」と入力されている場合を見てみましょう。

=CONCATENATE(A1, B1)

結果: 東京都渋谷区

2つのセルの値がそのまま結合されます。間にスペースや区切り文字は自動では入らないので、必要な場合は引数で追加してください。

文字列を直接入力して結合する

セル参照と固定の文字列を組み合わせることもできます。A1に「田中」と入っている場合です。

=CONCATENATE("氏名: ", A1, " 様")

結果: 氏名: 田中 様

直接入力する文字列はダブルクォーテーション(”)で囲みます。スペースも文字列として扱われるので、区切りのスペースを入れたいときは " " を引数に追加しましょう。

3つ以上のセルを結合する

A1に「田中」、B1に「太郎」、C1に「様」と入っている場合です。

=CONCATENATE(A1, " ", B1, " ", C1)

結果: 田中 太郎 様

結合したいセルの数だけ引数を追加していきます。セルが増えると式が長くなりますが、最大255個まで指定できますよ。

CONCATENATE関数の実務活用パターン

姓と名をスペース区切りで結合する

名簿データで姓(A列)と名(B列)を1つのセルにまとめる場面です。

=CONCATENATE(A2, " ", B2)

結果: 田中 太郎

全角スペースで区切りたい場合は " " を全角スペースに変えてください。

住所を1セルにまとめる

都道府県(A列)、市区町村(B列)、番地(C列)が分かれている場合です。

=CONCATENATE(A2, B2, C2)

結果: 東京都渋谷区1-2-3

住所のようにそのまま繋げたいケースでは、区切り文字なしで引数を並べるだけでOKです。

日付に曜日を付けた文字列を作る

A2に日付(例: 2026/3/16)が入っている場合です。日付をそのままCONCATENATE関数に渡すと「46092」のようなシリアル値が表示されてしまいます。TEXT関数(数値を指定した書式の文字列に変換する関数)で変換してから結合しましょう。

=CONCATENATE(TEXT(A2, "yyyy年m月d日"), "(", TEXT(A2, "aaa"), ")")

結果: 2026年3月16日(月)

TEXT関数の使い方については別記事で詳しく解説しています。

IDコードを生成する

部署コード(A列)と社員番号(B列)を組み合わせて、「SALES-001」のようなIDを作る場面です。

=CONCATENATE(A2, "-", TEXT(B2, "000"))

結果: SALES-001

TEXT関数の "000" は3桁のゼロ埋め書式です。社員番号が「1」の場合でも「001」に変換してくれます。

CONCATENATE・CONCAT・TEXTJOIN・&演算子の違い

Excelには文字列を結合する方法が複数あります。それぞれの特徴を比較表で整理しました。

比較項目CONCATENATECONCATTEXTJOIN& 演算子
セル範囲指定不可不可
区切り文字の自動挿入不可不可不可
空白セルの無視不可不可不可
対応バージョンすべて2019以降2019以降すべて
最大引数数255個253個253個制限なし
今後のサポート互換性のため残存推奨推奨継続

どれを使うべき? 使い分けの判断基準

迷ったときは、以下のフローで判断してみてください。

  1. 区切り文字を入れたい、または空白セルを無視したい → TEXTJOIN関数
  2. セル範囲をまとめて指定したい → CONCAT関数
  3. 2〜3個のセルを手軽に結合したい → & 演算子
  4. Excel 2016以前の環境で使う必要がある → CONCATENATE関数

CONCATENATE関数を選ぶのは「古いExcelとの互換性が必要な場合」に限られます。新しいExcel(2019以降)を使っているなら、CONCAT関数またはTEXTJOIN関数に切り替えるのがおすすめです。

CONCATENATEからCONCAT関数に移行する

CONCATENATE関数の式をCONCAT関数に書き換えるのはとても簡単です。

CONCATENATE関数の場合

=CONCATENATE(A1, " ", B1, " ", C1)

CONCAT関数に書き換えた場合

=CONCAT(A1, " ", B1, " ", C1)

関数名を CONCATENATE から CONCAT に変えるだけで動きます。さらに、セル参照をまとめて範囲に書き換えれば式がスッキリしますよ。

=CONCAT(A1:C1)

移行のタイミング

「自分しか使わないファイル」なら今すぐCONCAT関数に切り替えてOKです。「他の人と共有するファイル」で、相手がExcel 2016以前を使っている可能性がある場合は、CONCATENATE関数のまま残しておくのが安全ですよ。

CONCATENATE関数のよくあるエラーと対処法

エラー・症状原因対処法
#VALUE!結合結果が32,767文字を超えた結合する範囲を分割する
#NAME?関数名のスペルミスCONCATENATE のスペルを確認する
数値がそのまま表示される日付やパーセントを渡したTEXT関数で書式を指定してから結合する
セル範囲を指定したら1セル分しか結合されないCONCATENATE関数は範囲指定非対応セルを1つずつ指定するか、CONCAT関数に切り替える
余分なスペースが入る元のセルにスペースが含まれているTRIM関数で前後のスペースを除去してから結合する

日付の結合でよくあるミス

日付セルをそのままCONCATENATE関数に渡すと「46092」のようなシリアル値が表示されます。TEXT関数を使って TEXT(A1, "yyyy/mm/dd") のように文字列に変換してから結合しましょう。

まとめ

CONCATENATE関数は、Excelのすべてのバージョンで使える文字列結合の関数です。

  • すべてのバージョンで使えるのがCONCATENATE関数の強み
  • セル範囲の指定はできないので、セルを1つずつ指定する
  • 区切り文字や空白スキップが必要なら TEXTJOIN関数 を使う
  • Excel 2019以降なら CONCAT関数 への移行がおすすめ
  • 日付を結合するときは TEXT関数 で書式変換してから渡す

古いExcelとの互換性が不要なら、CONCAT関数に切り替えてみてください。関数名を変えるだけで移行できますよ。

Excelの文字列操作をもっと知りたい方は、Excelの文字列関数まとめもあわせてチェックしてみてください。

関連記事

関数一覧

どちらの関数一覧からでも各関数の解説記事へアクセスできます。

エラー値についてのまとめ記事

タイトルとURLをコピーしました