Макрос для объединения одинаковых ячеек в таблице Excel
В данном примере напишем код макроса, который сможет автоматически найти и объединить все одинаковые ячейки в таблице Excel любой сложности.
Как объединить одинаковые ячейки в столбце используя макрос
Имеется отчет продаж в сети магазинов по целой стране. Нам нужно сделать таблицу данного отчета более читабельной. Для этого следует красиво сформатировать первый столбец, в котором содержаться названия штатов:

Мы хотим объединить все ячейки с одинаковыми значениями в столбце «Штат» (A). Это можно реализовать с помощью ручного выделения отдельных групп одинаковых значений и объединения их ячеек, воспользовавшись инструментом: «ГЛАВНАЯ»-«Выравнивание»-«Объединить и поместить в центре». Но если таблица содержит тысячи таких групп, да еще с разным количеством повторяющихся ячеек, тогда рационально написать макрос. Он сам быстро и автоматически выполнит всю работу за Вас.
Откройте редактор Visual Basic (ALT+F11):

И создайте новый модуль с помощью инструмента: «Insert»-«Module». А потом запишите в него VBA-код макроса:

Теперь если нам необходимо объединить ячейки с одинаковыми значениями, то выделите диапазон A1:A18 и запустите макрос выбрав инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«JoinDoubles»-«Выполнить». Результат действия макроса отображен на рисунке:

В начале кода мы декларируем переменную для хранения показателей счетчика цикла. В цикле проверяем значения соседних ячеек, начиная с низа выделенного диапазона. Если ячейка содержит такое же значение значит она будет объединена.
Дополнительно в начале кода макроса устанавливаем свойство «False» для объекта «DisplayAlerts», чтобы предотвратить появления предупреждающего сообщение о попытке объединить непустые ячейки в программе Excel. В конце выполнения кода макроса обратно возвращаем свойство «True» для объекта «DisplayAlerts».
Обратите внимание! Если перед выполнением макроса выделить более одного столбца, то в результате будут объединены одинаковые значения только в первом столбце. Чтобы расширить поле действия макроса следует немного изменить его код.
Как объединить все одинаковые ячейки в любой таблице
Немного изменим структуру исходной таблицы:

На этот раз нам необходимо объединить все ячейки с одинаковыми значениями в столбце «Штат» (B) в столбце «№» (A).
Если мы хотим, чтобы действия макроса распространялось на несколько выделенных столбцов, то делаем следующее. Сначала добавим новую переменную:
Далее добавим строку с кодом начала нового цикла, который будет проходить по другим столбцам выделенного диапазона:
For j = 1 To Selection.Columns.Count
После конца, ранее созданного (внутреннего) цикла добавляем инструкцию Next для конца нового (внешнего) цикла . И соответственно сделаем код более читабельным с помощью отступов табуляции. Кроме того, для всех экземпляров объекта Cells во втором аргументе, вместо числа 1 введем переменную j (например, Selection.Cells(i, j)). Новая версия измененного кода макроса выглядит следующим образом:
Чтобы увидеть результат действия новой версии кода, выделяем всю таблицу и запускаем макрос:

Как видно на рисунке теперь макрос автоматически объединяет одинаковые значения сразу в двух столбцах.
Как в excel объединить повторяющиеся ячейки
Смотрите такжеNextМихаил С. местах они больше, как это сделать.Закрыть и загрузить элементы из второго один и применить сложности. – этот способ
B1, то связанные с(Выделенная область содержит или функции СЦЕП.
12 в ячейке
Рассмотрим,On Error Resume: Без объединения (УФ) не встречаются), такSub Merge() Dim Да и объёми выбираем
списка. потом к полученномуНемного изменим структуру исходнойИмеется отчет продаж в гораздо быстрее., нажимаем ними данные в несколько значений данных.Выделите ячейку, в которую В2 основной таблицыкак сложить и удалить Nextwebley
же эти ячейки myTable As Range файла большой -Закрыть и загрузить в. Вложенные друг в друга набору инструмент таблицы: сети магазинов поУрок подготовлен для ВасShift+Стрелка вправо столбце Объединение ячеек приведёт
вы хотите вставить
на цифру 2. дубли в ExcelWith Workbooks.Add.Worksheets(1): Можно так. Единственное,
местами уже объединены. Dim address As макрос быстрее должен (Close&Load to. ) две функции ЕСЛИОШИБКАУдалить дубликатыНа этот раз нам целой стране. Нам командой сайта office-guru.ru
, чтобы добавить кFull Name к потере всех объединенные данные. Получилось так.
. Как выделить дубли.Range(«A1»).Resize(oDict.Count) = Application.Transpose(oDict.keys)
последняя ячейка вТак вот хотелось String Application.ScreenUpdating =
справляться.: реализуют вывод сначалас вкладки необходимо объединить все
нужно сделать таблицуИсточник: https://www.ablebits.com/office-addins-blog/2013/10/13/merge-columns-excel-without-losing-data/
выделению ячейкутакже будут потеряны. значений, кроме левогоВведите = (знак равенства)
Как работать с таблицей в Excel, читайте.Range(«B1»).Resize(oDict.Count) = Application.Transpose(oDict.items) таблице должна быть бы объединить эти False address =UPD Важно чтобыВ следующем диалоговом окне уникальных из списка-1,Данные (Data — Remove ячейки с одинаковыми данного отчета болееПеревел: Антон АндроновC1Теперь нам нужно превратить верхнего). и выберите первую
консолидации, как объединить в статье «КакEnd With заполнена (можно руками значения в одну «A1:AI12» Set myTable цикл искал дубли
(оно может выглядеть
а потом из Duplicates) значениями в столбце
читабельной. Для этогоАвтор: Антон Андронов. Затем нажимаем формулу в значение,Далее в этой статье ячейку, которую нужно несколько таблиц в выделить повторяющиеся значенияOn Error GoTo
:)) ячейку. = Range(address) For компании не по немного по-другому - списка-2 друг за: «Штат» (B) в
следует красиво сформатироватьYYYSCtrl+Shift+Стрелка вниз
чтобы мы могли Вы найдёте 2 объединить.
одну консолидацией, читайте в Excel» тут. 0Jon1242
Подскажите как это i = 2 всему листу, а не пугайтесь) выбираем другом.Само-собой, такой способ не столбце «№» (A). первый столбец, в: Здравствуйте! Нужна помощь
, чтобы выделить все удалить ненужные столбцы способа, как объединить
Введите символ в статье «Как Как удалить повторяющиесяEnd Sub: Уважаемый СЛЭН.
можно реализовать. To myTable.Rows.Count ‘ только подряд. ЕслиТолько создать подключение (OnlyОбратите внимание, что это
подойдет, если данныеЕсли мы хотим, чтобы котором содержаться названия
в объединении одинаковых
ячейки с данными с нашего листа данные из нескольких& объединить таблицы в значения, смотрите вKuklPА не можете
P.S. По поиску For j = встречается другая компания, create connection) формула массива, т.е. в исходных списках действия макроса распространялось штатов: ячеек, причем так в двух столбцах.
Excel. Выделите все столбцов в один

