2 простых способа объединить строки в вашем Excel

Поделись сейчас:

При анализе данных в Excel вы можете обнаружить, что они содержат несколько повторяющихся строк. В этом случае, возможно, вы захотите быстро объединить строки. Это рost предложит 2 быстрых способа получить его.

Многим пользователям часто приходится объединять повторяющиеся строки и суммировать соответствующие значения в Excel. Например, у меня есть ряд данных на листе Excel, который содержит множество повторяющихся записей, как на следующем снимке экрана. Следовательно, я хочу объединить повторяющиеся строки и суммировать соответствующие значения в другом столбце. Будет определенно хлопотно, если я сделаю это вручную. Поэтому я использую следующие 2 способа реализовать это.Образец листа Excel

Способ 1: используйте функцию «Консолидация»

  1. Прежде всего, щелкните пустую ячейку, в которую вы хотите поместить объединенные и суммированные данные.
  2. Затем перейдите на вкладку «Данные» и нажмите кнопку «Консолидировать».Нажмите кнопку «Консолидировать»
  3. Во всплывающем диалоговом окне убедитесь, что в поле «Функция» выбрано «Сумма».
  4. Затем, щелкните Кнопка ссылки .Выберите функцию «Сумма».
  5. Позже выберите диапазон, который вы хотите объединить, и нажмите Кнопка ссылки .Выбрать диапазон
  6. После этого нажмите кнопку «Добавить» в диалоговом окне «Консолидация».Добавить диапазон для справки
  7. Затем отметьте опции «Верхняя строка» и «Левая колонка».Используйте ярлыки в «Верхнем ряду» и «Левом столбце»
  8. Наконец, нажмите кнопку «ОК».
  9. Сразу же строки объединяются, как показано на следующем снимке экрана.Консолидированные данные

Способ 2: используйте код Excel VBA

  1. В самом начале выберите нужный вам диапазон.Выбрать диапазон
  2. Затем запустите редактор VBA в соответствии с «Как запустить код VBA в вашем Excel».
  3. Затем скопируйте следующий код VBA в модуль.
Sub MergeRowsSumValues()
    Dim objSelectedRange As Excel.Range
    Dim varAddressArray As Variant
    Dim nStartRow, nEndRow As Integer
    Dim strFirstColumn, strSecondColumn As String
    Dim objDictionary As Object
    Dim nRow As Integer
    Dim objNewWorkbook As Excel.Workbook
    Dim objNewWorksheet As Excel.Worksheet
    Dim varItems, varValues As Variant
 
    On Error GoTo ErrorHandler
    Set objSelectedRange = Excel.Application.Selection
    varAddressArray = Split(objSelectedRange.Address(, False), ":")
    nStartRow = Split(varAddressArray(0), "$")(1)
    strFirstColumn = Split(varAddressArray(0), "$")(0)
    nEndRow = Split(varAddressArray(1), "$")(1)
    strSecondColumn = Split(varAddressArray(1), "$")(0)
 
    Set objDictionary = CreateObject("Scripting.Dictionary")
 
    For nRow = nStartRow To nEndRow
        strItem = ActiveSheet.Range(strFirstColumn & nRow).Value
        strValue = ActiveSheet.Range(strSecondColumn & nRow).Value
  
        If objDictionary.Exists(strItem) = False Then
           objDictionary.Add strItem, strValue
        Else
           objDictionary.Item(strItem) = objDictionary.Item(strItem) + strValue
        End If
    Next
 
    Set objNewWorkbook = Excel.Application.Workbooks.Add
    Set objNewWorksheet = objNewWorkbook.Sheets(1)
 
    varItems = objDictionary.keys
    varValues = objDictionary.items
 
    nRow = 0
    For i = LBound(varItems) To UBound(varItems)
        nRow = nRow + 1
        With objNewWorksheet
             .Cells(nRow, 1) = varItems(i)
             .Cells(nRow, 2) = varValues(i)
        End With
    Next
    objNewWorksheet.Columns("A:B").AutoFit
 
ErrorHandler:
    Exit sub
End Sub

Код VBA — объединение строк

  1. После этого нажмите «F5», чтобы запустить этот макрос сейчас.
  2. Когда макрос завершится, появится новая книга Excel, в которой вы увидите объединенные строки и суммированные данные, как показано на рисунке ниже.Консолидированные данные в новой книге Excel

сравнение

  Преимущества Недостатки
Метод 1 Простота в эксплуатации Невозможно обработать два столбца не рядом друг с другом
Метод 2 1. Удобно для повторного использования 1. Немного сложно понять новичкам в VBA
2. Исходный лист Excel не испортится, так как он поместит объединенные данные в новый файл. 2. Невозможно обработать два столбца не рядом друг с другом

При обнаружении сбоя Excel

Как мы все знаем, Excel может время от времени давать сбой. В этом случае, в худшем случае, текущий файл Excel может быть поврежден напрямую. В это время у вас нет другого выбора, кроме как попытаться Восстановление Excel. Это требует от вас либо обращения за помощью к профессионалам, либо использования специализированного инструмента восстановления Excel, такого как DataNumen Excel Repair.

Об авторе:

Ширли Чжан — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая и коррумпированных лиц SQL Server и программные продукты для ремонта Outlook. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.