=A2&" "&B2は、A2の名とB2の姓を、間にスペースを入れてつなぎます。&演算子は文字列をくっつけ、引用符で囲んだスペースは間に足す文字列です。
| A | B | C | |
|---|---|---|---|
| 1 | First | Last | Full name |
| 2 | Ana | Silva | Ana Silva |
| 3 | Ben | Okafor | Ben Okafor |
| 4 | Chen | Wu | Chen Wu |
| 5 | Dara | Kelly | Dara Kelly |
| 6 | Eli | Novak | Eli Novak |
C2をクリックして数式を確認し、A列の名を変えてみてください。氏名も変わります。数式はC2に一度だけ書いて下にコピーしたものなので、C3はA3とB3を、C4はA4とB4を読みます。自分のシートでコピーするには、C2の右下にある小さな四角(フィルハンドル)をダブルクリックします。
CONCATENATE、CONCATと&演算子
Excelには文字列をつなぐ方法が3つあり、1つずつのセルなら結果は同じです:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | First | Last | Method | Result | |
| 2 | Ana | Silva | & | Ana Silva | |
| 3 | CONCATENATE | Ana Silva | |||
| 4 | CONCAT | Ana 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つずつ引数にする必要があります。
| A | B | C | |
|---|---|---|---|
| 1 | Part | Code | |
| 2 | AX | AX42B7 | |
| 3 | 42 | AX42B7 | |
| 4 | B | AX42B7-2026 | |
| 5 | 7 | ||
| 6 | 2026 |
CONCATはつないだものの間に何も入れません。カンマとスペースのように、セルごとに区切り文字を入れたいときはTEXTJOINを使います。区切り文字を一度指定するだけで済み、空のセルを飛ばすこともできます。
文字列と数値をつなげる
数値は、セルに見えている表示形式ではなく、そのままの値でつながります。$1,250.50と表示された価格は1250.5として、2026-03-15と表示された日付は、Excelがその日付として保存しているシリアル値46096としてつながります。読みやすく保つには、数値を表示形式コードと一緒にTEXTで囲みます:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Item | Price | Due | Label |
| 2 | Desk | $1,250.50 | 2026-03-15 | Price: 1250.5 |
| 3 | Price: $1,250.50 | |||
| 4 | Due 46096 | |||
| 5 | Due Mar 15, 2026 |
D2とD4はそのままの値を表示し、D3とD5はTEXTを使ってセルと同じ見た目になります。表示形式コードは引用符で囲み、「セルの書式設定」と同じコードを使います:"0.00"、"#,##0"、"0%"、"yyyy-mm-dd"。
| A | B | C | |
|---|---|---|---|
| 1 | Item | Price | Label |
| 2 | Desk | 1250.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なら空のセルを飛ばします。
| A | B | C | |
|---|---|---|---|
| 1 | First | Last | Directory name |
| 2 | Ana | Silva |
やってみよう: C2で、名前をSilva, Anaの形にしてください。姓、カンマとスペース、名の順です。
データを消さずに2つの列をまとめる
これに「セルを結合して中央揃え」は向いていません。A2とB2を結合すると、A2の値だけが残り、もう片方は消えます。代わりに数式で列をつなぎ、AとBに依存しない普通の文字列にしたいなら次のようにします:
- 数式の列を選択してコピーします(Ctrl+C、MacではCmd+C)。
- ホーム > 貼り付け > 値の貼り付け。数式がその結果に変わります。
- これで元の列を削除できます。
一度きりの作業ならフラッシュフィルも使えます。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つ目の列が消えます。数式なしで結果だけ残すには、列をコピーして ホーム > 貼り付け > 値の貼り付け を使います。