CONCATENATE関数の使い方・読み方|&演算子との違いと使い分け

執筆者:

カテゴリ:

CONCATENATE関数の使い方・読み方のイメージ

文字列

CONCATENATE関数の使い方・読み方

Excel関数辞典

読み方:CONCATENATE は「コンカティネイト」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)

CONCATENATEは、複数の文字列をつなげる関数です。

使える環境Excel○Googleスプレッドシート○
このページの中身(24項目)
  1. 書式
  2. 基本の使い方
  3. &演算子との違い
  4. 範囲を渡したときの挙動
  5. CONCATとの違い
  6. 日付や数値が崩れる原因
  7. 改行を入れる
  8. 全行に適用する
  9. 使い分けのまとめ
  10. Excelとの違い
  11. 三つの連結方法の使い分け
  12. 連結すると型が変わる
  13. 検索キーを作るという用途
  14. 住所や氏名を組み立てる
  15. 表示用の文字列を組み立てる
  16. 連結の前に型を揃える
  17. 「文字列」の関数を全体から見る
  18. 数式を書く前の手順
  19. どの関数でも共通する確認
  20. 引き継ぐときに残すこと
  21. このサイトの収録状況
  22. よくある質問
  23. まとめ
  24. 関連する関数

この記事の書式と対応環境の出どころ(2026-08-26 確認)

関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。

「姓」と「名」を結合してフルネームにする、住所の各項目をつなげる、といった処理に使います。

ただし実務では、& 演算子か TEXTJOIN を使うほうが多いのが実情です。この記事では使い分けまで整理します。

CONCATENATE関数の使い方の記事構成図
CONCATENATE関数の使い方:この記事で扱う内容

書式

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

基本の使い方

AB
1山田太郎
=CONCATENATE(A1, B1)      → 山田太郎
=CONCATENATE(A1, " ", B1) → 山田 太郎

区切り文字を入れたいときは、間に文字列を挟みます。

CONCATENATE関数の使い方の要点図
CONCATENATE関数の使い方

&演算子との違い

同じことが & でも書けます。

=A1 & B1
=A1 & " " & B1

結果はまったく同じです

どちらを使うかは好みの問題ですが、実務では次のような使い分けが一般的です。

CONCATENATE&
短い連結冗長簡潔
項目が多い見やすい& だらけで読みにくい
数式内での可読性括弧が必要直感的

2〜3個なら &、それ以上なら関数、というのが目安です。

範囲を渡したときの挙動

ここが最大の注意点です。

=CONCATENATE(A1:A5)

この書き方は、期待通りに動きません

スプレッドシートでは範囲を渡すと、最初のセルだけ、または配列として展開されるなど、環境によって挙動が不安定です。

範囲をまとめて連結したいなら、TEXTJOIN を使ってください。

=TEXTJOIN(", ", TRUE, A1:A5)

区切り文字を指定でき、空欄を無視でき、範囲をそのまま渡せます。CONCATENATEの上位互換と考えて構いません。

CONCATとの違い

CONCAT という似た関数もあります。

=CONCAT(A1, B1)

引数を2つしか取れません

3つ以上つなげたい場合はCONCATENATEか & を使ってください。

Excelでは CONCAT が範囲に対応していますが、スプレッドシートの CONCAT は2引数専用です。同名でも挙動が違うので注意してください。

日付や数値が崩れる原因

日付をそのまま連結すると、内部の数値(シリアル値)が出てしまいます。

=CONCATENATE("更新日:", A1)   → 更新日:46113

TEXT で書式を指定してから連結してください。

=CONCATENATE("更新日:", TEXT(A1, "yyyy/m/d"))   → 更新日:2026/4/1

金額も同様です。

=CONCATENATE("合計:", TEXT(A1, "¥#,##0"))   → 合計:¥1,234,567

桁区切りやゼロ埋めは、連結すると消えます

表示形式はセルの設定であって、値そのものではないためです。ここは実務で頻繁に起きるトラブルです。

改行を入れる

CHAR(10) が改行です。

=CONCATENATE(A1, CHAR(10), B1)

セルの書式で「折り返し」を有効にしないと、改行が見えません

数式は正しくても表示されないので、書式を確認してください。

全行に適用する

ARRAYFORMULA と組み合わせられますが、& のほうが確実に動きます。

=ARRAYFORMULA(IF(A2:A="", "", A2:A & " " & B2:B))

CONCATENATEは配列に対する挙動が安定しないため、ARRAYFORMULA の中では & を使ってください。

使い分けのまとめ

やりたいこと使うもの
2〜3個のセルをつなぐ&
項目が多く、可読性を上げたいCONCATENATE
範囲をまとめて連結TEXTJOIN
区切り文字を入れて連結TEXTJOIN
空欄を飛ばして連結TEXTJOIN
ARRAYFORMULA の中&

迷ったら TEXTJOIN を検討してください。 CONCATENATEでしかできないことは、実質ありません。

Excelとの違い

CONCATENATE・&・TEXTJOIN はすべて共通です。

違いは CONCAT です。

Excelスプレッドシート
CONCAT の引数範囲も可2つまで
CONCATENATE非推奨(CONCAT 推奨)現役

ExcelではCONCATENATEは互換性のために残されている扱いですが、スプレッドシートでは普通に使えます。ただしどちらの環境でも、& か TEXTJOIN を使うのが現代的です。


三つの連結方法の使い分け

文字列をつなぐ方法は三つあります。連結記号を使う方法、この関数を使う方法、区切り文字を指定できる関数を使う方法です。それぞれ得意な場面が違います。

連結記号を使う方法は、つなぐ数が少ないときにもっとも簡潔です。二つか三つなら、これが読みやすくなります。記号を並べるだけなので、書き方も覚えやすいものです。

この関数は、引数として並べる形です。連結記号と本質的には同じで、書き方が違うだけです。数式の見た目としては、括弧の中に並ぶので構造が分かりやすいという利点があります。範囲をまとめて渡せる版もありますが、区切り文字は入りません。

区切り文字を指定できる関数は、実務でもっとも使えます。区切り文字を一度指定するだけで、すべての要素の間に入ります。範囲をまとめて渡せるうえ、空白のセルを無視するかどうかも選べます。

判断としては、つなぐ数が二つか三つで区切りが不要なら連結記号、区切り文字が必要か数が多いなら三つ目の関数、と考えてください。この関数を選ぶ場面は、実際には限られます。→ TEXTJOIN関数の使い方


連結すると型が変わる

連結の結果は、必ず文字列になります。数値をつないでも、日付をつないでも、結果は文字列です。

これが問題になるのは、連結した結果を計算に使う場合です。文字列同士を足し算しようとしてもエラーになります。数値として使いたいなら、数値に変換する関数で包む必要があります。

もうひとつ、書式が失われる点も重要です。表示形式で桁区切りを入れていても、連結すると内部の値がそのまま出ます。日付も、内部の連続した数値が出てしまいます。

望む形式で連結したいなら、連結の前に文字列へ変換します。書式を指定できる関数を使えば、桁区切りや日付の形式を指定したうえで文字列にできます。→ TEXT関数の使い方

この一手間を忘れると、「日付をつないだら意味不明な数字になった」という状態になります。原因を知らないと悩みますが、仕組みが分かれば対処は簡単です。


検索キーを作るという用途

連結の実務的な用途として、複数の条件を組み合わせた検索キーを作る方法があります。

検索の関数は、条件を一つしか指定できません。商品コードと支店の組み合わせで単価を引きたい、というような二条件の検索は、そのままではできません。

そこで、マスタ側に結合列を作ります。商品コードと支店をつないだ値を持たせるのです。検索する側でも同じ形の値を作れば、一つのキーとして検索できます。

このとき、区切り文字を入れることが重要です。単純につなぐと、異なる組み合わせが同じ値になることがあります。「AB」と「1」をつないだ値と、「A」と「B1」をつないだ値は、区切りがなければ同じになります。ハイフンなどを挟んでおけば、この衝突を防げます。

結合列を作る方法は、数式の中で条件を連結する書き方より読みやすく、動作も軽くなります。検索のたびに連結の処理が走らないためです。


住所や氏名を組み立てる

帳票や宛名を作る場面では、分かれて持っている情報を組み立てる処理が必要になります。

氏名なら、姓と名の間に空白を入れます。全角の空白を使うか半角にするかは、用途によって決めてください。宛名では全角が一般的です。

住所なら、都道府県、市区町村、番地、建物名をつなぎます。ここで問題になるのが、建物名が空の場合です。単純につなぐと、末尾に余計な空白や区切りが残ります。

対処は二つあります。ひとつは、条件分岐で空欄を判定する方法。もうひとつは、空白を無視する設定がある関数を使う方法です。後者のほうが数式が短く、項目が増えても対応できます。

敬称を付ける場合も同様です。個人なら様、法人なら御中。区分によって変わるので、条件分岐か対応表で振り分けてから連結します。

こうした組み立ては、印刷用のシートで行うのが基本です。データのシートには分かれたまま持ち、表示のときに組み立てる。この分離ができると、集計も検索も素直に動きます。


表示用の文字列を組み立てる

帳票や通知の文面を数式で組み立てると、手作業の転記がなくなります。誤りも減ります。

たとえば、請求書の宛名を組み立てる場合。会社名、部署名、役職、氏名、敬称。これらを別々の列に持ち、表示のときに連結します。部署や役職が空の場合もあるので、空白を無視する連結を使うか、条件で分岐します。

案内文の一部を組み立てることもできます。「◯◯様の△△は□□円です」という文面なら、固定の文字と、参照するセルを交互に連結します。金額は桁区切りを入れた文字列に変換してから連結してください。

ファイル名を組み立てる用途もあります。日付と取引先名と種別をつないだ形です。日付は決まった形式に変換し、記号は使えないものを避けます。

こうした組み立ては、印刷用のシートで行うのが基本です。データのシートには分かれたまま持ち、表示のときに組み立てる。この分離ができていると、集計も検索も素直に動きます。

