Страницы: 1
RSS
Удаление одинаковых строк
 
Добрый день. Подскажите как из таблицы удалить одинаковые строки.
 
Какое поле является уникальным? Т.е. в каком столбце искать совпадающие значения?  
Воспользуйтесь: Данные - Фильтр - Расширенный фильтр - выделите столбец, в котором найти уникальные записи - поставьте флажок "Только уникальные записи" - нажмите "Ок".  
Получается?
 
Если бы искать только совпадение по одному столбцу, то вопросов не было бы. Но нужно смотреть совпадение по всем столбцам в таблице и удалять нужно только те строки которые по столбцам полность идентичны. Если есть различие хотя бы в одной ячейке, то строки считаются разные.
 
неужели ответа так и не нашлось за год?  
столкнулись с такой же проблемой.
 
Первое что пришло в голову
 
Татьяна, формула СЧЁТЕСЛИ, затем условное форматирование. Для проверки можете и третий столбец забить формулой...
 
По-моему, первое, что должно приходить в голову в таких случаях это Расширенный фильтр :-)
KL
 
Может кто поделиться готовым макросом. Который просто вешаешь на кнопку. а он типа находит ПОЛНОСТЬЮ идентичные строки (по всем столбцам) и удаляет все дубликаты оставляя одну строчку?.
 
В 2007 офисе это штатная функция. Интресно, а можно ее как нибудь в 2003 вставить?
 
Ваш код за что-то Железнякова похерил а он вроде не дубликат.. Удаление дубликатов 2007 приложил.
 
Я так понимаю он для любого размера диапазона работает т.е. диапазон считается автоматом... в копилку с Вашего разрешения.
 
Добрый день!  
Применил этот макрос к своей базе, все работает. Но если применять к разным таблицам которых координаты расположены по разному, я по ходу этого дела сбился подправляя в коде координаты. (и как будет каждый раз? ).    
 Поэтому нужна ваша небольшая подправка кода чтоб этот макрос работал относительно выделленному диапазону, тогда он был бы ТОЧНО универсален!!!  
(прикрепил свой легкий файлик и рисунок (в других случаях))  
Заранее спасибо!
With my best regards,      Inter_E
 
Inter_E, я Вам вроде уже рекомендовал сой универсальный? http://hugo.nxt.ru/CompareFiles.Find.rar  
 
Файл - приёмник: C:\temp\Inter_E\Xl0000031.xls  
Файл - источник: C:\temp\Inter_E\Xl0000031.xls  
Столбцы сравнения в приёмнике: A,B,C,D,E,F,G,H,I,J,K,L,M  
Столбцы сравнения в источнике: A,B,C,D,E,F,G,H,I,J,K,L,M  
Лист - приёмник (№): 1  
Лист - источник (№): 1  
Столбцы - приёмники данных копирования:  
Столбцы - источники данных копирования:  
Столбец для пометок в приёмнике:  
Столбец для пометок в источнике: o  
 
Все строки с рыжими пометками удалить.  
Вот правда чтоб их в кучку собрать, нужно руками поработать - например с формулой в допюстолбце.
 
{quote}{login=Hugo}{date=26.08.2010 03:45}{thema=}{post}Inter_E, я Вам вроде........{/post}{/quote}  
Нет, не давали...  
Но я посмотрел, для моего проекта это жирно будет.  
Просто мне надо для своего примера оттолкнуться относительно от выбранного вручную диапазона и все...  
Т.е координаты будет брать не от окно Экселя, а от Selection.Range (вроде того)
With my best regards,      Inter_E
 
Вроде правильно (прикр.файл) сделал, но что то не правильно работает...
With my best regards,      Inter_E
 
Чтоб у Вас работало правильно, надо это так написать:  
 
                   With Range(M).Range(Cells(li, 1), Cells(li, lLastCol)).Interior    '____________Inter_E: Color's the 1'st original row, not dublicate, do not forget this! Because the dublicate is fresh data!  
                      .Color = 255  
                   End With  
 
Но, т.к. Вы не удаляете, а закрашиваете строку, у Вас все пары будут закрашены, и одинаково. Потому что код сперва найдёт первое совпадение, а затем (т.к. строка не удалена) и второе.  
Этот путь имхо неверный, и тут малой кровью не исправить, надо удалять! :)  
Чуть другой путь - делать поиск по кругу, и красить всех найденных, кроме себя. А если я уже покрашен, то не искать. Как-то так.
 
А что если эти строки-дубликаты вырезать и копить в специальном другом листе, это правильно будет?
With my best regards,      Inter_E
 
Главное, чтоб их таких больше в этом листе не было. Можно вырезать, или может просто дописать в конец порядковый номер - тогда при сравнении парного значения с этим уже сравненным пары уже не будет.
 
{quote}{login=}{date=10.09.2009 01:52}{thema=}{post}Первое что пришло в голову{/post}{/quote}  
 
Точно.    
И второе, в след. столбце - формулу на поиск повторов, но только с меняющимся дапазоном для поиска. Первый найденный тогда будет 1 а все последующие - >1  
И третье, в продолжение. На последний столбик ставим фильтр ">1" и удаляем отфильтованные записи.
 
я как не очень знаток макросов, воспользовался механическим способом:  
объеденил ячейки в строке в одну ячейку (А1&" "&B1)  
стандартной функцией удалил дубликаты  
с помощью стандартного разделителя привел ячейки в изначальную форму
 
{quote}{login=kasto}{date=05.01.2011 04:55}{thema=}{post}с помощью стандартного разделителя привел ячейки в изначальную форму{/post}{/quote}а этот пункт по сути и не нужен. - при удалении дубликатов область действия распространяется на все столбцы..
 
kasto, а Вы с кем разговариваете:) И почему не указываете что применяемый Вами метод появился только в Ехс2007? А многие работают на 2000-2003, и на форум заходят пользователи у которых стоит рабочий 97:)
 
Igor67, к сожалению, не знал, что только с 2007...  
А запостил, - возможно будет полезно, если человек юзает поиск
 
Спасибо, мне тоже пригодилось!
Страницы: 1
Читают тему
Наверх