|
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 18
|
|
Сравнения двух книг и запись уникальных на новую07.05.2016, 19:01. Показов 1700. Ответов 30
Метки нет (Все метки)
Здравствуйте. Не пинайте если вопрос таков был я очень долго искал почти месяц не нашел.
есть две книги книга1.xlsx и книга2.xlsx в которых сдержаться данные в этих книгах нужно сравнит данные и вывести уникальные. В книгах такие данные. первая ячейка A1 содержит номер телефона, в ячейке B1 еще один номер, в ячейке С1 секунды. В книге2 такие же данные, но секунды могут быт на 1 больше или меньше. Нужно провести поиск и тоест сверит данные с книги 1 и если в книге два есть ети данные пропустит, а если нет сделать поиск заного но уже со второй строки тоест из a2 b2 c2. Мои действия: В новой книге сделал сцепку данных с книги A1 B1 C1 а рядом данные с книги 2 также. и написал поиско3(A1;b1:b300000;0) все работает но так как данныз 3000000 то данные расчитываются почти по 6 часов это очень медленно к меня комп I7 8 ядер. 6 г оперативка. Прилагая книгу в которой все готово формулу не растягиваю до конца в прилагаемом файле иначи у вас будет открыват долго если не зависит.
0
|
|
| 07.05.2016, 19:01 | |
|
Ответы с готовыми решениями:
30
Определить методы для сравнения двух книг по указанному параметру Сложное условие сравнения уникальных и неуникальных значений запись уникальных строк в ListBox |
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||
| 07.05.2016, 23:39 | ||
|
На больших реальных файлах посмотрите чтоб в массиве не оказалось лишних столбцов, а то может памяти не хватить. Но можно переписать, впрочем я уже говорил...
![]() Добавлено через 36 секунд
0
|
||
|
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 18
|
|
| 07.05.2016, 23:52 [ТС] | |
|
Ну в реальных файлах a num b num и sec находятся по столбцам K L M а до них и после них несколько столбцов. Ну это не критично я могу удалит все столбцы оставив только три если другие столбцы будут мешать) а они будут мешать значит?)
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 07.05.2016, 23:54 | |
|
Будут мешать - потому что я писал код для именно таких примеров, как Вы дали!
Можете не удалять столбцы - но тогда корректируйте код.
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 18
|
||||||
| 07.05.2016, 23:59 [ТС] | ||||||
|
Спасибо большое Вы мастер)))
в коде вроде только начала имени строк надо менят вот:
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 08.05.2016, 00:05 | |
|
Нет. Если перед столбцом K ещё будут данные - то они тоже попадут в currentregion, и значит в первом столбце массива будет совсем не то, что в столбце K!
Если данные будут правее - не помешает, но зря съест память. На больших файлах её кстати может не хватить. Тогда нужно переписать код - например использовать как в коде при выгрузке .Columns(x).Resize(, y)
0
|
|
|
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 18
|
|
| 08.05.2016, 00:09 [ТС] | |
|
ой, ну эти совсем не для моего мозга)) Я тогда этот код переписать не смогу вообще) мне легче будет удалит остальные данные оставив все на стольбце A B C
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||
| 08.05.2016, 00:10 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 18
|
|
| 08.05.2016, 00:16 [ТС] | |
|
Хорошо в любом случае спасибо)
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 08.05.2016, 00:30 | ||||||
Сообщение было отмечено Horun1992 как решение
Решение
Такой вариант может будет чуть быстрее, а может и нет.
Но тут можно легко подогнать массив под нужное место CurrentRegion'а
1
|
||||||
|
0 / 0 / 0
Регистрация: 18.07.2015
Сообщений: 18
|
|
| 08.05.2016, 00:44 [ТС] | |
|
.Resize(, 3) как я понял это для того чтобы от выбраного столбца только до 3 в массив брал?) Вы золотой человек спасибо большое)
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 08.05.2016, 00:55 | |
|
.Resize(, 3) - это от всего столбца "переразметиться" на три правее, т.е. указанный и ещё два.
Но это относительно не столбца листа, а столбца уже полученного диапазона CurrentRegion. Я часто использую такое - на паузе смотрю что выделится при например [E1].CurrentRegion.Select - сразу можно определить что лишнее, с какого столбца начинаются нужные данные.
1
|
|
| 08.05.2016, 00:55 | |
|
Помогаю со студенческими работами здесь
31
Вывод уникальных данных с двух таблиц Отбор уникальных данных из двух диапазонов Поиск уникальных элементов в массиве и запись в другой массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации:
В классе Работник добавить:
накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни
коэффициентПрезентеизма — снижает продуктивность. . .
|
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день.
Для работы необходим браузер,. . .
|
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности
Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано.
. . .
|