組み立てた結果をコピーして使う場合は、値として貼り付けてください。数式のままでは、別の場所に貼ったときに参照が崩れます。


連結の前に型を揃える

連結でもっとも多い失敗が、型の扱いです。数値と日付は、そのまま連結すると内部の表現が出てきます。

金額を連結する場合、表示形式で桁区切りを入れていても、連結には反映されません。書式を指定して文字列に変換してから連結してください。通貨記号や小数点以下の桁数も、変換のときに指定します。

日付は、内部的には連続した数値です。そのまま連結すると五桁の数字になります。年月日の形式を指定して文字列に変換する必要があります。

パーセントも同様です。内部では小数として保持されているため、そのまま連結すると小数が出ます。

論理値を連結すると、真偽を表す文字列になります。日本語で表示したい場合は、条件分岐で変換してから連結してください。

これらの変換を、連結の数式の中で毎回書くと読みにくくなります。変換済みの作業列を用意して、連結はその列を参照する形にすると、数式が短くなります。

型を揃える工程を挟むという発想は、連結に限らず表計算全般で有効です。取り込んだデータを整形してから使う、という順序を習慣にしてください。

「文字列」の関数を全体から見る

文字列は文字を加工する関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに31本あります。

記事
CHAR
CLEAN
CODE
CONCAT
EXACT
FIND
FIXED
HYPERLINK
IMAGE
JIS
LEFT
LEN
LENB
LOWER
MID
NUMBERVALUE
PROPER
REGEXEXTRACT
REGEXMATCH
REGEXREPLACE
REPLACE
REPT
RIGHT
SEARCH
SPLIT
SUBSTITUTE
TEXT
TEXTJOIN
TRIM
UPPER
VALUE

このカテゴリで共通するつまずき

全角と半角、前後の空白、改行。この3つが原因のほとんどです。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。

どれを使うかの決め方

位置で取るのか、記号を目印に取るのかで使う関数が変わります。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。

迷ったときは

→ 全関数の一覧 に目的別の索引があります。


数式を書く前の手順

書き始める前に決めておくことがあります。ここが曖昧なまま書くと、途中で行き詰まります。

1. 出したい結果を一文で書く

「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。

2. 元データの型を確認する

全角と半角、前後の空白、改行。この3つが原因のほとんどです。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。

3. 空欄と0の扱いを決める

未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。

4. 条件の数を数える

位置で取るのか、記号を目印に取るのかで使う関数が変わります。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。

5. 共有先の環境を確認する

新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。

6. 1行だけ書いて確認する

全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。


どの関数でも共通する確認

関数を問わず、結果がずれる原因は限られています。この5つを確認すれば、大半が解決します。

参照を固定したか

下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。

範囲の行数が揃っているか

複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。

型が揃っているか

=ISNUMBER(A2)

数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。

前後に空白が入っていないか

=LEN(A2)&" / "&LEN(TRIM(A2))

数が違えば、余分な空白が入っています。見た目では判別できません。

別の方法で検算したか

同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。

最終行まで確認したか

一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。


引き継ぐときに残すこと

数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。

何を出している数式か

一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。

どの表を参照しているか

参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。

該当しないときの扱い

空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。

触ってはいけない場所

列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。

使った関数の対応環境

新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。

確定した期間は値にする

締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。

このサイトの収録状況

現在、201本の記事をカテゴリ別に整理しています。関数名が分からない場合は、カテゴリから探してください。

カテゴリ記事数
目的別51本
集計47本
文字列31本 ←この記事
日付19本
検索・参照15本
条件15本
機能12本
配列・抽出10本
関数一覧1本

探し方の順番

関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。

記事の構成

どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。


よくある質問

Q. 連結記号とこの関数のどちらを使うべきですか

数が少なければ連結記号が簡潔です。この関数を選ぶ利点は、括弧で構造が分かりやすくなる程度です。

Q. 範囲をまとめて連結できますか

範囲を受け取れる版がありますが、区切り文字は入りません。区切りが必要なら別の関数を使ってください。

Q. 日付をつなぐと数字になります

内部の値が出ています。連結の前に文字列へ変換してください。

Q. 桁区切りが消えます

表示形式は連結の結果に反映されません。書式を指定して文字列に変換してください。

Q. 空欄があると余計な区切りが残ります

空白を無視する設定がある関数を使うか、条件分岐で判定してください。

Q. 連結した結果で計算できません

結果は文字列です。数値に変換する関数で包んでください。

Q. 改行を入れたいのですが

改行を表す関数を挟んでください。セルの表示で折り返しを有効にしないと一行に見えます。

Q. 逆に分割したいのですが

区切り文字で分割する関数があります。→ SPLIT関数の使い方



まとめ

  • 書式は =CONCATENATE(文字列1, 文字列2, ...)
  • & とまったく同じ結果。2〜3個なら & が簡潔
  • 範囲を渡すと期待通りに動かない → TEXTJOIN を使う
  • 日付・金額は TEXT で書式を指定してから連結する
  • 改行は CHAR(10)。セルの折り返し設定も必要
  • ARRAYFORMULA の中では & を使う

関連する関数