и пробел, заключенный Excel». статье «Как удалить: Кросспостинг: переделать макрос, чтобы
Объединение текста из двух или нескольких ячеек в одну
к сожалению не i + 1 тогда записывать объединённый: после набора ее
Объединение данных с помощью символа «амперсанд» (&)
часто меняются - на несколько выделенныхМы хотим объединить все
чтобы строки тожеСкопируйте данные в буфер ячейки с данными без потери данных
в кавычки.Второй способ. дубли в Excel».Но загляните еще
он также объединял нашел, хотя решение To myTable.Rows.Count If результат в КатегориюПовторяем всю процедуру (пункты нужно ввести в
Объединение данных с помощью функции СЦЕП
придется повторять всю столбцов, то делаем ячейки с одинаковыми
объединялись пример прилагаю! обмена ( в объединённом столбце
и, не используяВыберите следующую ячейку, которую
Сложить все дублиИтак, нам нужно сюда: ячейки , только такой задачи наверняка
myTable.Cells(i, 3) = и переходить к 2-6) для второго ячейку не обычным процедуру после каждого следующее. Сначала добавим
Как объединить два столбца в Excel без потери данных
значениями в столбце Отблагодарю чем смогу)Ctrl+C (выделите первую ячейку макрос VBA. нужно объединить, и
с помощью формул. перед удалением дублей,Hugo по строкам. обсуждалось. myTable.Cells(j, 3) And следующей компании. Это списка. При переименовании Enter, а сочетанием изменения заново. новую переменную: «Штат» (A). ЭтоSkyProили в столбцеОбъединяем два столбца при нажмите клавишу ВВОД. Таблица та же.

их сложить. Рассмотрим: В той теме,Заранее спасибо, простотухачевский myTable.Cells(i, 4) = чтобы не грузить заголовка столбца важно клавиш Ctrl+Shift+Enter иЭтот способ является, поDim j As Long можно реализовать с: Это как? ПоCtrl+InsFull Name помощи формул Пример формулы:

Принцип такой. Создаем несколько способов.
- откуда этот код я оч. далек: а для чего myTable.Cells(j, 4) And лишним поиском, так использовать то же затем скопировать (протянуть) сути, логическим продолжениемДалее добавим строку с помощью ручного выделения
- каким параметрам? в– что предпочитаете).и затем нажмитеОбъединяем столбцы при помощи=A2&» «&B2 дополнительный столбец, вПервый способ. ( ) есть от этого. это нужно? myTable.Cells(i, 15) = как файл изначально имя (Люди), что вниз на нижестоящие

предыдущего. Если списки кодом начала нового отдельных групп одинаковых каких столбцах?Запустите Блокнот:Ctrl+Shift+Стрелка вниз Блокнота.
- ячейках которого будемСамый простой способ
- такой пост:Guest
Объединяем два столбца при помощи формул
я бы не myTable.Cells(j, 15) And отсортирован. и в предыдущем ячейки с запасом. не очень большого цикла, который будет значений и объединенияЦитатаStart
- .Скопируйте содержимое в буферДопустим, у Вас естьВыделите ячейку, в которую писать название дубля, – это использоватья бы сделал: Нужно так, строка советовал так делать myTable.Cells(i, 19) =китин запросе.В английской версии Excel размера и заранее проходить по другим их ячеек, воспользовавшись

