Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Gamtol
0 / 0 / 0
Регистрация: 10.10.2019
Сообщений: 4
1

Сравнение столбцов в двумерном массиве

10.10.2019, 12:20. Просмотров 178. Ответов 7
Метки нет (Все метки)

Добрый день!

Столкнулся с проблемой: Есть два файла, в каждом по 5 столбцов и по несколько тысяч строк (иногда ближе к миллиону).
Необходимо удалить дубликаты (т.е. равные значения из столбца "В" в первом фале и из столбца "С" во втором).
В итоге будут два файла без совпадающих значений.
Макрос я написал, но проблема в том, что строк очень много и обычными силами, с переключением между книгами макрос выполняется пару часов.
Пробовал загонять в массив, но в массиве нельзя удалить строку не использовав доп. массивы.
Короче у меня закончились силы и идеи.
Помогите, пожалуйста.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2019, 12:20
Ответы с готовыми решениями:

Количество столбцов и строк в двумерном массиве
Нужно в цикле пройтись по неизвестному двумерному массиву. Как получить у него количество столбцов...

Можно ли изменить число столбцов в двумерном массиве
Задаю массив таким образом: arrSupplierPrice = .Range( _ ...

Найти сумму элементов на пересечении строк четной нумерации и столбцов нечетной нумерации в двумерном массиве
Здравствуйте. Помогите,пожалуйста,найти сумму элементов на пересечении строк четной нумерации и...

Алгоритм расчёта суммы и произведения элементов в одномерном массиве и двумерном массиве и его модификация
алгоритм расчёта суммы и произведения элементов в одномерном массиве и двумерном массиве и его...

Сравнение двух столбцов
Здравствуйте форумчане, подскажите как сделать сравнение следующим образом: В столбце А есть...

7
Burk
925 / 642 / 192
Регистрация: 11.07.2014
Сообщений: 2,305
10.10.2019, 13:16 2
Gamtol, это хорошо, что вам понятно чего вы хотите. Но нужно чтобы было понятно тем, к кому вы обращаетесь.
Эти два файла они состоят только из уникальных значений столбца В и второй С (по одному столбцу)? Или каждый из пяти столбцов с удалением строк, имеющих повторяющиеся значения В или С? И можно ли, при необходимости, сортировать данные? И хорошо бы иметь файл, можно и меньше миллиона строк.
0
Gamtol
0 / 0 / 0
Регистрация: 10.10.2019
Сообщений: 4
10.10.2019, 13:23  [ТС] 3
файлы выгружу чуть позже, пока нет возможности.
В самих столбцах значения не повторяются, уникальны.
С данными можно делать всё что угодно, главное удалить "пересечения из столбцов В и С".
0
Burk
925 / 642 / 192
Регистрация: 11.07.2014
Сообщений: 2,305
10.10.2019, 13:43 4
Цитата Сообщение от Gamtol Посмотреть сообщение
главное удалить "пересечения из столбцов В и С".
и опять непонятно что за пересечение, удалить из С значения столбца B? Пример из !0 строк: Страница - БЫЛО ТАК и СТАЛО Так
0
10.10.2019, 13:43
Gamtol
0 / 0 / 0
Регистрация: 10.10.2019
Сообщений: 4
11.10.2019, 07:34  [ТС] 5
Пример:
В столбце B в первом файле значения: 1 2 3 4 5 6 (и так несколько сотен тысяч).
В столбце C в массиве номер два значения: 1 8 4 9 10 3 (аналогично)

В итоге должен получится первый файл: 2 5 6 (и т.д.)
Второй файл аналогично первому без дублей: 8 9 10 (и т.д.)
0
Hugo121
6430 / 2492 / 446
Регистрация: 19.10.2012
Сообщений: 7,440
11.10.2019, 08:18 6
1. цикл по первому файлу - собираем все значения в первый словарь
2. цикл по второму файлу - собираем все значения в второй словарь
3. повторяем п. 1 и 2, но уже с проверкой по "чужому" словарю - по результату действуем (или отбор, или удаление).
0
Gamtol
0 / 0 / 0
Регистрация: 10.10.2019
Сообщений: 4
11.10.2019, 08:29  [ТС] 7
Логику действий я и так понимаю, в голове всё звучит красиво. А как это в коде изложить))?
0
Hugo121
6430 / 2492 / 446
Регистрация: 19.10.2012
Сообщений: 7,440
11.10.2019, 08:35 8
Мой код соответствует Вашему примеру
А в коде это всё уже тут на форуме (или на другом...) изложено, точно помню что когда-то лично писал. Сейчас писать ещё раз нет времени.
Но правда это подходит только для 99% машин на Виндовс - на Маках нет словарей, но встречаются редко и Виндовс без этого компонента.
Тогда выход - коллекции.
0
11.10.2019, 08:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2019, 08:35

Сравнение 2-х столбцов с датами
Необходимо написать макрос на MS VBA , который бы заполнил столбец Data 3 таким образом, чтобы...

Сравнение данных столбцов
на листе "Сводка" в столбце "А" номенклатуры товара, который есть в принципе. на листе "Foto" в...

Сравнение двух столбцов
Доброго всем дня. Нужна помощь. Необходимо написать программку, которая бы сравнивала значение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.