今回は、ExcelのCONCAT関数を使って、複数のセルに分かれた文字列を結合する方法を紹介します。
CONCATを使う場面
Excelでは、姓と名、住所の都道府県と市区町村、商品コードと枝番、部署名と担当者名など、別々のセルに入っている文字を一つにまとめたい場面があります。手入力でつなげると、行が増えたときに手間がかかり、入力ミスも起こりやすくなります。CONCAT関数を使うと、複数セルの文字列を数式で結合できます。
CONCATは、複数のセルや範囲を指定して文字をつなげる関数です。古い方法として `&` 記号を使う結合もありますが、CONCATは範囲をまとめて指定しやすい点が特徴です。元データを分けたまま、表示用の文字列を作ると、後から修正しやすい表になります。
基本の使い方
CONCAT関数は、結合したいセルを引数として指定します。A列に姓、B列に名がある場合、C列で `=CONCAT(A2,B2)` のように入力すると、A2とB2の文字がつながります。ただし、このままでは姓と名の間に空白が入りません。必要に応じて、空白や記号も一緒に指定します。
- 結合結果を表示したいセルを選ぶ
- CONCAT関数を入力する
- 結合したいセルを順番に指定する
- 空白や記号が必要な場合は文字列として加える
- 下の行へ数式をコピーする
文字列として空白を入れる場合は、ダブルクォーテーションで囲みます。姓と名の間に半角スペースを入れるなら、`=CONCAT(A2,” “,B2)` のようにします。部署名と氏名を括弧でつなぐ場合は、括弧も文字列として指定します。
区切り文字を入れる考え方
文字列を結合するときは、ただつなげるだけでなく、読みやすい区切りを入れることが大切です。住所では都道府県、市区町村、番地を続けても自然に読める場合があります。一方、コードや氏名、部署名では、空白、ハイフン、スラッシュ、括弧などを入れたほうが判断しやすくなります。
- 氏名: 姓と名の間に空白を入れる
- コード: 部門コードと番号の間にハイフンを入れる
- 表示名: 部署名を括弧で添える
- 住所: 必要に応じて建物名の前に空白を入れる
区切り文字は、出力後の使い道に合わせます。印刷用の一覧なら読みやすさを優先します。システムへ取り込むデータなら、指定された形式に合わせます。見た目だけで判断せず、結合後にどこで使うかを先に決めると、作り直しを防ぎやすくなります。
空白セルがある場合の注意
CONCATは、空白セルがあっても処理を続けます。ただし、区切り文字を固定で入れていると、空白の前後に余分な記号や空白が残ることがあります。たとえば、建物名が空白の住所に対して、常に空白を追加する式にしていると、末尾に不要な空白が残る場合があります。
空白の扱いが気になる場合は、IF関数と組み合わせて、セルに値があるときだけ区切り文字を付ける方法があります。住所や備考のように任意入力の項目が多い表では、空白の扱いをあらかじめ決めておくと、結合結果を整えやすくなります。
結合後の文字列をコピーして使う前に、空白セルを含む行で確認することが重要です。すべて入力されている行だけで確認すると、例外に気づきにくくなります。
範囲をまとめて結合する
CONCATは、セルを一つずつ指定するだけでなく、範囲を指定して結合できます。A2からD2までの文字を順番につなげたい場合、範囲を指定すれば式を短くできます。項目数が多い表では、範囲指定のほうが数式を読みやすくできる場合があります。
ただし、範囲をそのまま結合すると、セル間に区切り文字は入りません。各項目の間に決まった区切りを入れたい場合は、TEXTJOIN関数のほうが向いていることがあります。CONCATは、セルの文字をそのまま連結したいときに使いやすく、区切りや空白の制御が多い場合は別の関数も検討します。
数値や日付を結合するとき
CONCATで数値や日付を結合すると、表示形式が思った通りにならないことがあります。セル上では日付に見えていても、結合結果では別の形式で表示される場合があります。日付を「年/月/日」の形で表示したい場合は、TEXT関数を使って表示形式を指定します。
たとえば、日付と件名を結合してファイル名のような文字列を作る場合、日付部分をTEXT関数で整えてからCONCATに渡します。数値に桁区切りや単位を付けたい場合も同じです。数値や日付は、表示形式を指定してから結合すると、結果が安定します。
コピーして値として使う
CONCATで作った結果は数式です。元のセルを変更すると、結合結果も変わります。これは便利ですが、別のシステムへ貼り付ける、メール本文に使う、確定した一覧として保存する場合は、値として貼り付ける必要があります。
結合結果の列をコピーし、「値として貼り付け」を使うと、数式ではなく文字列として固定できます。元データを残したまま、出力用の列だけを別シートへ値貼り付けする方法もあります。作業用の数式列と提出用の値データを分けると、後から確認しやすくなります。
よくあるミスと確認方法
CONCATで多いミスは、区切り文字の入れ忘れ、余分な空白、参照セルのずれです。数式を下へコピーしたときに参照がずれるのは自然な動きですが、固定すべきセルがある場合は絶対参照を使います。たとえば、全行に同じ接頭語を付ける場合、その接頭語が入ったセルを固定します。
確認するときは、短い行、長い行、空白を含む行、数値や日付を含む行を見ます。条件が異なる行で確認すると、実際に使うときの不具合に気づきやすくなります。見た目だけでなく、セルの先頭や末尾に余分な空白がないかも確認します。
出力用の列を分けて管理する
CONCATで作った列は、元データのすぐ横に置くより、出力用の列として見出しを付けると使い道が分かりやすくなります。たとえば「送付先表示名」「取込用コード」「ファイル名候補」のように、結合結果の目的を列名に入れます。目的が分かると、後から見た人も数式の意味を判断しやすくなります。
元データを修正する列と、結合結果を表示する列を分けておくと、作業中の上書きを防ぎやすくなります。提出前に値貼り付けする場合も、作業用シートと提出用シートを分けると、数式を残したまま確定データを作れます。
まとめ
ExcelのCONCAT関数は、複数のセルに分かれた文字列を一つにまとめるときに役立ちます。氏名、住所、コード、表示名など、元データを分けて管理しながら出力用の文字列を作れます。区切り文字、空白セル、数値や日付の表示形式に注意すると、結合結果を使いやすく整えられます。必要に応じてTEXT関数やIF関数、値として貼り付けを組み合わせることで、業務で使う一覧や出力データを作りやすくなります。