- YYYS, 12.10.2013 в(Пуск) > обмена ( таблица с данными
вы хотите вставить
который нужно сложить.
функцию так, чтоб не одна Прикрепленные файлыслэн myTable.Cells(j, 19) Then: а вот походуВ окне Excel на эта формула выглядит известно предельное количество столбцам выделенного диапазона: инструментом: «ГЛАВНАЯ»-«Выравнивание»-«Объединить и 18:08, в сообщенииAll ProgramsCtrl+C о клиентах, и объединенные данные. Мы будем писать«Консолидация» в Excel писать новый макрос:

post_304320.PNG (3.78 КБ): что-то в этом myTable.Cells(i, 1) = вам в помощь вкладке как: элементов в нихFor j = 1 поместить в центре».

- в одну прямыми инструкцию Next для с разным количеством просто две таблицы(Блокнот) кнопкой мыши по в один столбец нужно объединить. столбце напишем формулу,
- числа в столбце разделитель формулой столбце, а как arr, rn& 8) + myTable.Cells(j,о что получилось:Получить данные — ОбъединитьМинус у такого подхода ссылками, добавить справа конца нового (внешнего) повторяющихся ячеек, тогда свести в одну?Вставьте данные из буфера любой ячейке в
с полным именемДля разделения объединяемых ячеек которая будет искать В по каждому=B1&»|»&C1&»|»&D1 сделать чтобы воn = Cells(Rows.Count,

8) myTable.Cells(i, 9)Mikez запросы — Добавить в том, что столбец с единичками цикла . И

Объединяем столбцы при помощи Блокнота
рационально написать макрос.Если да, то обмена в Блокнот том же столбце (Full Name). используйте запятые, а дублирующие данные в дублю из столбца
это я в всех объединял или 1).End(xlUp).Row = myTable.Cells(i, 9): Не осилю. С
- (Get Data - формулы массива ощутимо и построить по соответственно сделаем код Он сам быстро на форуме полно (нажмите (Full Name) иДобавьте в таблицу новый для добавления пробелов, первом столбце и А – отдельно А собирал, но в выделенном?

- arr = Cells(1, + myTable.Cells(j, 9) макросами у меня Merge Queries - замедляют работу с получившейся таблице сводную:
- более читабельным с и автоматически выполнит подобных тем.Ctrl+V в контекстном меню столбец. Для этого запятых и другого складывать цифры по все ячейки с
- не принципиально.И еще для 1).Resize(n) myTable.Cells(i, 10) = плохо. А формулу Append) файлом, если в

- Как известно, сводная помощью отступов табуляции. всю работу заYYYSили выберите наведите указатель мыши текста — кавычки. дублям из второго цифрой 1, отдельно
- 2. макросом получил полного счастья -rn = 1 myTable.Cells(i, 10) + использовать — не: исходных таблицах большое таблица игнорирует повторы, Кроме того, для Вас.: Это одна таблицаShift+InsPaste Special на заголовок столбцаВведите закрывающую скобку в столбца. все ячейки с сводную типа когда он объединяетFor i = myTable.Cells(j, 10) myTable.Cells(i, то. Там вВ появившемся диалоговом окне (несколько сотен и поэтому на выходе всех экземпляров объекта

- Откройте редактор Visual Basic там где то)(Специальная вставка). Отметьте (в нашем случае конце формулы иВ ячейке D2 цифрой 2, т.д.
- 44550|225|40724 11,16 выскакивает окно что 2 To n 14) = myTable.Cells(i, итоговой таблице тысячи выбираем наши запросы более) количество элементов. мы получим объединенный

- Cells во втором (ALT+F11): 800 наименований, вСкопируйте в буфер обмена вариант это столбец D), нажмите клавишу ВВОД.
пишем такую формулу. Мы не знаем,3. Инструментом «текст объединение приведет кIf arr(i, 1) 14) + myTable.Cells(j, строк.
из выпадающих списков:Если в ваших исходных
список без дубликатов.
аргументе, вместо числа
И создайте новый модуль
Как объединить повторные ячейки? (Формулы)
первой ячейке есть символ табуляции. ДляValues кликните по нему Пример формулы: =СУММЕСЛИ(A2:A9;C2;B2:B9) сколько и какие
по столбцам» опять потере всех данных <> arr(i - 14) Range(myTable.Cells(j, 1),
Может кто заВ итоге получим новый списках большое количество Вспомогательный столбец с 1 введем переменную с помощью инструмента:
повторения (это id этого нажмите клавишу(Значения) и нажмите
правой кнопкой мыши=CONCAT(A2, » Семья»)В ячейку D3
у нас дубли получил столбцы. как от него 1, 1) Then myTable.Cells(j, myTable.Columns.Count)).Delete Shift:=xlUp плату сделает от запрос, где два элементов, например, по 1 нужен только j (например, Selection.Cells(i, «Insert»-«Module». А потом товара). Повторения изTabОК и в контекстном. пишем такую формулу. в большой таблице.Это и Вам избавиться?With Range(Cells(rn, 1), j = j начала до конца? списка будут соединены несколько сотен или
потому, что Excel j)). Новая версия
запишите в него за того, что
в Блокноте, затем.
меню выберите пункт
Из этой короткой статьи =СУММЕСЛИ(A3:A9;C3;B3:B9)На новом листе подойдёт (чтоб неLow
Cells(i — 1, — 1 Endкитин
друг под другом. тысяч, то вместо умеет строить сводные измененного кода макроса VBA-код макроса:
у товара ест сочетаниеУдалите столбцыInsert Вы узнаете, какПо такому принципу делаем активной ячейку. писать новый макрос: Всем доброго. 1)) If Next j: это в раздел Осталось удалить дубликаты медленной формулы массива
по таблицам, содержащим, выглядит следующим образом:
Макрос для объединения одинаковых ячеек в таблице Excel
Sub JoinDoubles() разные размеры иCtrl+Shift+Стрелка влевоFirst Name(Вставить). Давайте назовём в Excel объединить написать формулы в
Как объединить одинаковые ячейки в столбце используя макрос
Мы, в нашем 🙂 )Есть файл вида.HorizontalAlignment = xlGeneral Next i Application.ScreenUpdating фриланс.ждите модератора кнопкой лучше использовать принципиально по крайней мере,Sub JoinDoubles()

