|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.07.2011, 22:32 | #1 |
Новичок
Джуниор
Регистрация: 06.07.2011
Сообщений: 3
|
Удаление повторов с последующим копированием нужной инфы
Здравствуйте.
Помогите в решении проблемы. Есть база с предприятиями....Например 500 предприятий. Многие из них повторяются по названию. Что необходимо сделать - удалить повторяющиеся компании.....но не просто удалить...необходимо скопировать нужную информацию. То есть..... фирма "Галоши" в базе повторяется 3 раза. Все 3 раза повторяется только название и адрес, надо удалить 2 повтора, а в одно оставшееся добавить с удаленых "описание" и "рубрики". Вроде задача не сильно сложная, но у меня чето никак не выходит. Помогите плизззз. Образен базы прилагается. Заранее благодарен. |
06.07.2011, 22:33 | #2 |
Новичок
Джуниор
Регистрация: 06.07.2011
Сообщений: 3
|
так понимаю без макроса не обойтись.....
Я на одном форуме взял неплохой макрос, который ПРОСТО УДАЛЯЕТ ПОВТОРЫ. Но такое увы мне не поможет..... Вот этот макрос, может он Вам поможет..... !!!!!! Public Sub DeleteDuplicates() Dim rng As Range Dim ws As Worksheet Dim intI As Integer Dim intRows As Integer Set ws = ThisWorkbook.Worksheets("link") Set rng = ws.UsedRange intRows = rng.Rows.Count intI = 1 Do While intI < intRows If ws.Cells(intI, 1) = ws.Cells(intI + 1, 1) And _ ws.Cells(intI, 2) = ws.Cells(intI + 1, 2) Then ws.Cells(intI, 1).EntireRow.Delete shift:=xlShiftUp intRows = intRows - 1 intI = intI - 1 End If intI = intI + 1 Loop End Sub Надеюсь это поможет. |
07.07.2011, 00:33 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Можно обойтись этим Вашим макросом (хотя он не идеален, и только для сортированных данных) и UDF, например http://www.planetaexcel.ru/forum.php...hread_id=16564 или где-то там же есть СцепитьЕсли() Дмитрия.
Этими UDF получаете в дополнительных столбцах все описания и рубрики (в СцепитьЕсли() есть опция "без повторов"), затем заменяете эти формулы на значения, затем этим Вашим макросом удаляете повторы. Или в 2007 есть стандартный инструмент для этого.
webmoney: E265281470651 Z422237915069 R418926282008
|
07.07.2011, 01:01 | #4 |
Новичок
Джуниор
Регистрация: 06.07.2011
Сообщений: 3
|
Удаление повторов с последующим копированием нужной инфы
Спасибо.....
Я читал эту статью..., но че-то у меня ничего не вышло. Вы не могли бы мне помочь на моем примере.... |
07.07.2011, 01:21 | #5 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну так например.
Замените в жёлтых столбцах формулы на значения и удаляйте строки макросом. Столбец С можете удалить - он уже будет не нужен после всех операций. Использовал СцепитьЕсли(), т.к. там есть повторы, вероятно ненужные. Если бы повторы не мешали - можно было бы и мою VLOOKUPCOUPLE() использовать.
webmoney: E265281470651 Z422237915069 R418926282008
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос для посчета повторов и уникальных | Shkoda | Microsoft Office Excel | 24 | 02.05.2010 19:39 |
Выделение текста по количеству повторов | saggy | Помощь студентам | 4 | 12.03.2010 14:23 |
odnoklassniki.ru удаление личной инфы без авторизации или... | Likos | Безопасность, Шифрование | 1 | 13.07.2009 12:48 |
Ограничение повторов | ТРОЯН=) | Помощь студентам | 5 | 06.03.2009 09:11 |
Нужна сумма повторов. Желательно формула | jungo | Microsoft Office Excel | 13 | 04.05.2008 13:19 |