CONCAT関数の使い方|範囲の文字をまとめてつなげる・TEXTJOINとの違い

CONCAT関数の使い方|範囲の文字をまとめてつなげる・TEXTJOINとの違い

エクセルで、セル範囲の文字をまとめて1つにつなげるには CONCAT関数を使います。A3〜C3 の「東京都」「千代田区」「丸の内」なら、=CONCAT(A3:C3) で 東京都千代田区丸の内 になります。

CONCATENATE関数は1つずつセルを指定しますが、CONCAT関数は範囲で指定できるのが違いです。この記事では、CONCAT関数の基本、文字をはさむ方法、空欄の扱い、TEXTJOIN関数との使い分け、数値をつなげたときの注意、2行以上の範囲の順番までを、1つの表で説明します。下の練習ツールで、文字を書き換えて結果の変わり方を試せます。

ポイントCONCAT関数は Excel 2019 以降・Microsoft 365 で使えます。古いバージョンでは CONCATENATE関数か & を使います。
目次

CONCAT関数の書き方

CONCAT関数の構文
数式=CONCAT(テキスト1,[テキスト2],…)
ひとことで文字列をつなぐ
テキスト1
つなぐ文字列・セル範囲です
[テキスト2]
つなぐ文字列・セル範囲です(省略できます)
…
同じように続けて指定できます

テキストには、範囲・セル・「”」で囲んだ文字を指定できます。

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

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

CONCAT関数の使い方|やりたいこと別の式

やりたいこと式(例)結果
範囲をまとめてつなげる=CONCAT(A3:C3)東京都千代田区丸の内
間に文字を入れる=CONCAT(A4,”/”,B4,”/”,C4)2026/10/21
空欄は飛ばされる=CONCAT(A5:C5)AB
区切り文字を入れる=TEXTJOIN(“・”,TRUE,A6:C6)赤・青・黄
数値をつなげる=CONCAT(A7:C7)123(文字)
数値に戻す=VALUE(CONCAT(A8:C8))123(数値)
2行の範囲をつなげる=CONCAT(A9:B10)山田太郎佐藤花子
エクセルのCONCAT関数で範囲の文字をつなげた表
エクセルのCONCAT関数で範囲の文字をつなげた表

範囲をまとめてつなげる

1
結果を出したいセル(E3)を選びます。
2
「=CONCAT(」と入力し、範囲(A3:C3)をドラッグします。
3
「)」と入力して Enter キーを押します。
CONCAT関数の式
数式=CONCAT(A3:C3)
ひとことで文字列をつなぐ
A3:C3
つなぐ文字列・セル範囲です

結果は 東京都千代田区丸の内 です。セルが何十個あっても、範囲を1つ指定するだけです。

間に文字を入れてつなげる

CONCAT関数の式
数式=CONCAT(A4,"/",B4,"/",C4)
ひとことで文字列をつなぐ
A4
つなぐ文字列・セル範囲です
"/"
つなぐ文字列・セル範囲です
B4
つなぐ文字列・セル範囲です
"/"
つなぐ文字列・セル範囲です
C4
つなぐ文字列・セル範囲です

「/」をはさむときは、セルと文字を1つずつ並べます。結果は 2026/10/21(文字)です。

空欄は飛ばされる

CONCAT関数の式
数式=CONCAT(A5:C5)
ひとことで文字列をつなぐ
A5:C5
つなぐ文字列・セル範囲です

C5 が空欄なので、「A」と「B」だけがつながって AB です。

区切り文字を入れたいときは TEXTJOIN関数

TEXTJOIN関数の構文
数式=TEXTJOIN("・",TRUE,A6:C6)
ひとことで区切り文字をはさんでつなげる
"・"
区切り文字です
TRUE
空白を無視するかです
A6:C6
つなげる文字1です

CONCAT関数には区切り文字の指定がないので、範囲の間に同じ文字を入れたいときは TEXTJOIN関数を使います。結果は 赤・青・黄 です(TEXTJOIN関数の使い方)。

数値をつなげると文字になる

CONCAT関数の式
数式=CONCAT(A7:C7)
ひとことで文字列をつなぐ
A7:C7
つなぐ文字列・セル範囲です

1・2・3 をつなげると 123 ですが、結果は文字(左寄せ)です。計算に使うなら =VALUE(CONCAT(A8:C8)) で数値の 123 に戻します(VALUE関数の使い方)。

2行以上の範囲は「行の順」につながる

CONCAT関数の式
数式=CONCAT(A9:B10)
ひとことで文字列をつなぐ
A9:B10
つなぐ文字列・セル範囲です

A9→B9→A10→B10 の順(横に読んでから次の行)につながり、結果は 山田太郎佐藤花子 です。

【実機で検証】金額や日付をつなげると表示が変わる

エクセルのCONCATで金額のカンマが消え日付が数になりTEXT関数で直した画面
エクセルのCONCATで金額のカンマが消え日付が数になりTEXT関数で直した画面
ためしたこと結果
1,200 と表示した金額をつなげる合計1200円(「,」が消えた)
TEXT(B1,"#,##0") にしてつなげる合計1,200円
2026/11/3 の日付をつなげる46329納品
TEXT(B2,"m月d日") にしてつなげる11月3日納品

CONCAT は、セルの見た目ではなく中身の値をつなげます。桁区切りや日付の表示を残したいときは、TEXT 関数で表示形式を指定してからつなげます。

CONCAT関数がうまくいかないときの確認表

症状考えられる原因対処
「#NAME?」になるCONCAT関数がない古いバージョンCONCATENATE関数か & を使う。
区切りが入らないCONCAT関数は区切り文字を指定できないTEXTJOIN関数を使う。
カンマ・日付の表示が消える表示形式は引き継がれないTEXT関数で形を決めてからつなげる。
数値として計算できない結果は文字VALUE関数で数値に戻す。

CONCAT関数のよくある質問

CONCATENATE関数との違いは?

結果は同じですが、CONCAT関数は範囲で指定できます。CONCATENATE関数は古いバージョンとの互換用として残っています(CONCATENATE関数の使い方)。

縦に並んだ名前を「、」でつなげたい

=TEXTJOIN("、",TRUE,A3:A10) のように TEXTJOIN関数を使います。

あわせて読みたい:文字をつなげる関連記事

練習用ファイル:練習用Excelファイル(.xlsx・無料)

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

この記事を書いた人

コメント

コメントする

目次