Під час аналізу даних в Excel ви можете виявити, що вони містять кілька дублікатів рядків. У такому випадку, можливо, вам знадобиться швидко об'єднати рядки. У цій публікації буде запропоновано 2 швидких способи отримати це.
Багатьом користувачам часто доводиться об'єднувати повторювані рядки та підсумовувати відповідні значення в Excel. Наприклад, у мене є ряд даних на аркуші Excel, який містить велику кількість повторюваних записів, як на наступному скріншоті. Отже, я хочу об'єднати повторювані рядки та підсумувати відповідні значення в іншому стовпці. Буде точно клопітно, якщо я це зроблю вручну. Тому я використовую наступні 2 способи реалізувати це.
Спосіб 1: Використовуйте функцію “Консолідація”
- Спочатку клацніть порожню комірку, куди ви хочете розмістити об’єднані та зведені дані.
- Потім перейдіть на вкладку «Дані» та натисніть кнопку «Об’єднати».
- У діалоговому вікні, що з’явиться, переконайтеся, що у полі „Функція” вибрано „Сума”.
- Потім натисніть кнопку
.
- Пізніше виберіть діапазон, який потрібно консолідувати, і натисніть
.
- Після цього натисніть кнопку «Додати» у діалоговому вікні «Консолідація».
- Згодом перевірте параметри «Верхній рядок» та «Лівий стовпець».
- Нарешті, натисніть кнопку «OK».
- Одразу рядки об’єднуються, як показано на наступному скріншоті.
Спосіб 2: Використовуйте код VBA Excel
- На самому початку виберіть діапазон, який ви хочете.
- Потім запустіть редактор VBA відповідно до “Як запустити код VBA у вашому Excel».
- Далі скопіюйте наступний код 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
- Після цього натисніть “F5”, щоб запустити цей макрос зараз.
- Коли макрос закінчиться, з’явиться нова книга Excel, у якій ви зможете побачити об’єднані рядки та зведені дані, як на малюнку нижче.
порівняння
| Переваги | Недоліки | |
| Метод 1 | Простота в експлуатації | Не вдається обробити два стовпці, розташовані поруч один з одним |
| Метод 2 | 1. Зручний для повторного використання | 1. Трохи важко зрозуміти новачкам VBA |
| 2. Не зіпсує оригінальний аркуш Excel тим, що об’єднані дані помістить у новий файл | 2. Не вдається обробити два стовпці не поруч один з одним |
При зустрічі зі збоями в Excel
Як ми всі знаємо, Excel може час від часу аварійно завершувати роботу. За цієї обставини, в гіршому випадку, поточний файл Excel може бути пошкоджений безпосередньо. На той час у вас немає іншого вибору, крім як зробити спробу Відновлення Excel. Це вимагає від вас або звернутися за допомогою до професіоналів, або скористатися спеціалізованим засобом ремонту Excel, наприклад DataNumen Excel Repair.
Вступ автора:
Ширлі Чжан - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі корумпований SQL Server та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com