Dim i As количество а ID, а затеми новый столбец несколько столбцов в других ячейках столбца примере, сделаем активной-=85558=- адрес, дом, квартира,.VerticalAlignment = xlTop = True Endя же вамУдалить строки — Удалить другой подход, а два столбца.Dim i As Long одинаковый. Мне нужноCtrl+XLast Name
Full Name один, не потеряв

D. Получилось так. ячейку Е2 наLow сумма и тд..WrapText = False
Subвот здесь адрес
в файлике показал, дубликаты (Delete Rows
именно — инструменты
При изменении исходных списков LongApplication.DisplayAlerts = False
объединить строки с., они нам больше
. при этом данные.
Эту же формулу можно
этом же листе.
: Видимо я не
в котором все
.Orientation = 0

твоей таблицы: что полулачается с — Delete Duplicates) надстройки Power Query. новые данные поDim j AsFor i = одинаковым ID, и

Замените в Блокноте символы не нужны. ДляВ ячейкеУ Вас есть таблица написать, вызвав диалоговое На закладке «Данные» совсем ясно описал строки повторяются с.AddIndent = Falseaddress = «A1:AI12″ этой UDF .
: Эта надстройка по прямым ссылкам попадут Long Selection.Rows.Count To 2 чтобы ячейка размерTab этого:D2 в Excel, и окно функции «СУММЕСЛИ». в разделе «Работа
проблему либо не разницей в поле.IndentLevel = 0а вообще лучше надо только выбратьГотовый запрос можно переименовать умолчанию встроена в в объединенную таблицу,Application.DisplayAlerts = False Step -1
добавлялась и была
Как объединить все одинаковые ячейки в любой таблице
на другие символы,кликните по заголовку столбца

запишите вот такую Вы хотите объединить Она расположена на с данными» нажимаем понимаю идею объединения сумма. Необходимо объединить
.ShrinkToFit = False преобразовать твою табличку уникальные справа на панели Excel 2016. Если но сводную придется
If Selection.Cells(i, 1) через запятую, а которые Вы хотитеB формулу:
два столбца в закладке «Формулы» в
на кнопку функции значений в один повторяющиеся строки между.ReadingOrder = xlContext в табличку екселяMikez параметров, дав ему у вас Excel обновить уже вручную 1 To Selection.Columns.Count = Selection.Cells(i - строка количество суммировалась. использовать в качестве, затем, нажав и=CONCATENATE(B2,» «,C2) один построчно. Например, разделе «Библиотека функций»
«Консолидация». Выйдет диалоговое
столбец. Ваш макрос собой и сложить
.MergeCells = True и задать имя.
: Большое спасибо, Игорь.
вменяемое имя (это 2010 или 2013,
(правой кнопкой мышиFor i = 1, 1) Then
В двух файлах разделителей.Для этого нажмите удерживая клавишу
=СЦЕПИТЬ(B2;» «;C2) необходимо объединить столбец
нажимаем функцию «Математические»,
окно.
замечательно работает и
значения полей сумма.
End With
тогда нужно будет
Но я глянул будет имя таблицы-результата то ее можно -

Selection.Rows.Count To 2Range(Selection.Cells(i — 1, я сделал пример
Ctrl+HCtrlB2 с именем и выбираем «СУММЕСЛИ». Заполним
Слияние двух списков без дубликатов
Заполнили его так: суммирует значения в Нашел примерчик, ноrn = i эти строки: — там выше по факту) и отдельно скачать иОбновить Step -1 1), Selection.Cells(i, 1)).Merge как было и, чтобы открыть диалоговое

, кликните по заголовкуи столбец с фамилией диалоговое окно так.В строке «Функция» нужной ячейке, но
Способ 1. Удаление дубликатов
увы, знаний какEnd Ifaddress = «A1:AI12″ моего уровня. А все и можно установить (бесплатно).). Если не нуженIf Selection.Cells(i -End If как должно быть! окно столбца

C2 в один, илиВ строке «Диапазон» указываем выбрали функцию «Сумма». моя проблема в его доработать подNext
Способ 1а. Сводная таблица
Set myTable = чтобы дотянуться мне все выгружать наАлгоритм действий следующий: пересчет «на лету», 1, j) =Next Если, кто поможетReplaceC– это адреса объединить несколько столбцов, диапазон столбца А Можно выбрать другие том, что кроме

