|
|
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Добрый день На днях решал задачу по удалению повторяющихся строк на листе Excel. Нужно было оставить последнюю строку и удалить все предыдущие дубли. В прищепке файл с рабочим макросом. Для массива в несколько тысяч строк он, конечно, быстрый, но у меня массивы превышают 150 тыс. строк и обработка их в течение 12-15 часов, на мой взгляд, чрезмерно продолжительна. Вопрос к знатокам - можно ли ускорить его работу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 06:29 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Такие вещи надо обрабатывать через СУБД. Хотя бы в аксесс данные перекинуть. Задача будет решаться пару секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 08:32 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, спасибо за мнение, но надо именно в Excel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 09:02 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Скорее всего даже просто динамическое создание макросом mdb-файла, перекидывание туда данных, создание индексов, отбор нужных и перекидывание их обратно займет меньше времени (и все это не покидая экселя), чем работа данного макроса (минуты, а не часы). Еще можно попробовать доступ к самому себе через ADO и отбор SQL-запросом. Это будет подольше, но, возможно. тоже даст выигрыш во времени. Надо пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 09:32 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, вот этого я не умею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 09:48 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
http://programmersforum.ru/showthread.php?p=848421#post848421 вот пример как использовать ADO _____________________ Из Вашего примера не понятно по каким столбцам отбирать уникальные :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 10:42 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
> Автор: SirFisher > На днях решал задачу по удалению повторяющихся строк на листе Excel. Нужно было оставить последнюю строку и > удалить все предыдущие дубли. > ... можно ли ускорить его работу? А меню "Данные"->"Фильтр"->"Расширенный фильтр" и копирование результата в другое место с птичкой "Только уникальные записи" не поможет? P.S. В макросе можно копировать даже на другой лист :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:08 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, извините, а как там в ячейку Поместить результат в диапазон Пишу Лист2, не нравится ему ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:17 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Ципихович ЭндрюИгорь Горбонос, извините, а как там в ячейку Поместить результат в диапазон Пишу Лист2, не нравится ему ???RTFM! низя так. тока макросом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:36 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Эндрю, я специально выделил что _программно_ можно. Примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. "сворачивание" сумм и все заменяется одной строкой в "результат", после чего строятся проверочные сводные, которые анализирует человек Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:41 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
SirFisher, Может не удалять строки а уникальные вставлять на другой лист? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:55 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, нет, фильтр по уникальным значениям не подойдет. Вы, наверное, не внимательно смотрели макрос. У него задача убрать из дублей ранние строки, оставив самые поздние ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:13 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Еще вариант не удалять сразу а пометить "на удаление" отсортировать так чтобы "на удаление" стояли внизу таблицы, поиском найти строку которая первой занчится "на удаление" и удалить их махом до конца диапазона ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:32 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
> Автор: Sir.Fisher > Игорь Горбонос, нет, фильтр по уникальным значениям не подойдет. Вы, наверное, не внимательно смотрели макрос. У > него задача убрать из дублей ранние строки, оставив самые поздние А почему именно "самые поздние"? какая разница какую строку с данными оставлять, если строки дубликаты и при удалении дубликатов все равно поменяют свое положение на листе? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 14:36 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, в том то и дело, что нужно оставлять наипозднейшие строки. Особенности работы с материалом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 14:50 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
R Dmitry, этот столбец формируется слиянием нескольких ячеек в начале макроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 14:53 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
SirFisher, файл сохраните на физический диск (из Temp может не работать) проверяйте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:09 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
R DmitrySirFisher,проверяйтезапросом - это вешь :) с вашего позволения сохраняю код на поиск Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:22 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Коментарии в функции можно было бы и оставить, ну да ладно бог с ними........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:57 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
R Dmitry, мне кейсы по версии понравились :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:45 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
PlanB, старался делать универсальной, что бы не церемониться с 65 т строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:58 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
R DmitrySirFisher, файл сохраните на физический диск (из Temp может не работать) проверяйте Спасибо Дмитрий! За 15 секунд переработал массив на 130 тыс. строк! Конечно, интересно разобраться как он работает чтобы никого не беспокоить при разработке макросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 01:50 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
SirFisherДобрый день На днях решал задачу по удалению повторяющихся строк на листе Excel. Нужно было оставить последнюю строку и удалить все предыдущие дубли. В прищепке файл с рабочим макросом. Для массива в несколько тысяч строк он, конечно, быстрый, но у меня массивы превышают 150 тыс. строк и обработка их в течение 12-15 часов, на мой взгляд, чрезмерно продолжительна. Вопрос к знатокам - можно ли ускорить его работу?Раз у вас 150 тысяч строк, значит у вас как минимум Excel 2007. А в Excel 2007 есть такая фишка "Удалить дубликаты" во вкладке "Данные". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 16:09 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
SirFisherR DmitrySirFisher, файл сохраните на физический диск (из Temp может не работать) проверяйте Спасибо Дмитрий! За 15 секунд переработал массив на 130 тыс. строк! Конечно, интересно разобраться как он работает чтобы никого не беспокоить при разработке макросов.просто sql-запрос книги excel к самой себе. такое можно встроенными способами сделать ручками. просто в данном случае вам дали красивый и универсальный код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2011, 17:25 |
|
||
|
Удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Djon PlayerРаз у вас 150 тысяч строк, значит у вас как минимум Excel 2007. А в Excel 2007 есть такая фишка "Удалить дубликаты" во вкладке "Данные". Спасибо, мне знакома эта операция в excel. Но она не выполняет задачу в той форме, которая мне нужна. Но, за участие в беседе - спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2011, 15:08 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37419245&tid=2176482]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 449ms |

| 0 / 0 |
