KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でグループに基づいて複数行を1 セルに連結する3 の方法

著者Sun変更日

Excel で構造化されたデータセットを扱う際、グループごとに複数行のデータを1 つのセルに結合することがよくあります。たとえば、同じクラスに所属するすべての名前を1 つのセルにまとめるようなケースです。本記事では、あなたの専門知識やユースケースのレベルに応じて、さまざまな方法と最適化を活用したステップバイステップの手順をご紹介します。

クラスと学生名が記載された2つの列と、クラスごとに連結された学生名を示すスクリーンショット


数式とフィルター関数を使用してグループ化および連結

Excel の数式と「フィルター」関数を組み合わせれば、特定の列に基づいて行を簡単に連結できます。以下の手順に従ってください。

注: この例では「Class」列のように、データがグループ化列でソートされていることを確認してください。
  1. 新しい列に次の数式を入力して名前を連結し、「Enter」キーを押してください。その後、その数式を列全体に適用するまで下方向にドラッグします。
    =IF(A2=A1,C1&", "&B2,B2)
  2. 新しい列に次の数式を入力し、「Enter」キーを押した後、その数式を下方向にドラッグしてください。
    =IF(A2<>A3,"Last","")
  3. 補助列を含むすべてのデータ範囲を選択し、「データ」>「Filter」をクリックして、データにFilter iconsを追加します。
    Excelリボンにある「フィルター」ボタンのスクリーンショット
  4. 最後の補助列の「Filter icon」をクリックし、「Last"」チェックボックスだけをオンにして、「OK」をクリックしてください。
    Excelで各グループの最終行のみがフィルター表示されているスクリーンショット

結果は次のようになります。補助列が不要になったら、最後の補助列を削除できます。

Excelでグループ化および連結された最終結果を示すスクリーンショット


Kutools for Excel を使用して簡単にグループ化および連結

「Kutools for Excel」には「高度な行のマージ」というシンプルで効率的な機能が搭載されており、わずか数回のクリックでグループ化された行を1 つのセルに簡単に結合できます。さらに、カンマやスペース、改行など、さまざまなカスタム区切り文字を自動的に挿入し、多彩なデータ表示ニーズに柔軟に対応します。

Kutools for Excel-Excel 向けの必須ツールを300 種類以上搭載!作業がより迅速に、簡単に、効率的になります。今すぐダウンロード!

  1. データが含まれるセルをハイライト表示し、「Kutools」>「結合と分割」>「高度な行のマージ」へ移動します。
  2. Advanced Combine Rows」ウィンドウで、以下のとおり設定してください。
    1. 基準となる列をクリックして、「プライマリキー」に設定してください。
    2. この例では、「Names」列のように連結したい列について、「Operation」フィールドの「Combine」セクションで区切り文字を指定してください。
    3. 「OK」ボタンをクリックしてください。

結果:Kutools がグループに基づいて自動的にデータを1 つのセルに結合し、指定した区切り文字を挿入します。

注: ユーティリティを適用する前に、元のデータのコピーを作成することを推奨します。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手


VBA コードを使用してグループ化および連結

VBA を使えば、グループに基づいて行を動的に連結することも可能です。

  1. Alt「 + 」F11"」キーを押して Microsoft Visual Basic for Applications"」ウィンドウを有効にします。
  2. コードエディターで、「Tools」>「References」をクリックして「References」ダイアログを開き、「Microsoft Scripting Runtime」にチェックを入れて変更を保存してください。
  3. 「挿入」>「標準モジュール」に移動し、以下の VBA コードをモジュールウィンドウに貼り付けます。
    VBA: グループに基づいて複数行を1 セルに連結
    Sub ConcatenateCellsIfSameValues()
    'UpdatebyExtendoffice20180201
        Dim I As Long
        Dim J As Long
        Dim xRg As Range
        Dim xRgKey As Range
        Dim xRgVal As Range
        Dim xStr As String
        Dim xDic As New Dictionary
        On Error Resume Next
        Set xRg = Application.InputBox("Select data range", "KuTools for Excel", Selection.Address, , , , , 8)
        If xRg Is Nothing Then Exit Sub
        Set xRgKey = Application.InputBox("Select key column", "KuTools for Excel", xRg.Columns(1).Address, , , , , 8)
        If xRgKey Is Nothing Then
            MsgBox "Key column cannot be empty", vbInformation, "KuTools for Excel"
        End If
        Set xRgVal = xRg(1).Offset(, 1).Resize(xRg.Rows.Count, xRg.Columns.Count - 1)
        For I = 1 To xRgKey.Count
            If I > xRgKey.Count Then Exit For
            xStr = ""
            For J = 1 To xRgVal.Columns.Count
                xStr = xStr & " " & xRgVal(I, J)
            Next
            If xDic.Exists(xRgKey(I).Text) Then
                xDic(xRgKey(I).Text) = xDic(xRgKey(I).Text) & xStr
                xRgKey(I).EntireRow.Delete
                I = I - 1
           Else
                xDic.Add xRgKey(I).Text, xStr
            End If
        Next
        For I = 1 To xRgVal.Count
            xRgVal(I).Value = xDic(xRgKey(I).Text)
        Next
    End Sub
    モジュールウィンドウに貼り付けられたVBAコードを示すスクリーンショット
  4. F5」キーを押してスクリプトを実行し、表示されるプロンプトに従ってデータ範囲を選択し、キーカラムを指定してください。
    Excelで範囲選択を促すVBA入力ボックスのスクリーンショットキー列の選択を促すVBA入力ボックスのスクリーンショット

結果は次のとおりです。
VBAスクリプト実行後の連結結果を示すスクリーンショット

Excel でデータを扱う際、セルのグループ化や結合はよく使われる機能ですが、操作が複雑になりがちです。目的や使用するツールに応じて、この作業を実現するさまざまな方法の中から最適なものを選べます。ご自身の具体的なニーズや好みに合ったツールと手法を選び、Excel 作業をもっと効率的で快適なものにしましょう!さらにExcel のヒントやテクニックを知りたい方は、当サイトで数千ものチュートリアルをご利用いただき、Excel をマスターできます。

デモ: Kutools for Excel の高度な行のマージを使用してグループ化および連結

 
Kutools for Excel:300 個を超える便利なツールがすぐそこへ!AI 搭載の機能で、よりスマートでスピーディーな作業をぜひお楽しみください!今すぐダウンロード!

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得