Excel

【Excel】エクセルで複数セルのデータを1つにまとめる方法(結合せずカンマ区切り・関数)

エクセルで複数セルをまとめる方法1【TEXTJOIN関数】 - オートフィルによる数式の展開
当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

Excelで氏名、住所、商品名、メールアドレスなどが複数のセルに分かれていると、一覧表の作成やCSV形式への出力の際に、1つのセルへまとめたい場面があります。

このとき、セルを結合すると並べ替えやフィルター、コピーがしにくくなるため、データそのものは分けたまま、関数で文字列だけを連結する方法が便利です。

特にカンマ区切りにする方法を覚えると、複数の項目を読みやすい形式へ整えられます。

複数セルを1つにまとめる主な方法は、TEXTJOIN関数、CONCAT関数、アンパサンド記号の3種類です。

空白セルを除外したい場合はTEXTJOIN関数、単純に結合したい場合はCONCAT関数、古いExcelでも使いたい場合はアンパサンド記号を選びましょう。

この記事では、結合セルを使わずに複数セルのデータを1つにまとめる数式、カンマや改行の指定、エラーを防ぐコツまで詳しく解説します。

 

エクセルで複数セルをまとめる方法1【TEXTJOIN関数】

それではまず、空白セルを無視しながら複数セルを1つにまとめられるTEXTJOIN関数について解説していきます。

A列 氏名 B列 部署 C列 役職 D列 まとめた結果
山田 太郎 営業部 主任 山田 太郎,営業部,主任
佐藤 花子 課長 佐藤 花子,課長

 

TEXTJOIN関数の基本構文

TEXTJOIN関数は、指定した区切り文字を各データの間へ自動で入れながら、複数のセル範囲を連結する関数です。

複数セルをカンマ区切りでまとめるなら、D2セルへ次の数式を入力します。

=TEXTJOIN(“,”,TRUE,A2:C2)

1つ目の引数は区切り文字です。

カンマを使う場合は、半角のカンマをダブルクォーテーションで囲んで指定します。

2つ目の引数TRUEは、空白セルを無視する設定です。

3つ目の引数A2:C2は、連結したいセル範囲を表します。

D2セルの数式を下方向へコピーすれば、1行目がヘッダーの表でも各行のデータを同じ形式でまとめられます。

セルの値をつなぐだけなので、A列からC列の元データは変更されません。

元の一覧を保ったまま、提出用や検索用の文字列を別列に作成できる点が大きな利点です。

【操作のポイント】数式を入力する列には、連結前のデータと同じ行番号を指定します。

 

空白セルを除外する設定

部署や役職のように、行によって入力されていない項目がある表では、空白セルの扱いが重要です。

TEXTJOIN関数の2つ目の引数をTRUEにすると、空欄を飛ばして連結します。

たとえばB2が空白でも、=TEXTJOIN(“,”,TRUE,A2:C2)の結果は「佐藤 花子,課長」となります。

空白を無視するTRUEを指定すると、連続したカンマや末尾の余計な区切りを防げます。

一方でFALSEを指定すると、空白セルも区切りの対象になります。

その場合、B2が空欄なら「佐藤 花子,,課長」のようにカンマが2つ続くため、CSVデータとして空欄項目を明示したい場合以外はTRUEが扱いやすいでしょう。

入力漏れを見つけたい帳票ではFALSE、見やすい一覧を作りたい帳票ではTRUEというように、用途に合わせて選択します。

【操作のポイント】空欄を含む表では、まずTRUEで結果を確認すると見た目を整えやすくなります。

 

オートフィルによる数式の展開

D2セルにTEXTJOIN関数を入力したら、セル右下に表示される小さな四角形であるフィルハンドルを使って数式をコピーします。

フィルハンドルを下へドラッグするか、データが隣接している場合はダブルクリックすると、最終行まで数式を展開できます。

このときA2:C2という参照は、D3ではA3:C3、D4ではA4:C4へ自動的に変わります。

1行目を見出しにして2行目から数式を入れると、見出し文字まで連結されるミスを避けられます。

結果を他のシステムへ貼り付ける場合は、数式が入った列をコピーし、形式を選択して貼り付けから値を貼り付けるとよいでしょう。

値として固定すれば、元のセルを後から編集しても提出済みの連結データは変わりません。

【操作のポイント】元データの更新に追従させたい場合は数式のまま残し、確定データにしたい場合は値貼り付けを使います。

エクセルで複数セルをまとめる方法1【TEXTJOIN関数】 - オートフィルによる数式の展開

 

カンマ区切りを作るTEXTJOIN関数の操作手順

続いては、数式バーへの入力からオートフィルまでを、Excelの画面に沿って確認していきます。

A列 商品名 B列 色 C列 サイズ D列 商品情報
Tシャツ 白 M Tシャツ,白,M
パーカー 黒 L パーカー,黒,L
商品一覧.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示 ヘルプ
B罫線中央揃えΣ
fx=TEXTJOIN(“,”,TRUE,A2:C2)
A B C D
1 商品名 色 サイズ 商品情報
2 Tシャツ 白 M Tシャツ,白,M
3 パーカー 黒 L
D2へ数式を入力 ➤ 右下のフィルハンドルを下へコピー
赤枠のD2セルを選択

 

区切り文字をカンマに指定する方法

カンマ区切りにしたい場合は、TEXTJOIN関数の最初の引数へ”,”を入力します。

ダブルクォーテーションは、カンマを文字として扱うために必要です。

=TEXTJOIN(“,”,TRUE,A2:C2)という数式では、A2、B2、C2の値の間にカンマが入ります。

カンマの直後へ半角スペースも入れたい場合は、”, “のようにカンマとスペースをまとめて指定します。

この場合の数式は、=TEXTJOIN(“, “,TRUE,A2:C2)です。

結果は「Tシャツ, 白, M」となり、画面上では少し読みやすくなります。

ただしCSVファイルとして他システムへ渡す場合、スペースをデータの一部として扱うことがあるため、要件を確認しておきましょう。

【操作のポイント】CSV出力を想定するなら、原則としてカンマの後ろにスペースを入れない形式が安全です。

 

セル範囲を横方向に指定する方法

同じ行に並ぶ複数セルをまとめる場合は、A2:C2のように横方向の範囲を指定します。

この指定は、A2からC2までの連続した3セルを意味します。

途中の列を含めたくないときは、範囲ではなくセルを個別に指定することもできます。

=TEXTJOIN(“,”,TRUE,A2,C2,E2)

この数式なら、A2、C2、E2だけをカンマ区切りでまとめられます。

連続していない列をつなぐ場合でも、各セルの間をカンマで区切って引数へ並べれば問題ありません。

住所の都道府県、市区町村、番地だけをつなぐような用途でも活用できます。

必要な項目だけを選べるため、元の表の列構成を変更せずに済む点も実務向きです。

【操作のポイント】セルを個別指定する場合は、数式内のセル参照を入力ミスしないよう列見出しを確認します。

 

数式を下の行へコピーする方法

最初の数式をD2へ入力してEnterキーを押すと、D2に連結結果が表示されます。

次にD2セルを選択し、右下のフィルハンドルへマウスポインターを合わせます。

黒い十字の形に変わったら、データの最終行までドラッグします。

隣の列に連続したデータがある表では、フィルハンドルをダブルクリックすると最終行付近まで素早くコピーできます。

コピー後は、先頭行と最終行だけでなく、途中に空欄がある行も確認しましょう。

途中で隣接列のデータが途切れている場合、ダブルクリックでは必要な行までコピーされないことがあります。

そのような表では、ドラッグで範囲を指定するか、コピーと貼り付けを使うと確実です。

【操作のポイント】数式コピー後は、数式バーで参照行がA3:C3、A4:C4のように変化しているかを確認します。

 

CONCAT関数とアンパサンド記号の使い分け

続いては、TEXTJOIN関数が使えない場合や、区切り文字を細かく調整したい場合の連結方法を確認していきます。

A列 姓 B列 名 C列 CONCAT結果 D列 アンパサンド結果
田中 一郎 田中一郎 田中 一郎

 

CONCAT関数による連結

CONCAT関数は、複数の文字列やセル範囲をまとめるための関数です。

C2セルへ=CONCAT(A2:B2)と入力すると、A2とB2の文字がそのままつながります。

結果は「田中一郎」となります。

CONCAT関数は区切り文字を自動で挿入しないため、単純な文字列連結に適しています。

カンマを入れたい場合は、=CONCAT(A2,”,”,B2)のように、カンマそのものを途中の引数として指定します。

さらにスペースを入れたければ、=CONCAT(A2,” “,B2)と入力します。

連結するセル数が少なく、空白セルの除外が不要なら、CONCAT関数でも十分に対応できます。

【操作のポイント】CONCAT関数では区切り文字を忘れやすいため、完成形を先にイメージして数式を組み立てます。

 

