CONCAT 関数:構文、使用例、エラーの解決法
2026-10-13 更新 · 無料 · Excel と Google Sheets に対応
構文
=CONCAT(text1, [text2], ...)クイック回答
CONCAT は値を何も挟まずに 1 つのセルへ結合します:=CONCAT(A2:A4) なら 3 セルが「DoeSmithLee」に。古い CONCATENATE に対する最大の利点は範囲を丸ごと受け取れること——ただし区切り(空白・ハイフン)はすべて手入力で、結果はテキストなので計算には使えません。
構文
=CONCAT(text1, [text2], ...)| 引数 | 意味 |
|---|---|
| text1 | 結合する最初の値——セル、数値、引用符付きの文字列、または A2:A8 のような範囲全体。必須。 |
| [text2], ... | 追加の値(省略可)、合計 254 個まで。セル・範囲・文字列を自由に混ぜられます:=CONCAT(A2, B2:B5, "-done")。 |
地域設定によっては引数がカンマではなくセミコロンで区切られます:=CONCAT(A2; " "; B2)。カンマが小数点記号の国では標準の挙動です。
他のすべてより重要な違いが 1 つ:CONCAT は範囲全体を受け取れます——=CONCAT(A2:A8) は有効な数式です。古い CONCATENATE は範囲を渡すとエラーになるか、バージョンによっては黙って最初のセルだけを取ります。
基本例
=CONCAT(A2, " ", B2)日常の氏名結合:A2 に名、B2 に姓。CONCAT はデフォルトで何も挟まないので、空白は 2 つのセルの間に自分で入力する文字列です——忘れると「Doe」に「Smith」が猛スピードで衝突します。
=CONCAT(A2:A4)CONCATENATE にはできない範囲テクニック:3 つのセルが区切りなしのコード 1 つに折りたたまれます——「AE2026XL」。プロダクトキー、SKU コード、スラッグなど、部分間に何も入ってはいけない場面に最適です。
=CONCAT(A2, "-", B2, "-", C2)区切り付きのキーやコード:各部分の間に引用符で入力したハイフンが入ります。3 つの値にハイフン 2 つ——値が増えるほど入力が増え、そこは TEXTJOIN の出番です。
="Total: " & SUM(B2:B10)& 演算子なら関数なしで同じことができます。2〜3 個ならこちらが速い——値が範囲から来る場合や一覧が長すぎて手入力できない場合に CONCAT が勝ちます。
CONCAT の結果はテキストです。「12」と「34」を結合した「1234」はもう合計できず、日付はセルの表示ではなくシリアル値(45296)として結合されます。計算には元のセルを残すか、VALUE で戻してください。
よくあるエラーと修正方法
| 症状 | 最も多い原因 | 修正 |
|---|---|---|
| #NAME? | CONCAT のスペルミス——または 2016 より古い Excel(関数が存在しない)、または別言語版 Excel で名前がローカライズされている(CONCATENAR、CONCATENER、VERKETTEN)。 | =CONC と入力してオートコンプリートで確認。古いバージョンでは CONCATENATE か & 演算子を使います。 |
| #VALUE! | 結合結果が 32,767 文字を超過——セルのハードリミット。巨大な範囲が静かにこのエラーへ流れます。 | 範囲を複数の CONCAT セルに分割し(A2:A500、A501:A1000…)、その結果を結合します。 |
| 値がくっつく(「DoeSmith」) | セル間に区切り引数がない——CONCAT は自分では何も挿入しません。 | 各ペアの間に " " や ", " を入力するか、区切りを自動挿入する TEXTJOIN へ切り替えます。 |
| 日付が「45296」になる | 日付は内部ではシリアル値で、CONCAT は表示ではなく数値を見ています。 | 包みます:=CONCAT(A2, " ", TEXT(B2, "yyyy/mm/dd"))——書式コードはロケールに従います。 |
| 数値の書式が消える | 同じ理由:セルの表示書式は結合に引き継がれません——セルは 1,234.50 と表示しても、結合結果は「1234.5」。 | TEXT(A2, "#,##0.00") で包むと桁区切りが付きます。表示の基準は元のセルに残します。 |
見えない空白も両側から結合を壊します:「Doe 」と「 Smith」は真ん中に二重空白のある「Doe Smith」になります。元の範囲を先に整えてから結合すれば、結果はぴったり揃います。
CONCAT と CONCATENATE・& 演算子の比較
| CONCAT | CONCATENATE | & 演算子 | |
|---|---|---|---|
| 範囲 | 対応——=CONCAT(A2:A8) が範囲全体を折りたたむ | 非対応——エラーになるか最初のセルのみ | 非対応——1 参照につき 1 セル |
| 区切り | 内蔵なし——値の間に手入力 | 内蔵なし——同じ手入力 | 値の間に & を置き、区切りは文字列で入力 |
| 利用可能 | Excel 2016 以降、Microsoft 365 | 最初期の Excel から全バージョン | 全バージョン |
| 最適な場面 | 範囲やコードの結合 | 互換性を保つべき古いブック | 2 値のその場での結合 |
=CONCATENATE(A2, " ", B2)旧式の名前はすべての Excel で今も動き、多くの非英語版で使われている名前です(CONCATENAR、CONCATENER、VERKETTEN)——引数も結果も同じ、範囲だけが違います。範囲が必要になった瞬間に、Microsoft 365 ユーザーは CONCAT へ切り替えられます。
CONCAT と TEXTJOIN の比較
| CONCAT | TEXTJOIN | |
|---|---|---|
| 区切り | なし——すべて手入力 | 1 つの引数で全体をカバー:=TEXTJOIN(", ", TRUE, A2:A8) |
| 空セル | 空文字列として結合——区切りを手入力すると隙間が二重に | ignore_empty=TRUE で一発スキップ |
| 範囲 | 対応、ただしセル間の区切りなし | 対応、各ペアの間に自動で区切り |
| 利用可能 | Excel 2016 以降 | Excel 2019 以降、Microsoft 365 |
| 最適な場面 | 部分が密着すべきコードや ID | 列から作る読めるリスト |
経験則:部分を密着させたいなら CONCAT、結果を人に読ませたいなら TEXTJOIN。どちらもテキストを返し、計算には使えません——先ほどの警告は両方に当てはまります。
Google Sheets での CONCAT
Google Sheets の CONCAT と CONCATENATE は Excel と同じ構文なので、基本的な数式はそのまま貼り付けられます。本格的なリスト作りには、Sheets 独自の JOIN もあります——TEXTJOIN と同じ働きをしながら、空セルを TRUE なしで自動スキップします。
- カンマを小数点に使う地域ではセミコロンへ:=CONCAT(A2; " "; B2)——この挙動は Excel と同じです。
- JOIN(range, delimiter) は空セルなしリストを作る Sheets の近道。TEXTJOIN もあり、引数は同一です。
- 逆操作は SPLIT:1 つのセルを複数に切り分け、CONCAT が結合したものを元に戻します。
制限と上級テクニック
- 空セルを無視するスイッチはありません:中間の空セル+手入力の区切りで「Doe Smith」のような二重空白が残ります。元データを先に整えるか、TEXTJOIN へ移行します。
- 254 引数の上限は 1 数式あたり——数千行ならセルを列挙せず範囲で(=CONCAT(A2:A500))結合します。
- 2 セルをその場で?& のほうが速い。範囲全体?CONCAT。区切り付きの読めるリスト?TEXTJOIN——癖ではなく形で選びます。
- 数値に見える結果は VALUE で戻せます:=VALUE(SUBSTITUTE(A2, " ", "")) が掃除済みテキストを本物の数値へ変換します。
CONCAT は最初ではなく最後のステップとして扱います:まず余計な空白を刈り、空欄を整え、それから結合する。結合の品質は、投入するセルの品質そのものです。
関連ツール
関連関数
よくある質問
CONCAT は Excel で何をしますか?
複数の値を何も挟まずに 1 つのセルへ結合します:=CONCAT(A2, " ", B2) は手入力の空白で 2 つの名を、=CONCAT(A2:A4) は範囲全体を 1 つの文字列へ折りたたみます。CONCATENATE の現代版です。
CONCAT と CONCATENATE の違いは?
範囲だけです:CONCAT は =CONCAT(A2:A8) を受け取り範囲全体を折りたたみますが、CONCATENATE はエラーになるか最初のセルだけを取ります。単一セルどうしなら両者は完全に同じ——引数も結果も同一です。
結合する値の間に空白やカンマを入れるには?
区切りを文字列として値の間に入れます:=CONCAT(A2, ", ", B2)。列全体なら TEXTJOIN のほうが短い——最初の引数がすべての隙間を一度に担当します:=TEXTJOIN(", ", TRUE, A2:A8)。
CONCAT すると日付が 45296 のような数字になるのはなぜ?
Excel は日付をシリアル値で保存しており、CONCAT は表示ではなく保存値を結合します。先に TEXT で包みます:=CONCAT(A2, " ", TEXT(B2, "yyyy/mm/dd")) とすれば読める形が保たれます。
CONCAT が使える Excel のバージョンは?
Excel 2016 以降と Microsoft 365。Excel 2013 以前にはこの名前が存在せず——#NAME? が合図——CONCATENATE か & 演算子が代役です。
CONCAT の後、数値が計算できなくなったのはなぜ?
結合の結果はテキストです——「1234」は数値に見えても合計はゼロ。計算には元のセルを残すか、数値として必要なときに =VALUE(A2) で結果を変換し直します。
CONCAT は Google Sheets で使えますか?
使えます——名前・構文・テキスト出力の挙動が同じで、カンマ小数点地域ではセミコロンになるだけ。Sheets には空セルを自動スキップする JOIN と、逆操作の SPLIT もあります。
自分のファイルで試す準備はできましたか?
Excelの列を結合を開く — 無料