Я прикрепляю тестовый файл с 2 вариантами макросов и результатом работы формул для сравнения. Однако всеравно, что макросы что формулы не выполняют 100% необходимую задачу. По мере поиска решений, буду размещать их сюда.
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Найти в таблице дубли данных физических лиц и копировать их на новый лист
13.02.2021 14:20:59
Проверил все предложенные способы на небольшом массиве, если ориентироваться по ранее полученным результатам с использованием формул, самый точный т.е идентичный формулам при этом намного быстрее их работающий, макрос написанный
Вариант предложенный Вариант предложенный Вам всем огромное спасибо за оказанную мне помощь!!! |
|
|
Найти в таблице дубли данных физических лиц и копировать их на новый лист
12.02.2021 20:41:43
Сейчас попробую в скаченную форму Duples свои данные подставить и запустить, подправил в ней в модуле Macro только диапазон = Range("A2:J247308")
Как давлю кнопку выполнить макрос, зависает Excel, показывает нагрузка на процессор 15%. Могу оставить так на часок, может оживет?
Изменено: |
|
|
Найти в таблице дубли данных физических лиц и копировать их на новый лист
12.02.2021 20:40:34
Jack Famous, не как не могу запустить макрос, немного подкорректировал
= Range("A2:J247308").Value (вместо = Range("A2:J25").Value) изменил столбцы как в моей таблице не тестовой: colKey = 2 ' номер столбца с идентификатором colF = 6 ' фамилия colI = 7 ' имя colO = 8 ' отчество colDate = 9 ' ДР Желтым подсвечивается Sub FindDuples() название макроса и ошибка. |
|
|
Найти в таблице дубли данных физических лиц и копировать их на новый лист
12.02.2021 17:05:47
Jack Famous, обязательно, сегодня вечером сделаю и отпишусь, как раз файл есть 247 308 строк.
|
|
|
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Найти в таблице дубли данных физических лиц и копировать их на новый лист
12.02.2021 09:27:50
Alex T., Попробовал Ваш вариант, просчет идет до 25 строки, столько же строк было в тестовом файле, к сожалению не нашел в макросе, что подправить, чтобы он прошел до конца.
Антон, Сам код не понял если честно как применить отдельно, так как приложенный Вами тестовый файл ругается, что браузер нужен старее чем у меня установлен. Поэтому протестировать не смог. В любом случае Ваше внимание к моей проблеме, Вы все мне помогли, огромное Вам всем спасибо. |
|
|
Найти в таблице дубли данных физических лиц и копировать их на новый лист
12.02.2021 07:37:50
|
|||||
|
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Найти в таблице дубли данных физических лиц и копировать их на новый лист
11.02.2021 19:30:10
New, в общем использовал для теста небольшой массив данных, 42 713 строк (427 222 заполненные ячейки) сначала протестировал формулами:
=СЧЁТЕСЛИМН(D:D;D4;E:E;E4;F:F;F4;G:G;G4) - 2 минуты; = СЧЁТЕСЛИ(C:C;C4) - чуть больше 1 минуты; =I4=J4 меньше минуты (одним словом 4 - 5 минут) определил все дубли (294 штуки). Во время работы процессор I7 3770 - нагрузка в основном 100% На счет макроса, убрал лишние колонки массив данных получился 42 713 строк (но 341 757 заполненные ячейки) запустил 18:25, недожался окончания, сам принудительно остановил 18:59 - длительность 34 минуты. Нагрузка на процессор была от 15 до 26%. Большой массив на который уходит формулами до 2,5-3,5 часов, думаю при таком предварительном сравнении, затянется как минимум в 3-4 раза дольше. Я в любом случае протестирую работу макроса до конца напишу за сколько он по времени завершил и отличались ли результаты. А вообще, его можно как то ускорить? И если возможно, смогли бы также подправить диапазон, чтобы не удалять лишние столбцы таблицы. ячейка В (или 2) - Идентификатор физ/лица (вместо С (или 3) как раньше) ячейки F,G,H,I (или 6,7,8,9) - Фамилия, Имя, Отчество, Рождение. (вместо D,E,F,G или 4,5,6,7) копируем на новый лист - диапазон от А по J (или 1 по 10). |
|
|
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Макрос для поиска текста по заданному диапазону с подсветкой несоответствующей ячейки (критерию)
Найти в таблице дубли данных физических лиц и копировать их на новый лист
Макрос для поиска текста по заданному диапазону с подсветкой несоответствующей ячейки (критерию)
Макрос для поиска текста по заданному диапазону с подсветкой несоответствующей ячейки (критерию)
Макрос для поиска и подсветки ячеек в таблице из заданного диапазона (состоящего из нескольких составляющих)
Макрос для поиска и подсветки ячеек в таблице из заданного диапазона (состоящего из нескольких составляющих)
Как исключить подсчет отдельных пустых ячеек (по критерию) из проверяемого диапазона
Как исключить подсчет отдельных пустых ячеек (по критерию) из проверяемого диапазона
Авторасчет расстояния между двумя пунктами
Определить количество пустых и заполненных датами ячеек по одному человеку
03.01.2021 19:24:33
Проверил работу формулы на большом массиве данных, в результате выявлен следующий недочет:
1. Формула сравнивает ячейки диапазона (А) со всеми пустыми ячейками (B) и присваивает им значение 0, даже тем, где (дата) в ячейке (А) позже (даты) ячейки (B) не как не получается сделать так, чтобы такие ячейки столбца(А) отображались в виде 1. В приобщенном тестовом файле, я все описал подробнее работу формулы на против каждой строки, реальный результат и ожидаемый.
Изменено: |
|||
|
Определить количество пустых и заполненных датами ячеек по одному человеку
Определить количество пустых и заполненных датами ячеек по одному человеку
Определить количество пустых и заполненных датами ячеек по одному человеку
Определить количество пустых и заполненных датами ячеек по одному человеку
Определить количество пустых и заполненных датами ячеек по одному человеку