-2

Мне нужно объединить информацию из нескольких строк и столбцов на основе общего значения для конкретной ячейки.

Я предполагаю, что здесь можно использовать макрос, так как проблема в том, что мне нужно объединить много информации, где для некоторых строк одни столбцы пусты, а другие содержат информацию.

Значения в ячейках, которые мне нужно использовать для объединения строк, могут появляться более одного раза.

Я добавляю изображение, где вы можете увидеть структуру документа и часть списка повторяющихся значений для столбца "Электронная почта". Я проверяю это с помощью функции VLOOKUP, и их около 3000, а на листе около 5000 строк.

Пример 1

Пример 2

1 ответ1

0

С VBA / Макросы:

Public Sub myDuplicates()
    Dim wks As Worksheet
    Set wks = ActiveSheet
    emailcolumn = 4
    totalcolumns = 12
    merges = 0
    theSymbol = " / "
    Application.ScreenUpdating = False
    lastRow = wks.Cells(Rows.Count, "A").End(xlUp).Row
    For i = lastRow To 1 Step -1
        email1 = wks.Cells(i, emailcolumn)
        For j = i - 1 To 2 Step -1
            email2 = wks.Cells(j, emailcolumn)
            If LCase(email1) = LCase(email2) Then
                For k = 1 To totalcolumns
                    If LCase(Cells(i, k)) <> LCase(Cells(j, k)) Then
                        Cells(j, k) = Cells(j, k) & theSymbol & Cells(i, k)
                    End If
                Next k
                wks.Rows(i).Delete
                j = 1
                merges = merges + 1
            End If
        Next j
    Next i
    Application.ScreenUpdating = True
    theMessage = MsgBox("Finished with " & merges & " merges", vbInformation)
End Sub

Откройте VBA/Macros, вставьте новый модуль в ThisWorkbook и вставьте этот код справа.

Когда два письма такие же, она объединяет все различное только поле. И используйте / чтобы отделить их внутри клетки.

Предполагается, что ваше поле электронной почты является четвертой колонкой. Он может быть изменен с помощью переменной emailcolumn а также предполагает, что ваш максимальный столбец равен 12, также он может быть легко изменен для переменной totalcolumns .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .