文字列
CONCATENATE関数の使い方・読み方
読み方:CONCATENATE は「コンカティネイト」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)
CONCATENATEは、複数の文字列をつなげる関数です。
このページの中身(24項目)
この記事の書式と対応環境の出どころ(2026-08-26 確認)
- Google スプレッドシート ヘルプ:公式の書式は
CONCATENATE(文字列1, 文字列2)
https://support.google.com/docs/answer/3094123 - Microsoft サポート:CONCATENATE 関数
https://support.microsoft.com/ja-jp/excel/functions/concatenate-function
関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。
「姓」と「名」を結合してフルネームにする、住所の各項目をつなげる、といった処理に使います。
ただし実務では、& 演算子か TEXTJOIN を使うほうが多いのが実情です。この記事では使い分けまで整理します。

書式
=CONCATENATE(文字列1, [文字列2], ...)
基本の使い方
| A | B | |
|---|---|---|
| 1 | 山田 | 太郎 |
=CONCATENATE(A1, B1) → 山田太郎
=CONCATENATE(A1, " ", B1) → 山田 太郎
区切り文字を入れたいときは、間に文字列を挟みます。

&演算子との違い
同じことが & でも書けます。
=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 の中では
&を使う
関連する関数
- TEXTJOIN — 区切り文字付き・空欄無視で範囲を連結
- TEXT — 日付や数値の書式を指定する
- SPLIT — 逆に文字列を分割する
- SUBSTITUTE — 文字列を置き換える
- 関数一覧に戻る