How to combine rows with same ID/name in Excel?
For example, you have a table as below screenshot shown, and you need to combine rows with the order IDs, any ideas? Here, this article will introduce two solutions for you.
This method will introduce a VBA to quickly combine all rows with the same ID or name in the specified selection. Please do as follows:
1. Press Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and then paste the VBA code into the Module window.
VBA: Combine Rows with the Same ID/name in Excel
Sub Consolidate_Rows() Dim xRg As Range Dim xRows As Long Dim I As Long, J As Long, K As Long On Error Resume Next Set xRg = Application.InputBox("Select Range:", "Kutools For Excel", Selection.Address, , , , , 8) Set xRg = Range(Intersect(xRg, ActiveSheet.UsedRange).Address) If xRg Is Nothing Then Exit Sub xRows = xRg.Rows.Count For I = xRows To 2 Step -1 For J = 1 To I - 1 If xRg(I, 1).Value = xRg(J, 1).Value And J <> I Then For K = 2 To xRg.Columns.Count If xRg(J, K).Value <> "" Then If xRg(I, K).Value = "" Then xRg(I, K) = xRg(J, K).Value Else xRg(I, K) = xRg(I, K).Value & "," & xRg(J, K).Value End If End If Next xRg(J, 1).EntireRow.Delete I = I - 1 J = J - 1 End If Next Next ActiveSheet.UsedRange.Columns.AutoFit End Sub
3. Press the F5 key or click the Run button to run this VBA.
4. In the popping out Kutools for Excel dialog box, please select the rows you will combine, and click the OK button. See screenshot:
Now you will see the rows in the specified range are combined with commas by the same ID. See screenshot:
Note: This VBA can only combine rows by the values in the first column. For example you want to combine rows by the same name, you must move the name column to the first column of the specified range.
If you have Kutools for Excel installed, you can apply its Advanced Combine Rows feature to quickly combine rows with the same ID or names in the specified range.
1. Select the rows you will combine, and click Kutools > Content > Advanced Combine Rows. See screenshot:
2. In the Advanced Combine Rows dialog box, please select the ID or name column you will combine by, click Primary Key, and then specify combination rules for other columns as you need.
In my case, (1) I select the Order ID column, and click Primary Key; (2) select the Date column, and click Calculate > Count; (3) select the Salesman column, and click Combine > Comma; (4) select the Amount column, and click Calculate > Sum. See screenshot:
3. Click the OK button.
Now you will see the selected rows are combined based on the order ID. See screenshot: