Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Сложение строк по дубликатам в первом столбце

Автор SS78RUS, 28.03.2017, 17:54

« назад - далее »

SS78RUS

Здравствуйте!

Имеется более 10000 строк, 5 столбцов. Дублируется текст только в первом. В 4-х после него уникальный текст не пересекающийся по столбцам.
Подскажите как сложить в одну строку дубликаты из первого столбца?

Пример во вложении.
Заранее спасибо!

kuklp1

#1
Sub www()
    Dim i&, c As Range, r As Range
    Range("A2").CurrentRegion.Columns(1).Copy Range("J1")
    [$J$1].CurrentRegion.RemoveDuplicates 1
    For Each c In [$J$1].CurrentRegion.Columns(1).Cells
        For Each r In Range("A2:A8").Cells
            If r.Value = c.Value Then
                For i = 1 To 4
                    If r.Offset(, i) <> "" Then c.Offset(, i) = r.Offset(, i)
                Next
            End If
        Next
    Next
End Sub

Если у Вас 2003 Эксел, то так:
Sub www()
    Dim i&, c As Range, r As Range
    With [a2].CurrentRegion.Columns(1)
        .AdvancedFilter 1, Unique:=True
        .SpecialCells(12).Copy Range("J1")
        ActiveSheet.ShowAllData
    End With
    For Each c In [$J$1].CurrentRegion.Columns(1).Cells
        For Each r In Range("A2:A8").Cells
            If r.Value = c.Value Then
                For i = 1 To 4
                    If r.Offset(, i) <> "" Then c.Offset(, i) = r.Offset(, i)
                Next
            End If
        Next
    Next
End Sub

Я, как всегда, чертовски адекватен... Email: kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728, E332314026771

zs5

=ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($A17;A3)>0;B3;"");"")&ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($A17;A4)>0;B4;"");"")&ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($A17;A5)>0;B5;"");"")&ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($A17;A6)>0;B6;"");"")&ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($A17;A7)>0;B7;"");"")&ЕСЛИОШИБКА(ЕСЛИ(ПОИСК($A17;A8)>0;B8;"");"")

SS78RUS

#3
kuklp1, просто, красиво, эффективно.. Спасибо!