2016-10-27 2 views
1

Я новичок в работе с excel и хочу знать, возможно ли следующее.Объединение строк с одинаковым значением в Excel

У меня есть файл в следующем формате

R1  R2 
200 A 
201 A 
202 A 
202 A 
203 A 
205 B 
203 B 
202 B 
202 C 
203 C 

, и я хочу, чтобы преобразовать данные следующим образом:

R1     R2 
200,201,202,203 A 
205,203,202  B 
202,203   C 

Пожалуйста, дайте мне знать, если выше, может быть сделано в Excel.

Thank you.

+0

ли столбец R2 всегда отсортирован? У вас есть Office 365 Excel? Если ответ «нет» для обоих вам понадобится vba. –

+0

Duplicate. Проверьте: http://stackoverflow.com/questions/24423747/how-to-convert-a-long-form-table-to-wide-form-table-in-excel#24424637 – kabanus

ответ

1

С вашими данными в столбцах и B, этот короткий макрос:

Sub ReOrg() 
    Dim nA As Long, nD As Long, i As Long, rc As Long 
    Dim s As String, j As Long 

    Range("B:B").Copy Range("D1") 
    Range("A1").Copy Range("C1") 
    Range("D:D").RemoveDuplicates Columns:=1, Header:=xlYes 
    rc = Rows.Count 
    nA = Cells(rc, 1).End(xlUp).Row 
    nD = Cells(rc, 4).End(xlUp).Row 

    For i = 2 To nD 
     v = Cells(i, 4) 
     v2 = "" 
     For j = 2 To nA 
      If v = Cells(j, 2) Then 
       v2 = v2 & "," & Cells(j, 1) 
      End If 
     Next j 
     Cells(i, 3) = Mid(v2, 2) 
    Next i 
End Sub 

будет производить:

enter image description here

Смежные вопросы