アンパサンド記号による結合

アンパサンド記号は、2つ以上の文字列をつなぐ演算子です。

D2セルへ=A2&” “&B2と入力すると、姓と名の間に半角スペースを入れて連結できます。

日本語の氏名なら、=A2&” ”&B2のように全角スペースを指定することもあります。

アンパサンド記号は古いExcelでも利用できるため、Excelのバージョンが混在する職場で役立ちます。

カンマ区切りにするなら、=A2&”,”&B2です。

数式が長くなると記号の数を見失いやすいため、3項目以上を連結する場合はTEXTJOIN関数の方が見やすいこともあります。

それでも、項目ごとに異なる文字を間へ入れたいケースでは、アンパサンド記号が柔軟です。

【操作のポイント】セル参照と文字列の間は必ず&でつなぎ、固定文字はダブルクォーテーションで囲みます。

 

関数選択の目安

複数のセルを同じ区切り文字でまとめ、空白セルも除外したいならTEXTJOIN関数が最適です。

単に範囲の文字を続けて表示したい場合はCONCAT関数がわかりやすいでしょう。

利用するExcelが古い、または項目ごとに異なる文字を入れたい場合はアンパサンド記号が便利です。

空白を除外したカンマ区切りにはTEXTJOIN関数を使います。

区切り不要の連結にはCONCAT関数を使います。

互換性や細かな書式調整にはアンパサンド記号を使います。

関数を選ぶ前に、空欄をどう表示したいか、完成データをどこで使うかを決めることが重要です。

たとえばデータベースへ渡す文字列なら区切り規則を厳密にし、社内資料なら読みやすいスペースを入れる判断もできます。

【操作のポイント】数式を他の人へ引き継ぐ予定があるなら、空欄処理を含めて読みやすい関数を選びます。

 

改行区切りと記号を使った文字列の整形

続いては、カンマ以外の記号や改行を使い、連結後のデータを見やすく整える方法を確認していきます。

A列 都道府県 B列 市区町村 C列 番地 D列 表示例
東京都 新宿区 西新宿1-1-1 東京都 新宿区 西新宿1-1-1

 

スペースとスラッシュの指定

住所や分類名をまとめる場合、カンマよりスペースやスラッシュの方が読みやすいことがあります。

スペース区切りなら、=TEXTJOIN(” “,TRUE,A2:C2)と入力します。

スラッシュ区切りなら、=TEXTJOIN(“/”,TRUE,A2:C2)です。

区切り文字は最初の引数だけを変更すればよいため、同じ表から複数の表示形式を作れます。

商品カテゴリの階層を「家電/キッチン/調理器具」のように表示する場合にも便利です。

データを外部へ渡す前には、区切り文字が元データ内に含まれていないかを確認しましょう。

商品名にカンマが入っていると、CSVとして扱う際に列の区切りと混同される可能性があります。

【操作のポイント】利用先のシステムが求める区切り文字を確認してから、数式の1つ目の引数を決めます。

 

CHAR関数による改行表示

1つのセル内で項目を改行して表示したい場合は、CHAR(10)を区切り文字に使います。

=TEXTJOIN(CHAR(10),TRUE,A2:C2)

この数式では、A2からC2の各値がセル内で1行ずつ表示されます。

改行を見える形にするには、結果セルでホームタブの折り返して全体を表示する設定を有効にします。

行の高さが自動で十分に広がらない場合は、行番号の境界をダブルクリックして高さを自動調整してください。

宛名ラベル、住所表示、備考欄の作成では、横に長い文字列より改行表示の方が読みやすいケースがあります。

印刷時の見え方も確認し、必要なら列幅と行高を調整しましょう。

【操作のポイント】CHAR(10)を使った後は、折り返して全体を表示する設定まで行うことが大切です。

 

日付や数値を文字列へ整える方法

日付や金額を連結すると、表示形式ではなく内部の数値がそのまま出ることがあります。

たとえばA2に日付があり、=A2&” “&B2と連結した結果が「45292 商品名」のようになる場合があります。

このようなときはTEXT関数を使い、日付や数値の見た目を指定してから連結します。

=TEXT(A2,”yyyy/m/d”)&”,”&B2

金額なら=TEXT(A2,”#,##0円”)&”,”&B2のように設定できます。

TEXTJOIN関数の中にTEXT関数を組み合わせると、日付、氏名、金額を整った表示で1セルへまとめられます。

文字列へ変換した後の値は計算には使いにくくなるため、元の数値データは別列に残しておくと安心です。

【操作のポイント】日付や金額を含める場合は、連結前にTEXT関数で表示形式を指定します。

 

複数行と複数列のデータをまとめる注意点

続いては、表の範囲が広い場合や連結結果を再利用する場合に知っておきたい注意点を確認していきます。

A列 注文番号 B列 商品 C列 数量 D列 連結結果
1001 ノート 3 1001,ノート,3
1002 ペン 10 1002,ペン,10

 

複数行を1セルへ集約する考え方

縦方向に並んだA2:A10の値を1つのセルへまとめる場合も、TEXTJOIN関数を使えます。

=TEXTJOIN(“,”,TRUE,A2:A10)と入力すると、範囲内の各行のデータがカンマ区切りで連結されます。

この方法は、選択肢の一覧、担当者名の一覧、タグの一覧を1セルで表示したい場合に便利です。

横方向の範囲A2:C2と縦方向の範囲A2:A10は、どちらもTEXTJOIN関数で扱えます。

ただし、複数行をまとめると個別の行を並べ替えたり集計したりしにくくなるため、元の一覧表は必ず残しましょう。

連結結果は、印刷用の表示やメール本文用の素材として作る使い方が向いています。

【操作のポイント】複数行を集約する前に、並び順が完成形として正しいか確認します。

 

セル結合との違い

セルの結合は、複数のセルを見た目上1つの大きなセルへ変える機能です。

一方でTEXTJOIN関数やCONCAT関数による連結は、複数セルの内容を別の1セルへ文字列として表示する仕組みです。

データ管理ではセル結合より、元データを分けたまま連結列を作る方法が安全です。

セル結合を使うと、並べ替え、フィルター、テーブル化、コピーの操作で制限や警告が出ることがあります。

また結合セルへ入力できるのは左上のセルの値だけであり、複数セルの値を保存する機能ではありません。

表を後から加工する可能性があるなら、見出しを含めてセル結合を多用しない方が管理しやすいでしょう。

【操作のポイント】見た目を整えたいだけなら中央揃えなどを活用し、データ列は結合しない状態を保ちます。

 

値貼り付けとエラー対策

連結結果を別ブックや外部システムへ渡す場合、数式ではなく値として貼り付ける作業が必要になることがあります。

結果列をコピーし、貼り付け先で値を貼り付けると、数式ではなく表示された文字列だけを保存できます。

参照元のセルがエラーになっていると、連結結果にもエラーが表示されることがあります。

=TEXTJOIN(“,”,TRUE,IFERROR(A2:C2,””))

Microsoft 365など対応したExcelでは、このようにIFERROR関数を組み合わせることで、エラーのセルを空欄として扱えます。

値貼り付けを行う前に、連結列にエラー表示や不要なカンマがないかを目視で確認しましょう。

大量データではフィルターを使い、空白やエラーが含まれる行を抽出すると確認しやすくなります。

【操作のポイント】納品用データを作るときは、元の数式入りシートを残し、別シートへ値貼り付けした版を作成します。

 

まとめ エクセルで複数セルのデータを1つにまとめる方法

Excelで複数セルのデータを1つにまとめるには、セル結合ではなく文字列を連結する関数を使うのが基本です。

目的 おすすめの数式 特徴
空欄を除いてカンマ区切り =TEXTJOIN(“,”,TRUE,A2:C2) 複数項目の一覧向き
単純な連結 =CONCAT(A2:B2) 区切り不要の表示向き
細かな文字の追加 =A2&”,”&B2 互換性と調整力

カンマ区切りで空白セルも除外したい場合は、=TEXTJOIN(“,”,TRUE,A2:C2)を使うと効率的です。

この数式は、1行目をヘッダーにした表であれば、2行目へ入力してオートフィルするだけで各行に適用できます。

空欄を残す必要があるときはTRUEをFALSEへ変更し、表示の目的に応じて使い分けましょう。

複数セルをまとめても、元データの列は残しておくことが大切です。

連結列は表示用、出力用、検索用として作成し、計算や並べ替えの元になるデータとは分けて管理します。

スペース、スラッシュ、改行も区切り文字として使えるため、住所、商品情報、担当者一覧など幅広い業務で応用できます。

日付や金額を含める場合はTEXT関数を組み合わせ、見やすい表示形式に整えてから連結してください。

セル結合を避けて関数でまとめる習慣を付けると、フィルターや並べ替えにも強いExcel表を作りやすくなります。