В данном примере напишем код макроса, который сможет автоматически найти и объединить все одинаковые ячейки в таблице Excel любой сложности.
Как объединить одинаковые ячейки в столбце используя макрос
Имеется отчет продаж в сети магазинов по целой стране. Нам нужно сделать таблицу данного отчета более читабельной. Для этого следует красиво сформатировать первый столбец, в котором содержаться названия штатов:
Мы хотим объединить все ячейки с одинаковыми значениями в столбце «Штат» (A). Это можно реализовать с помощью ручного выделения отдельных групп одинаковых значений и объединения их ячеек, воспользовавшись инструментом: «ГЛАВНАЯ»-«Выравнивание»-«Объединить и поместить в центре». Но если таблица содержит тысячи таких групп, да еще с разным количеством повторяющихся ячеек, тогда рационально написать макрос. Он сам быстро и автоматически выполнит всю работу за Вас.
Откройте редактор Visual Basic (ALT+F11):
И создайте новый модуль с помощью инструмента: «Insert»-«Module». А потом запишите в него VBA-код макроса:
Sub JoinDoubles()
Dim i As Long
Application.DisplayAlerts = False
For i = Selection.Rows.Count To 2 Step -1
If Selection.Cells(i, 1) = Selection.Cells(i - 1, 1) Then
Range(Selection.Cells(i - 1, 1), Selection.Cells(i, 1)).Merge
End If
Next
Selection.VerticalAlignment = xlVAlignCenter
Application.DisplayAlerts = True
End Sub
Теперь если нам необходимо объединить ячейки с одинаковыми значениями, то выделите диапазон A1:A18 и запустите макрос выбрав инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«JoinDoubles»-«Выполнить». Результат действия макроса отображен на рисунке:
В начале кода мы декларируем переменную для хранения показателей счетчика цикла. В цикле проверяем значения соседних ячеек, начиная с низа выделенного диапазона. Если ячейка содержит такое же значение значит она будет объединена.
Дополнительно в начале кода макроса устанавливаем свойство «False» для объекта «DisplayAlerts», чтобы предотвратить появления предупреждающего сообщение о попытке объединить непустые ячейки в программе Excel. В конце выполнения кода макроса обратно возвращаем свойство «True» для объекта «DisplayAlerts».
Обратите внимание! Если перед выполнением макроса выделить более одного столбца, то в результате будут объединены одинаковые значения только в первом столбце. Чтобы расширить поле действия макроса следует немного изменить его код.
Как объединить все одинаковые ячейки в любой таблице
Немного изменим структуру исходной таблицы:
На этот раз нам необходимо объединить все ячейки с одинаковыми значениями в столбце «Штат» (B) в столбце «№» (A).
Если мы хотим, чтобы действия макроса распространялось на несколько выделенных столбцов, то делаем следующее. Сначала добавим новую переменную:
Dim j As Long
Далее добавим строку с кодом начала нового цикла, который будет проходить по другим столбцам выделенного диапазона:
For j = 1 To Selection.Columns.Count
После конца, ранее созданного (внутреннего) цикла добавляем инструкцию Next для конца нового (внешнего) цикла . И соответственно сделаем код более читабельным с помощью отступов табуляции. Кроме того, для всех экземпляров объекта Cells во втором аргументе, вместо числа 1 введем переменную j (например, Selection.Cells(i, j)). Новая версия измененного кода макроса выглядит следующим образом:
Sub JoinDoubles()
Dim i As Long
Dim j As Long
Application.DisplayAlerts = False
For j = 1 To Selection.Columns.Count
For i = Selection.Rows.Count To 2 Step -1
If Selection.Cells(i - 1, j) = Selection.Cells(i, j) Then
Range(Selection.Cells(i - 1, j), Selection.Cells(i, j)).Merge
End If
Next
Next
Selection.VerticalAlignment = xlVAlignCenter
Application.DisplayAlerts = True
End Sub
Чтобы увидеть результат действия новой версии кода, выделяем всю таблицу и запускаем макрос:
Читайте также: как объединить одинаковые ячейки в строках таблицы.
Как видно на рисунке теперь макрос автоматически объединяет одинаковые значения сразу в двух столбцах.
уважаемые!вечер добрый!
подскажите, пожалуйста, как будет выглядеть макрос объединения ячеек (строк) при нахождении повторяющихся значений.
Например, есть 2 столбца
Значения в столбце 1 марка машины:
А
1 Ауди
2 БМВ
3 Лексус
4 Тойота
5 Митсубиси
6 Ауди
Значения в столбце 2 — модель марки машины
А В
1 Ауди Q7
2 БМВ x5
3 Лексус RC
4 Тойота Corolla
5 Митсубиси Outlander
6 Ауди TT
нужен макрос, чтобы при поиске одинаковых значений, он объединял в данном случае две строки (1 и 6) и по столбцу В формировались напротив этого значения две строки (1 — Q7, 2 — ТТ)
Вот так:
А В
1 Ауди Q7
TT
2 БМВ x5
3 Лексус RC
4 Тойота Corolla
5 Митсубиси Outlander
спасибо за помощь!!
0 / 0 / 0 Регистрация: 05.08.2018 Сообщений: 5 |
|
1 |
|
Объединение ячеек с одинаковым значением с учётом первого столбца05.08.2018, 16:24. Показов 6468. Ответов 7
Добрый день Прошу помочь. Для понятности прикрепил пример. Нашёл макрос объединения ячеек , но он объединяет всё без разбора и не учитывает первый столбец. Если есть такой макрос , поделитесь пожалуйста , не могу найти нигде.
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
05.08.2018, 17:26 |
2 |
|||
Решениеspirit333,
1 |
spirit333 0 / 0 / 0 Регистрация: 05.08.2018 Сообщений: 5 |
||||
05.08.2018, 22:41 [ТС] |
3 |
|||
Большое Спасибо , именно то что нужно! Добавлено через 1 минуту
Понял , что в этом месте можно написать 5 , 6 , 7 и т.д. но эти столбцы объединять не нужно , нужно объединить еще 13 и 14 столбец, учитывая так же значения в первом столбце.
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
06.08.2018, 08:04 |
4 |
|||
spirit333,
0 |
0 / 0 / 0 Регистрация: 05.08.2018 Сообщений: 5 |
|
06.08.2018, 09:40 [ТС] |
5 |
Еще раз огромное Спасибо Вам! Очень помогли!
0 |
0 / 0 / 0 Регистрация: 05.08.2018 Сообщений: 5 |
|
07.08.2018, 01:07 [ТС] |
6 |
Казанский , ужасно неудобно обращаться к вам и в третий раз , но макрос опять не совсем такой какой нужен. Простите , моя вина , не сказал сразу конкретно что нужно… Всё приходит опытным путем , когда несколько раз попробуешь. Необходимо что бы макрос объединял ячейки учитывая первый столбец с одинаковым значением , то есть если значения разные (хотя бы в одном столбце) , что бы не объединял , а оставлял отдельной строкой.
0 |
0 / 0 / 0 Регистрация: 05.08.2018 Сообщений: 5 |
|
07.08.2018, 01:14 [ТС] |
7 |
Забыл выложить пример. Надеюсь понятно.
0 |
0 / 0 / 0 Регистрация: 22.09.2015 Сообщений: 3 |
|
02.03.2020, 15:08 |
8 |
Добрый день. Почти такая-же задача. Данный код не работает выдает ошибку run-time error ’13’ type mismatch.
0 |
Как сложить и удалить дубли в Excel.
Смотрите такжеvladFoTheArk употреблять… ;).Subtotal 3, xlSum,анна нужно запомнить, т.к.Вложенные друг в другаЭтот способ является, поNext горизонтали, выделите диапазон ссылкой столбец листа
C стоят фамилии, фамилий в столбце есть дубль, у Выбирать фильтром нужные
Когда мы делали консолидацию
Рассмотрим,, а Вам обязательно: никак не сделать?2 KukLP: ошибку Array(10)миша его придется использовать
две функции ЕСЛИОШИБКА сути, логическим продолжениемДалее во всех экземплярах ячеек B1:L1 и $A. Если значения имена и отчества. А. В столбце ячеек с уникальными дубли. Как сделать на другом листе,как сложить и удалить макросом? Сводная не только ручками перебирать?
НЕ подтверждаю -For Each aвитя потом еще раз реализуют вывод сначала предыдущего. Если списки объекта Cells указываем запустите макрос. А в соседних ячейках Чтобы сравнить сразу B установили формулу. данными написать слово сводную таблицу, читайте
то в диалоговом дубли в Excel подойдет?Karataev
XL-2010 SP1, все In .Columns(2).SpecialCells(2).Areasвитя при импорте второй уникальных из списка-1, не очень большого в аргументе в для этого выберите столбца $A равные
по трем столбцам,=ЕСЛИ(СЧЁТЕСЛИ(A$5:A5;A5)>1;»+»;»-«) Если в «Нет». в статье «Сводные окне консолидации в
. Как выделить дублиwild_pig
: Можно использовать макрос. идет по хотелке.If a.Count >
витя таблицы. Объединить две а потом из размера и заранее место числа 1
инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«MergeDoubles»-«Выполнить». В между собой тогда
нужно соединить данные столбце В стоитВ столбце А таблицы Excel».
строке «создавать связи в Excel, читайте: так цена разная Макрос находится внутри-65201- 1 Thenколя таблицы в дальнейшем списка-2 друг за известно предельное количество переменную j. Например, результате должен получиться формула возвращает значения трех столбцов в «+», значит такую устанавливаем фильтр. КакНо мы сделаем
с исходными данными» в статье «Как у одинаковых наименований прикрепленного файла иZSet a =саша
получится только если
другом. элементов в них Selection.Cells(i, j). Полная
эффект такой же ЛОЖЬ и форматирование одной ячейке. В фамилию уже написали. установить и работать проще и быстрее. поставили галочку. Теперь, выделить повторяющиеся значенияManyasha
запускается кнопкой из: Скрин — левый a.Offset(, -1)саша заголовки их столбцовОбратите внимание, что это (например, не больше версия усовершенствованного кода
как на рисунке: границе не применяется. ячейке D15 пишем
Третий способ. с фильтром, смотрите Выделяем таблицу, нажимаем
если в столбце в Excel» тут.: D1.
верхний угол первогоFor i =саша совпадают. формула массива, т.е. 10), то можно макроса выглядит так:В начале кода мы Но если верхнее
формулу, используя функциюПосчитать количество одинаковых значений в статье «Фильтр
сочетание клавиш Ctrl В изменятся цифры, Как удалить повторяющиесяwild_pigsv2014
листа после макроса. 4 To 0КазанскийРазворачиваем выпадающий список в после набора ее
объединить две таблицыSub MergeDoubles() декларируем переменную, которая
значение неравно (оператор
«СЦЕПИТЬ» в Excel.Excel. в Excel». В + T (английская то и в значения, смотрите в, не вижу…тыкнете, пожалуйста,:
Прикрепленные файлы post_304936.jpg Step -1: левом верхнем углу нужно ввести в в одну прямымиDim i As играет роль счетчика <>) нижнему значению =СЦЕПИТЬ(A15;» «;B15;» «;C15)
Нам нужно не ячейке B2 пишем
на любой раскладке). этой таблице данные статье «Как удалить носом в такиеTheArk
excel-office.ru
Как найти повторяющиеся значения в Excel.
(97.97 КБ)a.Offset(, i).MergeCells =kamilat Закрыть и загрузить ячейку не обычным ссылками, добавить справа Long в цикле. С тогда формула возвращаетПро функцию «СЦЕПИТЬ» только выделить повторы, слово «Нет».
Получилась такая сводная пересчитаются автоматически. Проверяем дубли в Excel». строчки ), добрый вечер,попробуйте макросburzuy True, Сводная таблица.и выбираем Enter, а сочетанием столбец с единичкамиDim j As помощью этого же значение ИСТИНА и читайте в статье но и вестиНажимаем два раза левой
таблица с фильтрами. – изменим цифруИтак, нам нужноvladFo test или test1: пардон выкладываю сNextkamilat
Закрыть и загрузить в… клавиш Ctrl+Shift+Enter и и построить по Long цикла мы проверяем применяется форматирования нижней «Функция «СЦЕПИТЬ» в их подсчет, написать мышкой на зеленый Внизу столбца В 12 в ячейке перед удалением дублей,: Manyasha, не подойдет в столбце D поддержкой макросаEnd If: файл посмотрите пожалуста
(Close&Load to…)
затем скопировать (протянуть) получившейся таблице сводную: Application.DisplayAlerts = False
значения всех соседних границы целой строки Excel». в ячейке их квадратик в правом установили автосумму. В2 основной таблицы их сложить. Рассмотрим
— мне потом и EburzuyNext ))): вниз на нижестоящиеКак известно, сводная
For j = ячеек в выделенном (так как вКопируем формулу по количество. нижнем углу ячейкиВыберем фильтром дубли 1. на цифру 2. несколько способов.
надо сделать импорт200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub test(): хахаха если вEnd WithkamilatВ следующем диалоговом окне ячейки с запасом. таблица игнорирует повторы,
1 To Selection.Rows.Count диапазоне справа на смешанной ссылке номер столбцу. Теперь выделяемВ ячейке G5 (на картинке обведен
Получилось так. Получилось так.Первый способ.
csv на сайтDim z(), i&, таблице в ячейкеRange(«A2»).CurrentRegion.RemoveSubtotal: Или Удалить дубликаты,
(оно может выглядетьВ английской версии Excel поэтому на выходеFor i = лево. Если ячейка строки не есть
дубли любым способом.
пишем такую формулу. красным цветом). Слово Как написать данные одновременно
Как работать с таблицейСамый простой способ … j&, m&
А1 нет значенияApplication.DisplayAlerts = -1
при условии что немного по-другому - эта формула выглядит мы получим объединенный Selection.Columns.Count To 2 содержит такое же
абсолютным, а является Как посчитать в =ЕСЛИ(СЧЁТЕСЛИ(A$5:A$10;A5)>1;СЧЁТЕСЛИ(A$5:A5;A5);1) Копируем по скопируется вниз по в нескольких ячейках, консолидации, как объединить
– это использоватьwild_pigz = Range(«A1:C» есть, то макрос
End Sub в таблице действительно не пугайтесь) выбираем как: список без дубликатов. Step -1 значение, как и относительным адресом). Excel рабочие дни, столбцу. Получился счетчик столбцу до последней смотрите в статье
несколько таблиц в функцию: Чуть что сразу & Range(«A» &
работает не верно.
burzuy только один столбец
Только создать подключение (Only=IFERROR(IFERROR(INDEX(Список1, MATCH(0, COUNTIF($E$1:E1, Список1), Вспомогательный столбец сIf Selection.Cells(j, i) соседняя, тогда ониПолезный совет! Если нужно
прибавить к дате повторов. заполненной ячейки таблицы. «Как заполнить ячейки одну консолидацией, читайте
«Консолидация» в Excel потыкать, а поговорить? Cells.Rows.Count).End(xlUp).Row).Value
если есть значение: спасибо!!! то чтоДействительно Сводной таблицей, create connection) 0)), INDEX(Список2, MATCH(0,
1 нужен только = Selection.Cells(j, i объединяться. В начале разграничить данные не дни, т.д., смотритеИзменим данные в столбцеТеперь в столбце в Excel одновременно».
в статье «Как
. У нас такаяДействительно, я ошибся. With CreateObject(«scripting.dictionary»)
Есть, то все надо, только одна но вроде как: COUNTIF($E$1:E1, Список2), 0))), потому, что Excel — 1) Then выполнения макроса отключаем
по первому столбцу в статье «Как А для проверки. A отфильтруем данныеРассмотрим, объединить таблицы в таблица200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub uuu()For i = отлично…. маленькая проблемка.
она у Вас
Повторяем всю процедуру (пункты «») умеет строить сводныеRange(Selection.Cells(j, i -
предупреждающее сообщение, которое таблицы, по любому посчитать рабочие дни Получилось так. – «Фильтр покак найти повторяющиеся значения Excel»..Dim a(), b()
1 To UBound(z)
как это можноэтот макрос безосновательно и так сводная
2-6) для второгоМинус у такого подхода по таблицам, содержащим, 1), Selection.Cells(j, i)).Merge по умолчанию возникает другому, тогда соответственно в Excel».Ещё один способ подсчета цвету ячейки». Можно вВторой способ.Нам нужно сложить всеDim i&, j&,If .exists(z(i, 1)) поправить. объединяет ячейки также таблица или что?в
списка. При переименовании в том, что по крайней мере,End If
при попытке объединить отсортируйте и простоВ приходных накладных или дублей описан в по цвету шрифта,ExcelСложить все дубли числа в столбце rw& = False Then
excel-office.ru
Как объединить ячейки с одинаковым значением в Excel
Z в первых двух таблице как показала заголовка столбца важно формулы массива ощутимо два столбца.Next непустые ячейки в укажите адрес столбца. прайсах очень часто статье «Как удалить зависит от того,,
Как выделить одинаковые ячейки группами
с помощью формул. В по каждому
Dim elm = m: Все, как заказывали строках. а это в примере больше использовать то же замедляют работу сПри изменении исходных списковNext программе Excel. Для Например, разграничим по
повторяются некоторые значения повторяющиеся значения в как выделены дубликак выделить одинаковые значения Таблица та же.
- дублю из столбца’——————— + 1: .Item(z(i, — XL-2010 SP1 в данном примере
- столбцов, при сводн,таблице имя (Люди), что файлом, если в
- новые данные поSelection.HorizontalAlignment = xlHAlignCenter этого мы вызываем повторяющимся датам, а ячеек в разных
Excel». в таблице. словами, знакамипосчитать количество
Принцип такой. Создаем А – отдельноApplication.ScreenUpdating = False 1)) = m: — хоккей! И не надо. сам серовно нужно объединить
и в предыдущем
исходных таблицах большое прямым ссылкам попадутApplication.DisplayAlerts = True объект «DisplayAlerts» и не по поставщикам. позициях. Если отсортироватьКак посчитать данныеВ таблице остались две одинаковых значений дополнительный столбец, в все ячейки сWith ActiveSheet For j = Макрос1, и макрос не разберусь ячейки в первом запросе. (несколько сотен и в объединенную таблицу,End Sub просто меняем его Для этого сначала эти значения не в ячейках с
строки с дублями., узнаем ячейках которого будем цифрой 1, отдельноa = .UsedRange.Value 1 To UBound(z, www? даже изZ столбцеВ окне Excel на более) количество элементов. но сводную придетсяА теперь выделите диапазон свойство на значение сортируем данные по всегда удобно их
дублями, а, затем, В верхней ячейке
exceltable.com
Макрос для объединения повторяющихся ячеек в таблице Excel
формулу для поиска одинаковых писать название дубля, все ячейки с.UsedRange.EntireRow.Delete 2): z(m, j) других книг. Ищите: Вариант — сводная,
Как объединить все повторяющиеся ячейки в строке
ну вот сами вкладкеЕсли в ваших исходных обновить уже вручную
B1:L12 и запустите «False». В конце датам, а потом визуально анализировать. Например, удалить их, смотрите отфильтрованного столбца B значений в Excel который нужно сложить.
цифрой 2, т.д.End With
= z(i, j): бяку у себя… а если XL-2010, тоже сделали своднДанные (Data)
списках большое количество
(правой кнопкой мыши макрос с уже
кода не забудем
используем условное форматирование названия поставщиков могут в статье «Как
пишем слово «Да»., т.д. Мы будем писать
Мы не знаем,With CreateObject("Scripting.Dictionary")
Next
:)
то тем более...
таб, ну теперь
или на вкладке
элементов, например, по - новой версией кода: поменять значение в немного изменив формулу: быть очень похожими сложить и удалить Копируем по столбцу.В Excel можно дубли в ячейках сколько и какие
For i =Else-77529- ;) нужно же украситьPower Query несколько сотен илиОбновитьЧитайте также: как объединить это же свойство =$C2<>$C3 и какие данные ячейки с дублямиВозвращаем фильтром все строки не только выделять С2, С3, С4, у нас дубли 1 To UBound(a)z(.Item(z(i, 1)), 2)burzuy-98041- нашу таблицу чтобывыбираем тысяч, то вместо). Если не нужен повторяющиеся ячейки в на «True», чтобыТеперь список сгруппирован по к ним относятся в Excel» здесь. в таблице. Получилось и удалять дублирующие С5. в большой таблице.
If a(i, 1) = z(.Item(z(i, 1)),: спасибо всем ктоKuklP перед началством показать,Получить данные — Объединить
медленной формулы массива пересчет «на лету», столбце. снова включить действе одинаковым датам. легко спутать.Четвертый способ. так. данные, но иА в следующем
На новом листе
Как объединить все повторяющиеся ячейки одновременно
<> «» Then UBound(z, 2) - откликнулся…: У кого нибудь пустые строки есть запросы — Добавить лучше использовать принципиально то лучше воспользоватьсяТеперь, можно выделять любое
объекта «DisplayAlerts», как
В данном практическом примереДопустим мы имеем списокФормула для поиска одинаковыхМы подсветили ячейки со работать с ними столбце напишем формулу, делаем активной ячейку.If .Exists(a(i, 1)) 1) & «,»
Вроде называется сводная таблица еще объединяет в
они не дають (Get Data - другой подход, а другими вариантами.
количество строк и
и должно быть мы напишем и поставщиков: значений в словом «Да» условным – посчитать дубли которая будет искать Мы, в нашем
Then
& z(i, UBound(z,Пример
первых двух строках? форматировать ячейки
Merge Queries -
именно - инструментыМожно решить проблему формулами.
наш макрос будет по умолчанию в пошагово разберем принцип
Перед тем как найтиExcel. форматированием. Вместо слов,
перед удалением, обозначить дублирующие данные в
примере, сделаем активной
b = .Item(a(i,
2) - 1)
БЫЛО:
См. пример от
кажеться я не
Append) надстройки Power Query. В этом случае во всех этих
программе Excel. действия VBA кода повторяющиеся ячейки в
Нам нужно выделить можно поставить числа. дубли словами, числами, первом столбце и ячейку Е2 на 1)) & «,» &Иванова 3
exceltable.com
Слияние двух списков без дубликатов
05.02.2012, 04:33. могу ясно выразиться: Эта надстройка по пересчет и обновление строках искать ячейкиТак же мы еще макроса для автоматического Excel, отсортируем поставщиков дубли формулой в Получится так. знаками, найти повторяющиеся складывать цифры по
этом же листе.b(15) = b(15) z(i, UBound(z, 2))Иванова 5burzuy извините, но я
Способ 1. Удаление дубликатов
В появившемся диалоговом окне умолчанию встроена в результатов будет происходить с одинаковым значением воспользуемся объектом HorizontalAlignment, объединения повторяющихся ячеек по их идентификатору. условном форматировании. ВыделяемЭтот способ подходит, если строки, состоящие из дублям из второго На закладке «Данные»
& «, «End IfПетров 1: сводная в данном хочу узнать какие выбираем наши запросы Excel 2016. Если
Способ 1а. Сводная таблица
автоматически и мгновенно, подряд, чтобы объединить чтобы выровнять текст в таблице. Переходим в ячейку ячейки. Вызываем диалоговое данные в столбце нескольких ячеек, т.д. столбца. в разделе «Работа & a(i, 15)NextПетров 4 случае не то. варианты есть чтоб
из выпадающих списков: у вас Excel сразу после изменений их. в объединенных ячейкахУ нас иметься квартальный A2 и выбираем окно условного форматирования. A не меняются. Как выделить цветомВ ячейке D2 с данными» нажимаем
.Item(a(i, 1)) =Range(«D1»).Resize(.Count, UBound(z, 2)НАДО: надо чтобы четко объединить повторяющихся ячейкиВ итоге получим новый 2010 или 2013, в исходных списках.Классическая ситуация: у вас по центру устанавливаем отчет, сформированный по на закладке «ДАННЫЕ» Выбираем функцию «Использовать
Способ 2. Формула массива
Или, после изменения, одинаковые значения в пишем такую формулу. на кнопку функции b — 1).Value =Иванова 8 было видно, чтоburzuy запрос, где два то ее можно Для удобства и есть два списка, ему свойство xlHAlignCenter. отделам, как показано в разделе «Сортировка формулу для определения повторить процедуру с Excel условным форматированием,
=СУММЕСЛИ(A2:A9;C2;B2:B9) «Консолидация». Выйдет диалоговоеElse
zПетров 5 объединенные ячейки связанны: Помогите пожалуйста! Нужен списка будут соединены отдельно скачать и краткости давайте дадим которые надо слитьОбратите внимание на то, ниже на рисунке: и фильтр» инструмент
форматируемых ячеек».
- обозначением дублей. читайте в статьеВ ячейку D3 окно.ReDim b(1 ToEnd With
- Andrey kalashnikov с группой необъединеных, фрагмент макроса. друг под другом.
- установить (бесплатно). нашим спискам имена в один. Причем что наш макросСначала нам необходимо объединить «Сортировка от АВ строке «Форматировать
Второй способ. «Условное форматирование в пишем такую формулу.Заполнили его так: UBound(a, 2))End Sub: Выслал на почту = таблицу надоЕсть большой диапазон Осталось удалить дубликаты
Алгоритм действий следующий:Список1 в исходных списках
пока еще не все ячейки, которые до Я». формулу для определения
Как выделить повторяющиеся ячейки Excel». =СУММЕСЛИ(A3:A9;C3;B3:B9)В строке «Функция»For j =TheArk видео в архиве будет распечатываьь.
Способ 3. Power Query
ячеек (более 2000). кнопкойОткрываем отдельную вкладку установленнойи могут быть как умеет работать более содержат в своемЧтобы автоматически отметить повторяющиеся форматируемых ячеек» пишем вРассмотрим, как выделитьПо такому принципу выбрали функцию «Сумма». 1 To UBound(a,: Спасибо, кнопка Каратаева как делаетсявариант KukLP именно Мне надо объединить
Удалить строки — Удалить
- надстройкиСписок2 уникальные элементы, так чем с одной значении одинаковый год. ячейки и разделить такую формулу. =СЧЁТЕСЛИ($A:$A;A5)>1Excel. и обозначить дубли. написать формулы в
- Можно выбрать другие 2) отлично помогла!После распаковки займет то что надо, повторяющиеся в столбце дубликаты (Delete Rows
- Power Query, используя и совпадающие (и строкой. Сколько строк Решение данной задачи их линиями на Устанавливаем формат, если
- Установим формулу в У нас такая других ячейках столбца действия.b(j) = a(i,vladFo 5,8 Мб распаковавать тока проблемка в ячейки, а также — Delete Duplicates)(если у васДиспетчер имен между списками и не выделяй он можно существенно упростить группы воспользуемся условным нужно выбрать другой столбце D, чтобы
- таблица, в которой D. Получилось так.В строке «Ссылка» j): Проблема такая - раром проигравать в том, что он
- ряд ячеек находящихся: Excel 2010-2013) илина вкладке внутри), но на все равно объединяет с помощью готового
- форматированием: цвет ячеек или автоматически писались слова. рассмотрим варианты работыЭту же формулу можно поставили диапазон нашейNext есть файл с
- любом проигравателе кодеки заодно объединяет ячейки рядом с ними.Готовый запрос можно переименовать просто идем наФормулы (Formulas — Name выходе нужно получить повторяющиеся значения только макроса.Выделите диапазон A2:A11 и шрифта. Формула такая. =ЕСЛИ(СЧЁТЕСЛИ(A$5:A5;A5)>1;»Да»;»Нет»)
- с дублями. написать, вызвав диалоговое таблицы. У нас
- .Item(a(i, 1)) = товарами там есть не нужны звук и в первыхпример таблицы приложил. справа на панели вкладку Manager — Create) список без дубликатов в первой строке.
- Откройте редактор Visual Basic выберите инструмент: «ГЛАВНАЯ»-«УсловноеНажимаем «ОК». Все ячейкиКопируем формулу поДублирующие данные подкрасили условным окно функции «СУММЕСЛИ». указан фиксированный размер b строки с повторяющимися не нужен двух строках.
В данном случае параметров, дав емуДанные: (повторений):
planetaexcel.ru
Объединить повторяющиеся строки
(ALT+F11): форматирование»-«Создать правило»-«Использовать формулу с повторяющимися данными столбцу. Получится так. форматированием. Она расположена на диапазона с абсолютнымиEnd If
значениями во всех
Алексей владимирович
помогите пожалуйста
столбец с ячейками
вменяемое имя (это
(если у вас
После именования, нужная нам
Давайте традиционно рассмотрим несколько
Если данный макрос должен
Создайте новый модуль с
для определения форматированных
окрасились.
Обратите вниманиеЕсть два варианта закладке «Формулы» в ссылками и названием
End If столбцах кроме 2х: данные —-сортировка
KuklP по которым идет будет имя таблицы-результата Excel 2016). формула будет выглядеть
способов решения такой уметь работать сразу помощью инструмента: «Insert»-«Module». ячеек:».Идея., что такое выделение выделять ячейки с разделе «Библиотека функций» столбцов. Можно написатьNext — к примеру
Palych: Может покажете в отбор С:С. в по факту) иВыделяем первый список и следующим образом: распространенной задачи - с несколькими выделенными А потом введите
В поле для вводаМожно в условном дублей, выделяет словом одинаковыми данными. Первый нажимаем функцию «Математические», диапазон с относительными
CyberForum.ru
Объединение одинаковых ячеек и последующие обединение рядом стоящих
rw = 1 три строки -: Сделать сводную таблицу.
моем файле, где нем и надо все и можно жмем кнопкуНа первый взгляд выглядит от примитивных «в строками одновременно, тогда
в него следующий
формулы вводим следующе форматировании установить белый «Да» следующие повторы вариант, когда выделяются выбираем «СУММЕСЛИ». Заполним ссылками.For Each el у них все Выделить два столбца, он объединяет ячейки
объединить ячейки, а все выгружать наИз таблицы/диапазона (From Range/Table) жутковато, но, на лоб» до более
усовершенствуем его изменив
VBA-код: значение: =$A2<>$A3
цвет заливки и в ячейках, кроме
все ячейки с
диалоговое окно так.
Подробнее о видах In .Items
столбцы с одинаковыми
Данные > Сводная
«и в первых вместе с ними
лист командой. На вопрос про
самом деле, все сложных, но изящных.
и настроив код.Sub MergeDoubles()
Щелкните на кнопку «Формат», шрифта. Получится так. первой ячейки.
одинаковыми данными. Например,В строке «Диапазон» указываем
ссылок читайте в
Cells(rw, 1).Resize(1, UBound(a,
значениями (например в
таблица.
двух строках»? На
ячеки в тех
Закрыть и загрузить (Close&Load)
создание из нашего не так страшно.Можно решить задачу самым В начале кода
Dim i As на вкладке «Граница»Первые ячейки остались видны,Слова в этой как в таблице диапазон столбца А статье «Относительные и
2)) = el первом столбце одинПользователь удален одном листе выполните же строках в
:
списка «умной таблицы» Давайте я разложу простым путем - добавим декларацию для Long следует задать оформление
а последующие повторы формуле можно писать (ячейки А5 и с дублями. абсолютные ссылки вrw = rw и тот же: Только сводная таблица! макрос, на другом
диапазоне А:Е.В будущем, при любых — соглашаемся: эту формулу на руками скопировать элементы новой переменной j:Application.DisplayAlerts = False
для нижних границ
не видны. При любые или числа, А8). Второй вариантВ строке «Критерий» Excel» здесь. + 1 артикул) а вTheArk — нет.
на форуме искал. изменениях или дополнениях
Открывается окно редактора запросов, несколько строк, используя обоих списков вDim j As Long
For i = строк. И ОК. изменении данных в знаки. Например, в
– выделяем вторую указываем ячейку столбца
Поставили галочки уNext столбце размер -: Друзья подскажите какburzuy
есть похожее но в исходных списках, где будет видно сочетание клавиш Alt+Enter
один и применить
Далее нам необходимо создать Selection.Columns.Count To 2В результате получаем эффект первом столбце меняются столбце E написали и следующие ячейки
С, в которой слов:End With
разные значения в объединить текст в: прикладываю все не то, достаточно будет лишь загруженные данные и
и отступы пробелами, потом к полученному новый цикл, который
Step -1 как отображено на
и пустые ячейки, такую формулу. =ЕСЛИ(СЧЁТЕСЛИ(A$5:A5;A5)>1;»Повторно»;»Впервые») в одинаковыми данными. будем писать название«подписи верхней строки»Application.ScreenUpdating = True каждой строке…файл в ячейках 2-го ина лист2 результат
а своих мозгов
правой кнопкой мыши имя запроса как мы делали,
planetaexcel.ru
Как в Excel соединить повторяющиеся строки в одном столбце, чтобы их сумма сложилась
набору инструмент
должен срабатывать еще
If Selection.Cells(1, i)
рисунке.
в зависимости от
В столбце F
А первую ячейку
дубля.
– это название
Beep
приложении…возможно ли объединить 3-го столбца по после макроса. желтым не хватает.
обновить таблицу результатов.Таблица1 например тут:Удалить дубликаты до выполнения старого = Selection.Cells(1, i
Нам удалось объединить и того, где находятся
написали формулу. =ЕСЛИ(СЧЁТЕСЛИ(A$5:A5;A5)>1;»+»;»-«) не выделять (выделитьВ строке «Диапазон столбцов;MsgBox «А ты
строки или убрать повторяющимся значением 1-го
Как объединить текст в ячейках 2го столбца по повторяющимся (Формулы/Formulas)
я выделил ненужноезаранее спасибо.kamilat(можно поменять наЛогика тут следующая:с вкладки цикла. Так выглядит — 1) Then выделить повторяющиеся ячейки
дубли. Получилось так. только ячейку А8). суммирования» указываем диапазон
«значения левого столбца» боялась» дубликаты, но так столбца. Желательно, что
объединениеKuklP: Здраствуйте, как можно
свое, если хотите).Формула ИНДЕКС(Список1;ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$1:E1;Список1); 0) выбираетДанные (Data — Remove строка кода дляRange(Selection.Cells(1, i - в Excel. Теперь
Пятый способ.Идея. Будем рассматривать оба столбца В, числа — это значит,End Sub чтоб эти разные
бы при это
на лист3 до: Sub www()
в столбце найтиДелаем двойной щелчок в все уникальные элементы
Duplicates)
нового цикла, которую 1), Selection.Cells(1, i)).Merge
в приходной накладнойКак найти повторяющиеся строки
Можно в таблице варианта. из ячеек которого что искать дублиvladFo значения записались в удалились дубли. макроса. зеленым указал
Dim a As
поторяющиеся значения и заголовок таблицы (слово из первого списка.: следует добавить вышеEnd If все отсортированные поставщики в
использовать формулу из
Первый способ.
нужно сложить. в левом первом: wild_pig,
одну ячейку например
TimSha
то что теряется Range, i& объединить их? список
excelworld.ru
Найти дубликаты и объединить значения строк (Макросы/Sub)
Список1 Как только ониСамо-собой, такой способ не уже имеющегося цикла:Next визуально разграничены линиейExcel. столбца E илиКак выделить повторяющиеся значенияВ строке формул столбце.Отлично! Все работает! через запятую…: А в чем после макроса.Application.DisplayAlerts = 0 большой по этому) и переименовываем на заканчиваются — начинает подойдет, если данныеFor j = 1Selection.HorizontalAlignment = xlHAlignCenter друг от друга.Нужно сравнить и F, чтобы при
в
сразу видна получившаяся
Нажимаем «ОК». Поучилось
Сначала вроде ничего
было 1|2|3|0 вы видите ЦЕЛЕСООБРАЗНОСТЬburzuyApplication.ScreenUpdating = 0 хочу формулу. Пожалуйста любой другой (например
выдавать ошибку #Н/Д: в исходных списках To Selection.Rows.Count
Application.DisplayAlerts = True выделить данные по заполнении соседнего столбцаExcel. формула.
так. не произошло! но1|2|3|9 сей заморочки?!: прикладываюOn Error Resume
помогите.ЛюдиФормула ИНДЕКС(Список2;ПОИСКПОЗ(0;СЧЁТЕСЛИ($E$1:E1;Список2); 0)) аналогичным
часто меняются -
После инструкции конца первого
End Sub
Так как мы сортировали трем столбцам сразу.
было сразу видно,
Нам нужно в
Третий способ.
Если таблицу консолидации делаем
потом поменял колонку
1|2|3|8
Вариант - хранить
Z
Nextпример:
). Каки именно назвать образом извлекает уникальные
придется повторять всю цикла добавляем новую
Теперь если нам нужно поставщиков по их
У нас такая есть дубли в соседнем столбце напротив
Создать таблицу с на другом листе,
в скриптес 15
стало 1|2|3|0,9,8 как есть, а
: А куда макросWith Range("A2").CurrentRegionстб А
- не важно, элементы из второго
процедуру после каждого
строку с инструкцией объединить одинаковые ячейки
идентификатору в формуле
таблица.
столбце или нет.
данных ячеек написать
фильтром. Внизу столбца то получится такая
на 17, котораяManyasha
на показ перестроить дели?.. А сводную
.RemoveSubtotal
анна
но придуманное название
списка.
изменения заново. конца для второго:
в строке по
мы зафиксировали смешаннойВ столбцах A, B, Например, создаем список слово «Да», если В установить автосумму. таблица. мне нужна! СПАСИБО!!!: — сводной, например…
excelworld.ru
еще надо уметь
MulTEx »
8 Июль 2015 38550 просмотров
Объединить по значению
Данная функция является частью надстройки MulTEx
Вызов команды:
MulTEx -группа Ячейки/Диапазоны —Ячейки —Объединить по значению
Иногда при подготовке итоговых отчетов для красоты необходимо объединять ячейки с одинаковыми значениями в одну. К примеру, есть такой отчет, выгруженный из 1С:
Вполне логично было бы перед тем как распечатать подобный отчет каждый город объединить визуально:
Делать это руками будет долго и неинтересно, особенно, если в отчете более пары тысяч строк. Как раз для того, чтобы объединить несколько ячеек с одинаковыми значениями, идущими подряд, и предназначена команда «Объединить по значению». Для этого необходимо выделить диапазон ячеек для объединения и вызвать команду: MulTEx -группа Ячейки и Диапазон —Ячейки —Объединить по значению.
Можно объединить либо по строкам, либо по столбцам.
Направление:
- По строкам — просмотр одинаковых значений и объединение ячеек происходит сверху вниз, а затем слева направо. Т.е. последовательно просматривается каждый столбец выделенных ячеек
- По столбцам — просмотр одинаковых значений и объединение ячеек происходит слева направо, а затем сверху вниз. Т.е. последовательно просматривается каждая строка выделенных ячеек
Данное действие невозможно отменить, поэтому следует осторожно его применять. Хотя можно произвести обратную операцию командой Разъединить с заполнением.
Предположим, у вас есть рабочий лист с одинаковыми данными в соседних строках, и теперь вы хотите объединить те же ячейки в одну, чтобы данные выглядели аккуратно и красиво. Как быстро и удобно объединить соседние строки с одинаковыми данными? Сегодня я познакомлю вас с быстрым способом решения этой проблемы.
Объединить соседние строки с одинаковыми данными с кодом VBA
Конечно, вы можете объединить те же данные с Слияние и центр , но если нужно объединить сотни ячеек, этот метод потребует много времени. Таким образом, следующий код VBA может помочь вам легко объединить одни и те же данные.
1. Удерживайте ALT + F11 ключи, и он открывает Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули, и вставьте следующий макрос в Модулиокно.
Sub MergeSameCell()
'Updateby Extendoffice
Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
For i = 1 To xRows - 1
For j = i + 1 To xRows
If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
Exit For
End If
Next
WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
i = j - 1
Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
3, Затем нажмите F5 нажмите клавишу для запуска этого кода, на экране отобразится диалоговое окно для выбора диапазона для работы. Смотрите скриншот:
4. Затем нажмите OK, одни и те же данные в столбце A будут объединены. Смотрите скриншот:
Объединить соседние строки одних и тех же данных с Kutools for Excel
Для Объединить одинаковые ячейки полезности Kutools for Excel, вы можете быстро объединить одни и те же значения в нескольких столбцах одним щелчком мыши.
После установки Kutools for Excel, вы можете сделать следующее:
1. Выберите столбцы, в которых вы хотите объединить соседние строки с одинаковыми данными.
2. Нажмите Кутулс > Слияние и разделение > Объединить одинаковые ячейки, см. снимок экрана:
3. А затем те же данные в выбранных столбцах были объединены в одну ячейку. Смотрите скриншот:
Нажмите, чтобы скачать Kutools for Excel и бесплатная пробная версия прямо сейчас!
Чтобы узнать больше об этом, посетите этот Объединить одинаковые ячейки функцию.
Демонстрация: объедините одинаковые ячейки в одну или разделите их, чтобы заполнить повторяющиеся значения:
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (43)
Оценок пока нет. Оцените первым!
Объединение ячеек с одинаковыми значениями |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Option Explicit
Option Base 1
'123456789012345678901234567890123456h8nor@ya567890123456789012345678toster56789
Sub Merge_by_Rows() ' Без форматирования границ
Dim i As Integer, j As Integer, cnt As Integer
Dim arr() As Variant, s As String
With ActiveSheet.UsedRange ' Кол-во столбцов определяется по 1-й строке
arr = Range(Cells(1, 1), Cells(.Rows.Count + 1, Range("A1").End(xlToRight).Column))
End With
cnt = 1: s = get_Row(arr, cnt)
For i = LBound(arr, 1) + 1 To UBound(arr, 1)
If get_Row(arr, i) <> s Then
For j = LBound(arr, 2) To UBound(arr, 2)
With ActiveSheet.Range(Cells(cnt, j), Cells(i - 1, j)).Offset(, UBound(arr, 2))
.Merge
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Value = arr(cnt, j)
End With
Next j
cnt = i: s = get_Row(arr, cnt)
End If
Next i
End Sub
Function get_Row(ByVal arr As Variant, ByVal num_Row As Integer) As String
Dim j As Integer
For j = LBound(arr, 2) To UBound(arr, 2)
get_Row = WorksheetFunction.Trim(get_Row & " " & arr(num_Row, j))
Next j
End Function
Процедуру выполнять на активном листе.