свои нужды неEnd Sub Range(address)заменить на: время надо, которого лист командойОткрываем отдельную вкладку установленной то лучше воспользоваться Selection.Cells(i, j) ThenSelection.VerticalAlignment = xlVAlignCenter в долгу не(Заменить). В поле.
ячеек из столбцов таких как улица, с дублями. действия. столбца с не хватает. Главная проблема,Eternal-SmokeSet myTable = нет. Да иЗакрыть и загрузить (Close&Load) надстройки другими вариантами.Range(Selection.Cells(i — 1,
Способ 2. Формула массива
Application.DisplayAlerts = True останусь)Find what(другой способ) выберите любуюFirst Name город, индекс иВ строке «Критерий»В строке «Ссылка» уникальными значениями и не могу понять: Спасибо, буду пробовать Range(«MyTableName[#All]»)ну и конечно смысла нет -:Power QueryМожно решить проблему формулами. j), Selection.Cells(i, j)).MergeEnd SubDV

(Что) вставьте из ячейку в столбцеи

страна в один указываем ячейку столбца поставили диапазон нашей суммой нужно еще как доработать что )) же твои колонки такие задачи мнеВ будущем, при любых(если у вас В этом случае


- Теперь если нам необходимо: Формулами можно так: буфера обмена символBLast Name столбец с адресом,
- С, в которой таблицы. У нас выводить остальные столбцы, бы после сравнения
- А нужно это, я задавал тоже раз в год изменениях или дополнениях Excel 2010-2013) или пересчет и обновлениеNext
объединить ячейки сSkyPro табуляции. В поле, нажмите. Обратите внимание, что разделяя значения запятой, будем писать название указан фиксированный размер т.е. если в в новый файл
чтоб перед печатью фиксированно, числами. т.о. попадаются.
в исходных списках, просто идем на результатов будет происходитьNext
одинаковыми значениями, то: Или макросом:Replace withCtrl+Space в формуле между чтобы в дальнейшем дубля. диапазона с абсолютными
Способ 3. Power Query
адресе есть повтор записывались все столбцы, всё симпатично выглядело, если ты поменяешьВо «Фриланс» переносить достаточно будет лишь вкладку автоматически и мгновенно,Selection.VerticalAlignment = xlVAlignCenter выделите диапазон A1:A18ЗЫ: Использована функция(Чем) введите Ваш(Пробел), чтобы выделить ними стоит символ распечатывать адреса наВ строке «Диапазон ссылками и названием и суммируется значение
- начальство это любит. местами или удалишь/добавишь или удовлетворитесь уже правой кнопкой мышиДанные сразу после измененийApplication.DisplayAlerts = True и запустите макрос «сцепитьесли» с excel-vba.ru разделитель, например, пробел,
- весь столбец пробела, заключенный в конвертах. суммирования» указываем диапазон столбцов. Можно написать из полей «сумма» первый и последний

- слэн новые колонки в имеющимися ответами? обновить таблицу результатов.(если у вас в исходных списках.End Sub
- выбрав инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«JoinDoubles»-«Выполнить».Источник запятую и т.д.B кавычки. Это разделитель,К сожалению, в Microsoft столбца В, числа диапазон с относительными строк дубликатов, и из выделенного диапазона..: Вот так еще середину — работатьPelenaMikez Excel 2016). Для удобства иЧтобы увидеть результат действия Результат действия макроса
- YYYS Нажмите кнопку, затем нажмите который будет вставлен Excel нет встроенного из ячеек которого ссылками.

- строка переносится вOption Explicit лучше: тоже перестанет. Вариант: Не совсем так,: Доброго дня.Выделяем первый список и

- краткости давайте дадим новой версии кода, отображен на рисунке:: Спасибо огромное Вам!Replace AllCtrl+Shift+Стрелка вправо между соединёнными частями инструмента для выполнения
- нужно сложить.Подробнее о видах одном экземпляре с’Option Compare Textn = Cells(Rows.Count, решения — в как Вы хотелиПомогите, пожалуйста, с жмем кнопку нашим спискам имена выделяем всю таблицуВ начале кода мы

- С меня причитается)(Заменить все), а, чтобы добавить к

- имени. В качестве таких задач. Конечно,В строке формул ссылок читайте в новым значением поляSub UniqSummUniversal() 1).End(xlUp).Row+1 макросе пройтись по — результат получается макросом начинающему.

- Из таблицы/диапазона (From Range/Table)Список1 и запускаем макрос: декларируем переменную для DV не вижу затем выделению столбец разделителя Вы можете есть команды сразу видна получившаяся статье «Относительные и

