文字列を結合するCONCATENATE関数-GSS/Excel/関数

文字列を結合するCONCATENATE関数-GSS/Excel/関数

顧客リストで姓と名を分けて管理している場合、フルネームを表示したい、商品コードと商品名を組み合わせて管理番号を作りたいことってありませよね。

今回はCONCATENATE関数をご紹介します。複数のセルの文字列を結合できる便利な関数です!早速やっていきましょう。

A B C D E
部署 フルネーム 部署付き氏名
田中 太郎 営業部
佐藤 花子 経理部
鈴木 次郎 総務部

いつものシートです。[D2]セルにお題が書かれています。
姓と名を結合してフルネームを表示し、さらに部署情報も含めた表示を作成していきます。

構文

=CONCATENATE(文字列1, 文字列2, 文字列3, ...)

指定した文字列やセルの内容を順番に結合して、1つの文字列として返します。最大255個の引数を指定できます。

正解例(仮)

まず正解例は下記の通り。

[D2]=CONCATENATE(A2,B2)

ただこれも最適解ではないので、その辺りも説明していきます。

A2セル(姓)とB2セル(名)を結合します。

=CONCATENATE(文字列1, 文字列2)

上の式で言うと、文字列1は[A2]。
文字列2は[B2]。
合体させた結果が[D2]=CONCATENATE(A2,B2)になります。

結果:「田中太郎」

先ほどこれが最適解ではないと言いました。それはなぜかというと、姓と名の間にスペースがなく読みにくい状態だからです。

結合結果(修正前) 結合結果(修正後)
田中 太郎 田中太郎 田中 太郎

スペースや文字の追加

実際の業務では、文字列の間にスペースや記号を挿入することが多くあります。CONCATENATE関数では、固定文字列も引数として指定できます。

[D2]=CONCATENATE(A2," ",B2)

このように3つ目の引数として" "(スペース)を追加することで、自然な表示になります。

結果:「田中 太郎」
ポイント: 固定文字列は必ず""(ダブルクォート)で囲む必要があります。スペース、ハイフン、括弧など何でも挿入できます。

絶対参照と相対参照

通常セルを使った関数を別のセルにコピペすると、相対参照され、位置がずれます。CONCATENATE関数でも同じことが起こります。

[D2]=CONCATENATE(A2," ",B2)のまま[D3][D4]セルにコピペをするとこうなります。

セル 結果
D2 =CONCATENATE(A2," ",B2) 田中 太郎
D3 =CONCATENATE(A3," ",B3) 佐藤 花子
D4 =CONCATENATE(A4," ",B4) 鈴木 次郎

この場合は相対参照が正しく動作して、期待する結果が得られています。各行の姓と名が正しく結合されています。

複雑な結合パターン

実際の業務では、もっと複雑な結合が必要になることがあります。部署名も含めた表示を作ってみましょう。

[E2]=CONCATENATE(C2," ",A2," ",B2)
結果:「営業部 田中 太郎」

さらに括弧を使った表示にしたい場合:

[E2]=CONCATENATE(A2," ",B2,"(",C2,")")
結果:「田中 太郎(営業部)」
注意: 日本語の括弧「()」と英語の括弧「()」は異なる文字です。統一して使用しましょう。

動的な結合処理

区切り文字を別のセルで管理することで、柔軟な結合が可能になります。

区切り文字 結合結果
- =CONCATENATE(A2,$F$1,B2)

F1セルに区切り文字を入力し、絶対参照で固定します。この方法なら、区切り文字を変更するだけで全ての結合結果を一括変更できます。

[D2]=CONCATENATE(A2,$F$1,B2)

F1セルの値を変更するだけで:

  • 「-」→「田中-太郎」
  • 「 」→「田中 太郎」
  • 「_」→「田中_太郎」

本当の正解

実際の業務では、可読性と保守性を考慮した式を作ることが重要です。

[D2]=CONCATENATE(A2," ",B2) [E2]=CONCATENATE(A2," ",B2,"(",C2,")")

区切り文字を統一して管理したい場合:

[D2]=CONCATENATE(A2,$F$1,B2) [E2]=CONCATENATE(A2,$F$1,B2,"(",C2,")")
部署 フルネーム 部署付き氏名
田中 太郎 営業部 =CONCATENATE(A2," ",B2) =CONCATENATE(A2," ",B2,"(",C2,")")
佐藤 花子 経理部 =CONCATENATE(A3," ",B3) =CONCATENATE(A3," ",B3,"(",C3,")")

これで完璧!相対参照により各行のデータが正しく結合され、統一された表示形式が得られます。

現代的な代替手段: 新しいExcelやGoogleスプレッドシートでは、&演算子やCONCAT関数、TEXTJOIN関数も利用できます。ただし、CONCATENATE関数は互換性が高く安定しているため、まず覚えておくべき関数です。

まとめ

CONCATENATE関数の使い所

  • 複数のセルの文字列を結合したいとき
  • 固定文字列(スペース、記号など)を挿入したいとき
  • フォーマットが統一された文字列を作成したいとき

構文

=CONCATENATE(文字列1, 文字列2, 文字列3, ...)

例文

  • CONCATENATE(A2," ",B2) - 姓名をスペース区切りで結合
  • CONCATENATE(A2," ",B2,"(",C2,")") - 部署情報を括弧付きで追加
  • CONCATENATE(A2,$F$1,B2) - 区切り文字を別セルで管理

活用のコツ

  • 固定文字列は必ずダブルクォートで囲む
  • 区切り文字は統一して管理する
  • 相対参照と絶対参照を適切に使い分ける
  • 可読性を重視した結合パターンを選択する

CONCATENATE関数をマスターすることで、データの表示形式を自由自在にコントロールできるようになります。ぜひ実際の業務で活用してみてくださいね!

コメントを残す