【VBAリファレンス】エクセル入門CONCATENATE関数(複数の文字列を結合)

スポンサーリンク

エクセルにおける文字列結合の極意:CONCATENATE関数の徹底解剖と実務的アプローチ

エクセルでデータ加工や帳票作成を行う際、避けては通れないのが「複数のセルに入力された文字列を一つにまとめる」という作業です。氏名(姓と名)を結合したり、住所データを連結したり、あるいはシステムから出力されたIDと名称を組み合わせたりと、その用途は多岐にわたります。

本稿では、エクセルにおける文字列結合の基本である「CONCATENATE(コンカテネート)関数」を軸に、その仕組み、注意点、そして現代的なExcel環境における最適な代替手法まで、プロフェッショナルな視点で詳細に解説します。

CONCATENATE関数の基本仕様と動作原理

CONCATENATE関数は、複数の文字列を結合して一つの文字列を作成するための関数です。その構文は非常にシンプルです。

構文:CONCATENATE(文字列1, [文字列2], …)

ここで、「文字列1」には結合したい対象のセル参照や、直接入力した文字列(ダブルクォーテーションで囲む必要があります)を指定します。「文字列2」以降は省略可能ですが、最大で255個までの引数を指定することができます。

例えば、A1セルに「山田」、B1セルに「太郎」と入力されている場合、=CONCATENATE(A1, B1) と入力すると、「山田太郎」という結果が得られます。しかし、実務では姓と名の間にスペースを入れたいケースがほとんどです。その場合は、=CONCATENATE(A1, ” “, B1) のように、半角スペースを引数として挟み込むことで対応します。

なぜCONCATENATE関数を使うのか:メリットと限界

CONCATENATE関数の最大のメリットは、その可読性の高さにあります。関数名そのものが「連結する」という意味を持つため、数式を見ただけで何が行われているのかが直感的に理解できます。

一方で、実務における限界点も存在します。
1. セル範囲の直接指定ができない:例えばA1からA10までを結合したい場合、CONCATENATE関数では一つずつ指定する必要があり、非常に非効率です。
2. 記法が冗長:大量の文字列を結合する場合、引数が長くなりすぎて修正や管理が困難になります。
3. 互換性の維持:この関数は古いバージョンのExcelとの互換性を保つために残されている側面が強く、近年のExcelではより高機能な関数が推奨されています。

現代的な代替関数との比較:CONCATとTEXTJOIN

現在のExcel(Microsoft 365やExcel 2019以降)では、CONCATENATE関数よりも強力な関数が標準となっています。

1. CONCAT関数
CONCATENATE関数の後継にあたります。最大の違いは「範囲指定」が可能な点です。=CONCAT(A1:A10) と記述するだけで、A1からA10までの全セルを結合できます。

2. TEXTJOIN関数
実務において最も推奨されるのがこのTEXTJOIN関数です。この関数は「区切り文字」を指定できる点が画期的です。例えば、リスト化されたデータをカンマ区切りで結合したい場合、CONCATENATEでは「=A1 & “,” & A2 & “,” & A3…」のように複雑な数式になりますが、TEXTJOINなら =TEXTJOIN(“,”, TRUE, A1:A10) だけで完結します。第2引数の「TRUE」は空白セルを無視するという指定であり、実務上のミスを劇的に減らしてくれます。

サンプルコード:実務で使える結合テクニック

以下に、CONCATENATE関数を用いた基本的な手法と、より効率的なTEXTJOIN関数の活用例を比較して提示します。


' --- CONCATENATE関数の基本 ---
' A1: 2023年, B1: 売上報告書
' 結果: 2023年売上報告書
=CONCATENATE(A1, B1)

' --- 空白を挿入する実務的な結合 ---
' A1: 山田, B1: 太郎
' 結果: 山田 太郎
=CONCATENATE(A1, " ", B1)

' --- 現代的なTEXTJOIN関数による効率化 ---
' A1:A5に[東京, 大阪, 名古屋, 福岡, 札幌]と入力されている場合
' 結果: 東京, 大阪, 名古屋, 福岡, 札幌
=TEXTJOIN(", ", TRUE, A1:A5)

' --- 文字列結合演算子「&」を使用した例 ---
' CONCATENATE関数の代わりに「&」を使うプロも多い
' 結果: 顧客ID: 1001
="顧客ID: " & A1

プロフェッショナルが教える実務アドバイス

現場で多くのExcelファイルを診断してきましたが、文字列結合において意識すべきポイントが3つあります。

第一に「アンパサンド(&)記号の活用」です。プロのエンジニアやデータアナリストは、単純な結合であればCONCATENATE関数を使わず、演算子の「&」を好んで使用します。これは数式が短くなり、タイピングコストが低いためです。=A1 & ” ” & B1 と記述する方が、関数を呼び出すよりも高速かつ簡潔です。

第二に「数値の書式設定」です。日付や通貨を結合する場合、単にセルを参照すると「2023/10/01」が「45199」のようなシリアル値になってしまいます。これを防ぐには、TEXT関数を併用します。
例:=CONCATENATE(“本日の日付は “, TEXT(A1, “yyyy年mm月dd日”), ” です”)
このように、表示形式を制御した上で結合するスキルは、帳票作成において必須です。

第三に「計算結果の固定」です。結合した結果を他のシステムにコピー&ペーストする場合、数式の結果を値として貼り付ける(値の貼り付け)手順を忘れないでください。数式が残ったままだと、元のデータが変更された際に意図せず結合結果が変わってしまうリスクがあります。

まとめ:状況に応じた最適なツールの選択を

CONCATENATE関数は、エクセルの歴史を支えてきた基本的な関数であり、その役割を理解することは非常に重要です。しかし、プロとして仕事をするのであれば、状況に応じて以下のツールを使い分けるべきです。

・単純な2〜3個のセルの結合:アンパサンド「&」を使用する。
・可読性を重視し、複雑な文字列を作る:CONCATENATE関数を使用する。
・範囲内のデータを一括で結合する:CONCAT関数を使用する。
・区切り文字が必要なリスト作成:TEXTJOIN関数を使用する。

Excelは進化を続けており、関数もまた時代に合わせてより効率的なものへと刷新されています。古い慣習にとらわれず、最新の関数を積極的に取り入れることで、作業時間は大幅に短縮され、ヒューマンエラーも未然に防ぐことが可能になります。

本稿で解説した知識を武器に、ぜひ日々の業務効率化に取り組んでください。文字列を自在に操れるようになることは、エクセルマスターへの第一歩です。

タイトルとURLをコピーしました