Menu

Excelで文字列を結合する: &、CONCATENATE、CONCAT関数

=A2&" "&B2は、A2とB2の文字列を間にスペースを入れてつなぎます。CONCATENATEとCONCATも同じことができ、数値や日付をつなぐときはTEXTで読みやすい形を保ちます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=A2&" "&B2は、A2の名とB2の姓を、間にスペースを入れてつなぎます。&演算子は文字列をくっつけ、引用符で囲んだスペースは間に足す文字列です。

名と姓をつなげる
C2
ABC
1FirstLastFull name
2AnaSilvaAna Silva
3BenOkaforBen Okafor
4ChenWuChen Wu
5DaraKellyDara Kelly
6EliNovakEli Novak
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

C2をクリックして数式を確認し、A列の名を変えてみてください。氏名も変わります。数式はC2に一度だけ書いて下にコピーしたものなので、C3はA3とB3を、C4はA4とB4を読みます。自分のシートでコピーするには、C2の右下にある小さな四角(フィルハンドル)をダブルクリックします。

CONCATENATE、CONCATと&演算子

Excelには文字列をつなぐ方法が3つあり、1つずつのセルなら結果は同じです:

3つの方法、同じ結果
E2
ABCDE
1FirstLastMethodResult
2AnaSilva&Ana Silva
3CONCATENATEAna Silva
4CONCATAna Silva
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。
  • &はどのバージョンのExcelでも、Googleスプレッドシートでも使えます。入力がいちばん短く済みます。
  • CONCATENATE(text1, text2, ...)は昔からある関数です。Microsoftは互換性のために残していて、引数は255個まで指定できます。
  • CONCAT(text1, text2, ...)はExcel 2019とMicrosoft 365でCONCATENATEに代わった関数です。本当の違いは1つだけで、範囲を受け取れます。

Excel 2016以前で開く可能性がある数式には、&かCONCATENATEを使ってください。そこではCONCATが#NAME?になります。

CONCATで範囲を結合する

=CONCAT(A2:A5)は範囲のセルを順番にすべてつなぎます。CONCATENATEではこれができず、=CONCATENATE(A2,A3,A4,A5)のようにセルを1つずつ引数にする必要があります。

範囲をつなげる
C2
ABC
1PartCode
2AXAX42B7
342AX42B7
4BAX42B7-2026
57
62026
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

CONCATはつないだものの間に何も入れません。カンマとスペースのように、セルごとに区切り文字を入れたいときはTEXTJOINを使います。区切り文字を一度指定するだけで済み、空のセルを飛ばすこともできます。

文字列と数値をつなげる

数値は、セルに見えている表示形式ではなく、そのままの値でつながります。$1,250.50と表示された価格は1250.5として、2026-03-15と表示された日付は、Excelがその日付として保存しているシリアル値46096としてつながります。読みやすく保つには、数値を表示形式コードと一緒にTEXTで囲みます:

文字列と数値・日付
D2
ABCD
1ItemPriceDueLabel
2Desk$1,250.502026-03-15Price: 1250.5
3Price: $1,250.50
4Due 46096
5Due Mar 15, 2026
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

D2とD4はそのままの値を表示し、D3とD5はTEXTを使ってセルと同じ見た目になります。表示形式コードは引用符で囲み、「セルの書式設定」と同じコードを使います:"0.00"、"#,##0"、"0%"、"yyyy-mm-dd"。

価格ラベルを作る
C2
ABC
1ItemPriceLabel
2Desk1250.5
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: C2で、A2とB2からラベルDesk costs $1,250.50を作ってください。価格はドルとセントで表示します。

改行、カンマ、引用符を入れる

ダブルクォーテーションで囲んだものはそのまま結果に入るので、=A2&", "&B2はAna, Silvaになります。特別なケースが3つあります:

  • 改行:=A2&CHAR(10)&B2。改行は、セルで ホーム > 折り返して全体を表示する がオンのときだけ表示されます。セル内の改行を参照してください。
  • ダブルクォーテーション:引用符の中で2つ続けて入力します。="Say ""hi"""はSay "hi"になります。
  • 空のセル:何もないものとしてつながるので、B2が空だと=A2&" "&B2の末尾にスペースが残ります。2つ目の引数をTRUEにしたTEXTJOINなら空のセルを飛ばします。
姓を先にする
C2
ABC
1FirstLastDirectory name
2AnaSilva
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: C2で、名前をSilva, Anaの形にしてください。姓、カンマとスペース、名の順です。

データを消さずに2つの列をまとめる

これに「セルを結合して中央揃え」は向いていません。A2とB2を結合すると、A2の値だけが残り、もう片方は消えます。代わりに数式で列をつなぎ、AとBに依存しない普通の文字列にしたいなら次のようにします:

  1. 数式の列を選択してコピーします(Ctrl+C、MacではCmd+C)。
  2. ホーム > 貼り付け > 値の貼り付け。数式がその結果に変わります。
  3. これで元の列を削除できます。

一度きりの作業ならフラッシュフィルも使えます。C2に最初の氏名を手で入力し、C3を選択してCtrl+Eを押すか、データ > フラッシュフィル を使うと、Excelがパターンをまねて残りを埋めます。フラッシュフィルは数式ではなく値を書き込むので、名前が変わっても更新されません。

よくある質問

ExcelのCONCATとCONCATENATEの違いは何ですか?

どちらも文字列をつなぎます。CONCAT(Excel 2019以降)は範囲も受け取れるので、=CONCAT(A2:A5)で4つのセルをつなげます。CONCATENATEはセルを1つずつ並べる必要があります:=CONCATENATE(A2,A3,A4,A5)。CONCATENATEは古いファイルとの互換性のために残されています。

Excelでスペースを入れて文字列を結合するには?

セルの間に引用符で囲んだスペースを置きます:=A2&" "&B2または=CONCAT(A2," ",B2)。" "がないと、名前がAnaSilvaのようにくっついてしまいます。

日付を結合すると数値に変わるのはなぜですか?

結合では日付の中身であるシリアル値(46096など)が使われ、セルの表示形式は失われます。日付をTEXTで囲みます:="Due "&TEXT(C2,"mmm d, yyyy")。

データを消さずにExcelで2つの列をまとめるには?

3つ目の列に=A2&" "&B2という数式を入れて下にコピーします。「セルを結合して中央揃え」は左上の値しか残さないので、2つ目の列が消えます。数式なしで結果だけ残すには、列をコピーして ホーム > 貼り付け > 値の貼り付け を使います。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める