Есть ли в Excel 2007 способ группировать повторяющиеся строки (строки с одинаковым значением в одном столбце) и объединять значения из другого столбца?
Например,
COL1 COL2
aaa X
aaa Y
Желаемая:
COL1 COL2
aaa X,Y
Есть ли в Excel 2007 способ группировать повторяющиеся строки (строки с одинаковым значением в одном столбце) и объединять значения из другого столбца?
Например,
COL1 COL2
aaa X
aaa Y
Желаемая:
COL1 COL2
aaa X,Y
Лучший способ сделать это - создать макрос, а затем выполнять его всякий раз, когда вам нужно. Если вы не знакомы с тем, как создавать макросы, ознакомьтесь с разделом Создание макросов VBA.
Попробуй это:
Sub combineValues()
Dim dic As Dictionary
Dim key, val, i, p, k
Set dic = New Dictionary
For i = 1 To Worksheets(1).Range("A65536").End(xlUp).Row
key = Worksheets(1).Cells(i, 1).Value
val = Worksheets(1).Cells(i, 2).Value
If dic.Exists(key) Then
dic.Item(key) = dic.Item(key) & ", " & val
Else
dic.Add key, val
End If
Next
p = 1
For Each k In dic.Keys
Worksheets(2).Cells(p, 1) = k
Worksheets(2).Cells(p, 2) = dic.Item(k)
p = p + 1
Next
End Sub
Обратите внимание, что вам придется включить "Среду выполнения сценариев Microsoft" в "Справочник", чтобы использовать Dictionary
.
Протестировано со следующим [Лист 1]:
1 value 1
2 value 2
3 value 3
1 value 4
1 value 5
3 value 6
3 value 7
2 value 8
1 value 9
2 value 10
2 value 11
2 value 12
Результаты следующие [Лист 2]:
1 value 1, value 4, value 5, value 9
2 value 2, value 8, value 10, value 11, value 12
3 value 3, value 6, value 7