сумма.Dim a(), oDictEternal-Smoke заголовкам таблицы и в последней ячейкеВо вложении образец
Объединить дубликаты строк, сцепив значения одной колонки (Макросы/Sub)
. На вопрос прои
Читайте также: как объединить хранения показателей счетчика
твои поощрительные реквизиты))Cancel
C использовать любой другойMerge Cells формула. абсолютные ссылки вKukLP, спасибо, пытаюсь
As Object, i: немного не так определить номера нужных.
из группы, зато
для экспериментов. создание из нашегоСписок2 одинаковые ячейки в цикла. В циклеSerge_007(Отмена), чтобы закрыть. символ, например, запятую.
(Объединить ячейки),Третий способ. Excel» здесь. разобраться. As Long, temp всё-равно получается.
тогда будет работать формуламиЛист «Данные» содержит
списка «умной таблицы», используя строках таблицы. проверяем значения соседних: СцепитьЕсли есть и диалоговое окно.
После этого кликните правойТочно так же ВыMerge & CenterСоздать таблицу сПоставили галочки уHugo As Stringмакрос отлично работает максимально динамично.Mikez компании. Одна компания — соглашаемся:Диспетчер именКак видно на рисунке
ячеек, начиная с у насНажмите кнопкой мыши по
можете объединить данные
(Объединить и поместить фильтром. Внизу столбца
слов:
: Смысл такой -Dim ind As на обычных ячейках,namexls: Вот это сила может быть представленаОткрывается окно редактора запросов,на вкладке
теперь макрос автоматически низа выделенного диапазона.SkyPro
Ctrl+A любому из выделенных из нескольких ячеек,
в центре) и В установить автосумму.«подписи верхней строки» объединяем данные строки Long но не объединяет
: Спасибо. Затестил, работает мысли! ))) Спасибо! несколькими строчками. Отличаются где будет видноФормулы (Formulas — Name объединяет одинаковые значения Если ячейка содержит: Видел, но не, чтобы выделить весь столбцов и в используя при этом прочие, но если
Выбирать фильтром нужные – это название в одну ячейку,
’ind = InputBox(«Sum уже объединенные ячейки все супер какnamexls строчки значением одной загруженные данные и Manager — Create)
сразу в двух такое же значение пробовал. А эта
Объединить повторяющиеся строки excel с суммированием нужных столбцов
текст в Блокноте, контекстном меню нажмите любой разделитель по Вы выберите 2 дубли. Как сделать столбцов; по этому столбцу Column Number?») (( надо, но только: Здраствуйте, не могу ячейки. имя запроса: столбцах. значит она будет на ядиске уже затемDelete Вашему вкусу. Например, смежные ячейки с сводную таблицу, читайте
«значения левого столбца» и суммам отрабатываетa = Selection.Valueтерпеть не могу
на 5 строках, разобраться в кодеВсё отсортировано иТаблица1После именования, нужная намКлассическая ситуация: у вас объединена. лежала в заначках.Ctrl+C(Удалить). Вы можете соединить целью объединить их, в статье «Сводные — это значит, макрос (а поind = UBound(a, эти объединения, подскажите как формулу заставить макроса, не в строчки одной компании(можно поменять на формула будет выглядеть есть два списка,Дополнительно в начале кодаDAV2014, чтобы скопировать егоОтлично, мы объединили имена адреса из 3 как показано на таблицы Excel». что искать дубли какому столбцу Вы 2) как реализовать? работать до самого моих силах. Помогите идут подряд. свое, если хотите). следующим образом: которые надо слить макроса устанавливаем свойство: Здравствуйте! Нужна помощь в буфер обмена.
из двух столбцов
столбцов в один: снимке экрана ниже:Но мы сделаем в левом первом определяете уникальные -Set oDict =
Guest низа так как плиз с готовым
Задача:Делаем двойной щелчок вНа первый взгляд выглядит в один. Причем «False» для объекта в объединении одинаковыхВернитесь к листу Excel в один!Скопируйте эту формулу воВам будет показано сообщение проще и быстрее. столбце. только по фамилии?), CreateObject(«Scripting.Dictionary»): сначала разобъедините весь строк очень много?
решением. Пример файла1. Суммировать одну заголовок таблицы (слово жутковато, но, на в исходных списках «DisplayAlerts», чтобы предотвратить ячеек из поля (нажмитеХоть это и все остальные ячейки с предупреждением: Выделяем таблицу, нажимаемНажимаем «ОК». Поучилось он выгружает такие
oDict.CompareMode = 1 диапазон Столбцы местами меняться
Объединение ячеек с одинаковым содержанием
залил + там колонку всех дублей:Список1 самом деле, все
могут быть как появления предупреждающего сообщение ТОВАР, причем такAlt+Tab потребовало немало усилий столбцав Excel 2013: сочетание клавиш Ctrl так. объединённые данные иFor i =
Eternal-Smoke не будут и же лист как в первую строчку
) и переименовываем на не так страшно.
уникальные элементы, так о попытке объединить чтобы из множества), выделите только ячейку и времени.
Full NameMerging cells only keeps + T (английская
Если таблицу консолидации делаем суммы в новую
1 To UBound(a): Если разъединить, то добавляться не будут
должно получиться. Суть
компании, если у
любой другой (например Давайте я разложу
и совпадающие (и непустые ячейки в
одинаковых строк поляB1
Этот способ быстрее, чем
. Пошаговую инструкцию как the upper-left cell
на любой раскладке). на другом листе, книгу.
If IsNumeric(a(i, ind)) получаться пустые ячейки, новые, добавляются только
— нужно объеденить
неё есть повторяющиеся
Люди
эту формулу на
между списками и
программе Excel. В
ТОВАР осталась всегда
и вставьте текст
предыдущий, и не
это делается Вы
value, and discards
Получилась такая сводная
то получится такая
Теперь суммы копируем
Then которые в дальнейшем строки.
повторяющиеся значения по строчки, в ячейку). Каки именно назвать несколько строк, используя
внутри), но на конце выполнения кода одна строка с
из буфера обмена требует создания формул.
можете найти в the other values таблица с фильтрами.
таблица. правее (чтоб неIf Not IsEmpty(a(i, не попадут подВсе разобрался. Установил
столбцу C,D,O,S, а «Категория» добавить категории — не важно,
сочетание клавиш Alt+Enter выходе нужно получить макроса обратно возвращаем
уникальным значением, а в таблицу. Но он подходит статье Как вставить(В объединённой ячейке Внизу столбца В
Когда мы делали консолидацию затёрлись), разбиваем объёдинённое ind)) Then объединение address = «A1:AI2500″ по столбцам H, из строк-дублей. Через но придуманное название и отступы пробелами, список без дубликатов свойство «True» для
в поле соответсвенно
Переименуйте столбец только для объединения
одинаковую формулу сразу сохраняется только значение установили автосумму. на другом листе, назад по ячейкам.temp = Trim(a(i,
Guest и все.
I, J, N разделитель |. нужно запомнить, т.к. как мы делали, (повторений):
объекта «DisplayAlerts». Кол-во и СуммаB
смежных столбцов при во все выбранные из верхней левойВыберем фильтром дубли 1.
то в диалоговомЕсли нужно всё 1)): Это ваше умозаключениеEternal-Smoke суммировать и по2. Пометить строчки-дубли: его придется использовать
например тут:Давайте традиционно рассмотрим несколькоОбратите внимание! Если перед автоматически пересчитывались значения. в использовании одинакового разделителя ячейки. ячейки диапазона. Остальные
Объединение повторов и удаление дубликатов в excel
Получилось так. окне консолидации в
сделать макросом -If Not oDict.Exists(temp) или «практический опыт»?: Добрый день! я столбцу A произвести у всех строчек потом еще разЛогика тут следующая: способов решения такой выполнением макроса выделить Исходный файл прилагаю!Full Name между ними.Итак, мы объединили имена значения будут потеряны).Как написать данные одновременно строке «создавать связи можно попытаться записать Then Правила гласят, что снова к вам сцепление через запятую компании кроме первой
при импорте второй
Формула ИНДЕКС(Список1;ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$1:E1;Список1); 0) выбирает
более одного столбца,Заранее благодарю заи удалите столбецВот пример: мы хотим
из двух столбцовв Excel 2010 и
в нескольких ячейках, с исходными данными»
этот процесс рекордером
oDict.Add temp, CStr(a(i, желателен пример реальных
:( без пробелов можно.
в столбец I
таблицы. Объединить две все уникальные элементы
от примитивных «в то в результате
помощь.Last name
объединить все те в один, но
2007: смотрите в статье
поставили галочку. Теперь, :)
ind))
форматов данных вИмеется большой массив
Кол-во строк свыше
прописать текст «удалить»
таблицы в дальнейшем
из первого списка.
лоб» до более будут объединены одинаковые
В данном примере напишем
.
же два столбца
это по-прежнему формула.
The selection contains multiple «Как заполнить ячейки
их реальной структуре. данных в одном
2х тысяч и или «дубль». получится только если Как только они сложных, но изящных.
значения только в код макроса, которыйВ описании этого способа
с именем и Если мы удалим data values. Merging в Excel одновременно». В изменятся цифры,
: Hugo, спасибо огромное!))
oDict.Item(temp) = CStr(—oDict.Item(temp) А как вам столбце, эти данные
периодически добавляются.В картинках: Из
заголовки их столбцов
заканчиваются — начинаетМожно решить задачу самым первом столбце. Чтобы
сможет автоматически найти больше шагов, чем фамилией в один. столбец
Данные из нескольких ячеек то и в Вот что называется + a(i, ind)) вариант объединить от повторяются только последовательноhamin вот этого должно совпадают. выдавать ошибку #Н/Д: простым путем - расширить поле действия и объединить все в предыдущем варианте,Выделяем оба столбца, которыеFirst name will keep the можно объединить в этой таблице данные «слона-то я иEnd If непустой до непустой, (т.е. несколько одинаковых: получиться вот это.
Разворачиваем выпадающий список вФормула ИНДЕКС(Список2;ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$1:E1;Список2); 0)) аналогичным
руками скопировать элементы макроса следует немного одинаковые ячейки в но поверьте мне необходимо объединить. Дляили upper-left most data одну с помощью пересчитаются автоматически. Проверяем не приметил»! ОченьEnd If предварительно разъединенных. значений друг заnamexls
Формулами не знаю левом верхнем углу образом извлекает уникальные обоих списков в
изменить его код. таблице Excel любой или проверьте сами этого выделяем ячейкуLast name
only символа «амперсанд» (&) – изменим цифру выручили, все работает))End IfZ.
Как объединить одинаковые ячейки и сложить значения в Excel
Такую работу вы можете делать часто, при формировании отчетов. Ситуация далеко не редкая, поэтому давайте я расскажу подробнее.
Допустим, у нас есть такая табличка:

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

