概要
CONCATは「複数の文字列(またはセル範囲)をつなげて1つの文字列にする」関数です。カンマ区切りで渡した要素をそのまま連結し、空白や区切り文字は自分で挿入します。旧関数 CONCATENATE の後継で、範囲指定(A2:C2 など)に対応しているのが特長です。区切り文字を自動で挟みたいときは TEXTJOIN を使うのが便利です。
基本の使い方
書式
=CONCAT(文字列1, [文字列2], …)
文字列はセル参照・固定文字・範囲のいずれも指定できます。範囲を渡すと、左から右、上から下の順で結合されます。
最小例
=CONCAT("東京", " ", "江東区") // "東京 江東区"
=CONCAT(A2, B2) // A2 と B2 をそのまま連結
=CONCAT(A2:C2) // A2→B2→C2 の順で結合
具体例
姓名をスペースで結合
=CONCAT(A2, " ", B2)
A2=姓、B2=名のとき、見やすいフルネームを作れます。
郵便番号を整形して結合(ゼロ埋め+ハイフン)
=CONCAT(TEXT(A2, "000"), "-", TEXT(B2, "0000"))
前半3桁・後半4桁を規定桁でゼロ埋めし、ハイフンを挟みます。
品番の接頭辞・中間・接尾辞を結合
=CONCAT("PRD-", TEXT(B2, "0000"), "-", C2)
数値はTEXTでフォーマットしてから結合すると崩れません。
範囲を一気に結合(区切りなし)
=CONCAT(D2:F2)
D2〜F2の3セルをそのまま連結します。区切りを入れたい場合は TEXTJOIN を使います。
応用テンプレート
区切りを挟みながら結合(CONCATで自前挿入)
=CONCAT(A2, ", ", B2, ", ", C2)
CSV風に「, 」を自分で差し込むパターンです。列数が増える場合は TEXTJOIN が楽です。
条件付きで語尾を付ける(IFと組み合わせ)
=CONCAT(A2, IF(B2<>"", "(", ""), B2, IF(B2<>"", ")", ""))
補足情報があるときだけ「(…)」を付けます。
見出し+値のひとまとめ(ラベル化)
=CONCAT("住所: ", A2, " / ", "担当: ", B2)
レポートの1セルに見出しと値を集約します。
改行を入れて縦にまとめる(表示形式で折り返し有効)
=CONCAT(A2, CHAR(10), B2, CHAR(10), C2)
CHAR(10)は改行コードです。セルの「折り返して全体を表示」をオンにします。
& 演算子との違いを押さえる
=A2 & " - " & B2 // 連結演算子
=CONCAT(A2, " - ", B2) // 関数
好みで選べます。範囲連結が必要なら CONCAT を。
よくあるつまずきと対策
区切り文字が自動で入らない
CONCATはただ結合するだけです。区切りを入れたい場合は自分で文字(”, ” など)を挟むか、TEXTJOINで「区切り文字」を指定します。
数値や日付が意図しない表示になる
内部値のまま結合すると桁や形式が崩れます。TEXTでフォーマットしてから結合します。
=CONCAT(TEXT(A2, "yyyy/mm/dd"), " ", TEXT(B2, "hh:mm"))
空白が増える・減る
結合時の空白は自分で管理します。意図せぬ重複空白は TRIM で整えます。
=TRIM(CONCAT(A2, " ", B2))
範囲結合の順序
範囲は「左→右、上→下」の順で結合されます。並び順が重要なら範囲選択に注意します。
CONCATとTEXTJOINの使い分け
- 区切り不要・少数要素:CONCAT
- 区切りあり・多要素・空白セルを無視したい:TEXTJOIN(例えば
=TEXTJOIN(", ", TRUE, A2:F2))
例題
問題1: 姓A2と名B2をスペース区切りでC2に結合してください。
解答例:
=CONCAT(A2, " ", B2)
問題2: 郵便番号の前半D2(3桁)と後半E2(4桁)を「000-0000」形式でF2に結合してください。
解答例:
=CONCAT(TEXT(D2, "000"), "-", TEXT(E2, "0000"))
問題3: 品番の接頭辞「PRD-」、連番G2(4桁ゼロ埋め)、末尾コードH2を結合してI2に表示してください。
解答例:
=CONCAT("PRD-", TEXT(G2, "0000"), "-", H2)
問題4: 範囲J2:L2の3セルを区切りなしで結合し、M2に表示してください。
解答例:
=CONCAT(J2:L2)
問題5: タイトルN2、サブタイトルO2、備考P2を改行で区切ってQ2に結合し、セルの折り返し表示で見やすくしてください。
解答例:
=CONCAT(N2, CHAR(10), O2, CHAR(10), P2)
まとめ
CONCATは「要素を順に並べて結合する」シンプルな関数で、範囲指定に対応しつつ区切りは自前で挿入する設計です。数値・日付はTEXTで整形、改行はCHAR(10)、不要な空白はTRIM。多要素で区切りが必要ならTEXTJOINを選ぶとスッキリ書けます。結合のルールを先に決め、要素順とフォーマットを固定しておくと、実務でも崩れないテンプレートになります。
