Как объединить несколько строк в одну на основе дубликатов в Excel?
Возможно, у вас есть данные, как на следующем скриншоте: в столбце A с названиями продуктов есть некоторые повторяющиеся элементы, и теперь вам нужно удалить повторяющиеся записи в столбце A, но объединить соответствующие значения в столбце B, см. скриншоты:
![]() | ![]() | ![]() |
Есть ли у вас какие-либо эффективные способы решить эту задачу?
Объединение нескольких дублирующихся строк в одну с помощью кода VBA
Объединение нескольких дублирующихся строк в одну с помощью Kutools для Excel
Объединение нескольких дублирующихся строк в одну с помощью кода VBA
Следующий код VBA может помочь вам объединить дублирующиеся строки на основе значений в столбце A, и этот код применяется только для двух столбцов. Поэтому, если у вас есть данные в двух столбцах, этот код окажет вам услугу.
1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль и вставьте следующий код в окно Модуля.
Код VBA: объединение нескольких строк в одну
Sub CombineRows()
'Update 20131202
Dim WorkRng As Range
Dim Dic As Variant
Dim arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Dic = CreateObject("Scripting.Dictionary")
arr = WorkRng.Value
For i = 1 To UBound(arr, 1)
xvalue = arr(i, 1)
If Dic.Exists(xvalue) Then
Dic(arr(i, 1)) = Dic(arr(i, 1)) & " " & arr(i, 2)
Else
Dic(arr(i, 1)) = arr(i, 2)
End If
Next
Application.ScreenUpdating = False
WorkRng.ClearContents
WorkRng.Range("A1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.keys)
WorkRng.Range("B1").Resize(Dic.Count, 1) = Application.WorksheetFunction.Transpose(Dic.items)
Application.ScreenUpdating = True
End Sub
3. Затем нажмите клавишу F5, и появится диалоговое окно, напоминающее выбрать диапазон, который вы хотите объединить. См. скриншот:
4. После этого нажмите OK, и значения в столбце B будут объединены в одну запись и разделены пробелами.
Примечания:
1. Этот код может повредить исходные данные, поэтому перед его использованием лучше сделать резервную копию данных.
2. Этот код применим только для двух столбцов; если у вас больше двух столбцов, этот код объединит только первые два столбца и удалит данные из других столбцов. При использовании этого кода будьте осторожны.
Объединение нескольких дублирующихся строк в одну с помощью Kutools для Excel
Теперь, когда вышеупомянутый код имеет некоторые ограничения и риски, есть ли удобный и безопасный способ выполнить эту задачу? С помощью утилиты Advanced Combine Rows из Kutools для Excel вы можете быстро удалить несколько дублирующихся строк в выбранных столбцах и объединить или выполнить некоторые вычисления для других записей в соответствующие ячейки.
Kutools для Excel включает более 300 удобных инструментов для Excel. Бесплатная пробная версия без ограничений на 30 дней. Получите это сейчас.
После установки Kutools для Excel выполните следующие действия:
1. Выберите диапазон данных, которые вы хотите объединить.
2. Затем нажмите Kutools > Объединить и разделить > Расширенное объединение строк.
3. В диалоговом окне Расширенное объединение строк выберите имя столбца в качестве ключевого столбца, по которому вы хотите объединить значения, а затем нажмите Ключевые столбцы.
4. Затем продолжайте выбирать столбец, значения которого вы хотите объединить в одну запись, и нажмите Тип объединения и выберите Только объединить с разделителем, затем выберите один из разделителей, чтобы разделить объединенные значения из списка справа. См. скриншот:
5. После завершения настроек нажмите OK, и ваши данные будут объединены на основе ключевых столбцов и разделены разделителями.
Примечание: Если вам не нужно задавать операции для остальных столбцов, просто оставьте их в состоянии по умолчанию.
Объединение нескольких дублирующихся строк и суммирование/усреднение значений с помощью Kutools для Excel
С помощью этой многофункциональной утилиты Расширенное объединение строк вы можете объединять дублирующиеся строки и выполнять некоторые вычисления для значений.
1. Выберите диапазон данных, которые вы хотите объединить.
2. Перейдите в диалоговое окно Расширенное объединение строк;
- (1.) Выберите имя столбца в качестве ключевого столбца, на основе которого вы хотите рассчитать значения других столбцов, и нажмите Ключевые столбцы;
- (2.) Выберите столбец, для которого вы хотите выполнить вычисления, и нажмите Тип объединения > Вычисление объединения, затем выберите тип вычисления, который вам нужен, в данном случае я выбираю Сумма. См. скриншот:
3. Если вам не нужно задавать операции для остальных столбцов, просто оставьте их в состоянии по умолчанию, затем нажмите OK, и дублирующиеся значения в столбце A будут объединены, а их соответствующие значения в столбце B будут сложены. См. скриншоты:
![]() | ![]() | ![]() |
Примечания:
1. Если вы отметите опцию Данные содержат заголовки, ваши заголовки (первая строка) диапазона будут игнорироваться при применении этой утилиты.
2. Использовать форматированные значения: это сохранит форматирование значений после объединения дублирующихся ячеек.
3. Эта утилита не подходит для фильтрации данных.
Нажмите, чтобы узнать больше об этой функции Расширенное объединение строк.
Связанная статья:
Объединение дублирующихся строк и суммирование значений
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!