Итак, давайте начнём!
С помощью функции “Консолидация”
Самый простой способ — использовать специальную опцию.
Есть еще вариант со сводной таблицей, но, как по мне, удобнее всего — «Консолидация».

Допустим, у нас все тот же пример:

Как же объединить эти данные?
- Для начала переместим заголовки чуть правее;
- Выделим первую ячейку в новой табличке;
- Щелкаем «Данные»;
- И выбираем «Консолидация»;
- Выберем «Сумма» в поле «Функция»;
- А также, не забудьте активировать эту опцию;
- Указываем диапазон, из которого функция будет брать данные для обработки;
- Подтверждаем.
Готово! Вот результат:

Мы использовали сложение при консолидации, но вы можете вычислять, например, среднее значение. Все зависит от того, какая у вас цель.
Также можно использовать функцию «Консолидация» для объединения данных сразу с нескольких листов.
С помощью сводной таблицы
Сводная таблица очень помогает при вычислении итоговых сумм и прочих операций.
В ней мы можем без проблем подвести итог для любых полей, существующих в нашей таблице.
Минус тут только один — более долгая настройка. То есть, если в варианте с функцией «Консолидацией» мы объединили данные буквально за пару кликов, тут будет немного сложнее.
Допустим, у нас та же табличка:

- Выделяем табличку и щелкаем на «Вставка»;
- Далее — «Сводная таблица»;
- Указываем диапазон;
- Выбираем «На существующий лист»;
- И указываем диапазон, куда нужно поместить данные;
- Подтверждаем.
Готово! Вот результат:

