Excel 2007 транспонирует/комбинирует несколько строк в одну

У меня есть данные как так:

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?

6
задан 11.02.2011, 14:47

2 ответа

Вот решение 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
6
ответ дан 07.12.2019, 15:53

IMO самый простой способ выполнить такую задачу посредством документов Google. Скопируйте свои данные в пустой электронной таблице Google. Затем в, скажем, записи F1:

=UNIQUE(A:A) 

и в записи G1:

=TRANSPOSE(FILTER(B:B,A:A=F1)

и копируйте. Затем скопируйте результаты и вставьте их назад в Excel.

3
ответ дан 07.12.2019, 15:53

Теги

Похожие вопросы