У меня есть данные как так:
1001NCCN 3618127
1001NCCN 208478
1001NCCN 207316
1001TEMN 409889
1001TEMN 801651
1001TEMN 273134
1001TEMN 208478
1001TEMN 207316
Я должен транспонировать/комбинировать строки, которые имеют совпадающие значения в первом столбце с конечным результатом как так:
1001NCCN 3618127 208478 207316
1001TEMN 409889 801651 273134 208478 207316
Я посмотрел на Сводные таблицы и фильтрацию, но ни один не казался, что они могут дать мне, в чем я нуждаюсь. Существует ли способ сделать это в Excel?
Вот решение VBA
это полагается как сгруппированные строки, так вид сначала, если Вы должны
Просто выберите первую ячейку в своем диапазоне и работайте...
Sub Mergeitems()
Dim cl As Range
Dim rw As Range
Set rw = ActiveCell
Do While rw <> ""
' for each row in data set
' find first empty cell on row
Set cl = rw.Offset(0, 1)
Do While cl <> ""
Set cl = cl.Offset(0, 1)
Loop
' if next row needs to be processed...
Do While rw = rw.Offset(1, 0)
cl = rw.Offset(1, 1) ' move the data
Set cl = cl.Offset(0, 1) ' update pointer to next blank cell
rw.Offset(1, 0).EntireRow.Delete xlShiftUp ' delete old data
Loop
' next row
Set rw = rw.Offset(1, 0)
Loop
End Sub
IMO самый простой способ выполнить такую задачу посредством документов Google. Скопируйте свои данные в пустой электронной таблице Google. Затем в, скажем, записи F1:
=UNIQUE(A:A)
и в записи G1:
=TRANSPOSE(FILTER(B:B,A:A=F1)
и копируйте. Затем скопируйте результаты и вставьте их назад в Excel.