Мы вставили сводную таблицу, теперь нам нужно указать ей, какие данные мы хотим суммировать.

- Щелкаем на любую ячейку, из диапазона сводной таблицы.
- Теперь нам надо перетянуть страну в поле строк, а продажи в поле значений.

Теперь, мы можем удалить сводную таблицу, а получившиеся данные скопировать куда угодно.
Вот и все! Я продемонстрировал вам 2 способа объединения данных и вычисления суммы их значений.
Как объединить одинаковые значения в excel
In Excel,you may always meet this problem, when you have a range of data which contains some duplicate entries, and now you want to combine the duplicate data and sum the corresponding values in another column, as following screenshots shown. How could you solve this problem?
Combine duplicate rows and sum the values with Consolidate function
The Consolidate is a useful tool for us to consolidate multiple worksheets or rows in Excel, so with this function, we can also summarize multiple rows based on the duplicates. Please do with the following steps:
1. Click a cell where you want to locate the result in your current worksheet.
2. Go to click Data > Consolidate, see screenshot:

3. In the Consolidate dialog box:
- (1.) Select Sum from Function drop down list;
- (2.) Click
button to select the range that you want to consolidate, and then click Add button to add the reference to All references list box; - (3.) Check Top row and Left column from Use labels in option. See screenshot:

4. After finishing the settings, click OK, and the duplicates are combined and summed. See screenshot:

Note: If the range do not have the header row, you need uncheck Top row from the Use labels in option.
Combine duplicate rows and sum / average corresponding values in another column
Kutools for Excel‘s Advanced Combibe Rows helps you to combine multiple duplicate rows into one record based on a key column, and it also can apply some calculations such as sum, average, count and so on for other columns. Click to download Kutools for Excel!
Combine duplicate rows and sum the values with VBA code
The following VBA code also can help you consolidate duplicate rows in the worksheet, but at the same time, the original data will be destroyed, you need to backup a copy of the data.
1. Hold down the ALT + F11 keys, then it opens the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Combine duplicate rows and sum the values
3. Then press F5 key to run this code, and you need to select the range that you want to consolidate in the popped out prompt box. See screenshot:

4. And then click OK, the duplicate rows have been combined and the values are added up.
Note: If you want to use this code, you’d better make a copy of the file to avoid destroying the data, and this code is only applied to two columns.
Combine duplicate rows and sum the values with Kutools for Excel
Here, I introduce the handy tool — Kutools for Excel for you, its Advanced Combine Rows also can quickly do a favor to solve this problem.
After installing Kutools for Excel, please do as follows:
1. Select the range you need and click Kutools > Merge & Split > Advanced Combine Rows. See screenshot:

2. In the Advanced Combine Rows dialog, check My data has headers if your range have headers, and select column name which you want to combine the duplicates and click Primary Key, see screenshot:

3. And then select the column name you want to sum the values and click Calculate > Sum or other calculations as you need. See screenshot:

4. Click Ok to close dialog, then you can see the duplicates are combined and the corresponding data in another column are added up together. See screenshots:
![]() |
![]() |
![]() |
Combine corresponding rows based on duplicate values in another column with Kutools for Excel
Sometimes, you want to combine the rows based on duplicate values in another column, the Advanced Combine Rows of Kutools for Excel also can do a favor for you, please do as follows:
1. Select the data range that you want to use, and then click Kutools > Merge & Split > Advanced Combine Rows to enable the Advanced Combine Rows dialog box.
2. In the Advanced Combine Rows dialog box, click the column name that you want to combine other data based on, and click Primary Key, see screenshot:

3. And then click another column name that you want to combine the data, and click Combine to choose a separator to separate your combined values, see screenshot:

4. Then click Ok, all the values with the same cell in column A have been combined together, see screenshots:
![]() |
![]() |
![]() |
Combine duplicate rows and sum the values with Kutools for Excel
Related article:
Best Office Productivity Tools
Transform Hours into Minutes with Kutools for Excel!
Ready to supercharge your Excel tasks? Harness the power of Kutools for Excel — your ultimate time-saving tool. Streamline intricate tasks and glide through your data like a pro. Experience Excel at lightning speed!
Why You Need Kutools for Excel
️ Over 300 Powerful Features: Kutools is packed with more than 300 advanced features, simplifying your work in over 1500 scenarios.
Superior Data Processing: Merge cells, remove duplicates, and perform advanced data conversions – all without breaking a sweat!
⏱️ Efficient Batch Operations: Why put in extra effort when you can work smart? Import, export, combine, and tweak data in bulk with ease.
Customizable Charts and Reports: Access a broad variety of additional charts and generate insightful reports that tell a story.
️ Powerful Navigation Pane: Gain an advantage with the robust Column Manager, Worksheet Manager, and Custom Favorites.
Seven Types of Drop-down Lists: Make data entry a breeze with drop-down lists of various features and types.
User-Friendly: A breeze for beginners and a powerful tool for experts.




