Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to concatenate rows into one cell based on group in Excel?

Here is a range of two columns, one is the class list, and the other is the student names list. As you see, some students are in the same class, some are not. Now I want to concatenate the students in the same class into one cell as below screenshot shown, how can I quickly handle it in Excel?
doc concatenate by group 1

Group and concatenate with formulas and Filter function

Group and concatenate with VBA code

Group and concatenate with Advanced Combine Rowsgood idea3

Easily Combine columns or rows without losing data in Excel

Supposing you are working with a worksheet which contains multiple duplicate records, and now you need to combine / merge the rows based on the same value and do some calculations, such as sum, average, count of the duplicate rows. With this Advanced Combine Rows of Kutools for Excel, you can quickly combine same values / same data or duplicate rows into appropriate cells.  Click for 60 days free trial!
doc advanced combine rows
 
Kutools for Excel: with more than 200 handy Excel add-ins, free to try with no limitation in 60 days.

Group and concatenate with formulas and Filter function

In Excel, you can apply formulas to concatenated rows based on one column, then use the Filter function to display the result only.

Note: You need to sort your data by the class before following steps.

1. In a blank cell next to the data range, for instance, C13, type this formula =IF(A13=A12,C12&", "&B13,B13), press Enter key and fill the formula to cells with dragging fill handle.
doc concatenate by group 2

In the formula, A13 is the first data in the “Class” column, B13 is the first data in the “Name” column, “,” is the separator to delimit concatenate contents.

2. Then in the next column, D13, type this formula =IF(A13<>A14,"Last","") , and drag fill handle down to apply the formula to cells you need.
doc concatenate by group 3

3. Now select all the data range including formulas and click Data > Filter to add Filter icons to the data.
doc concatenate by group 4

4. Click the Filter icon in last formula header, check Last checkbox only from the drop-down list, and click OK.
doc concatenate by group 5

Now the result is shown as below, you can remove last helper column if you do not need it ever.
doc concatenate by group 6


Group and concatenate with VBA code

Here is a VBA code that also can handle this job.

1. Press Alt + F11 keys to enable the Microsoft Visual Basic for Applications window.

2. Then in the window, click Tools > References to enable References dialog, and check Microsoft Scripting Runtime. See screenshot:
doc concatenate by group 7
doc concatenate by group 8

3. Click OK, and click Insert > Module in VBA window, and copy and paste below VBA code to the Module script. See screenshot:

VBA: Concatenate rows into one cell based on group

  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

doc concatenate by group 9

4. Press F5 key, and select the data range you use in the popping dialog.
doc concatenate by group 10

5. Click OK to select the key column you want to group based on.
doc concatenate by group 11

6. Click OK, now the result is shown as below:
doc concatenate by group 12


Group and concatenate with Advanced Combine Rows

Here is a utility in Kutools for Excel, Advanced Combine Rows, which can combine rows or do calculations based on a key column in Excel.

Kutools for Excel, with more than 120 handy functions, makes your jobs easier. 

After installing Kutools for Excel, please do as below:(Free Download Kutools for Excel Now!)

1. Select the data range you use and click Kutools > Content > Advanced Combine Rows.
doc concatenate by group 13

2. In the Advanced Combine Rows window, choose the column which you want to combine rows based on, and click Primary Key to set it as key column.
doc concatenate by group 14

3. Select the column you need to combine, click Combine, and choose one delimiter you use to separate the combined contents.

doc concatenate by group 15 doc arrow right doc concatenate by group 16

 

4. Click Ok. The result is shown as this:
doc concatenate by group 17

Note: Before apply the utility, you had better have a copy of the original data.



Recommended Productivity Tools for Excel

Kutools for Excel Helps You Always Finish Work Ahead of Time, and Stand Out From Crowd

  • More than 300 powerful advanced features, designed for 1500 work scenarios, increasing productivity by 70%, give you more time to take care of family and enjoy life.
  • No longer need memorizing formulas and VBA codes, give your brain a rest from now on.
  • Become an Excel expert in 3 minutes, Complicated and repeated operations can be done in seconds, 
  • Reduce thousands of keyboard & mouse operations every day, say goodbye to occupational diseases now.
  • 110,000 highly effective people and 300+ world-renowned companies' choice.
  • 60-day full features free trial. 60-day money back guarantees. 2 years of free upgrade and support.

Brings Tabbed Browsing and Editing to Microsoft Office, Far More Powerful Than The Browser's Tabs

  • Office Tab is designed for Word, Excel, PowerPoint and Other Office Applications: Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.