|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.06.2011, 23:08 | #1 |
Регистрация: 03.06.2011
Сообщений: 6
|
Выборка данных
Добрый день!
Задача: есть данные в Лист 1 и данные в Лист 2, необходимо сравнить их и отсеить дубликаты. И в Листе 3 отразить лишь данные ячеек, которые не идентичны с дубликатами в Листе1 и Листе2. Лист 1(86,88,99,93,87,94) Лист 2(89,94,97,86,77,78) Лист 3(88,99,93,87,89,97,77,78) |
03.06.2011, 23:19 | #2 |
Участник клуба
Регистрация: 16.05.2010
Сообщений: 1,249
|
Мне файлы переводить жалко. Свой дадите?
|
03.06.2011, 23:32 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Очень родственная задача - можно брать макросы и чуть переделать под эту задачу:
http://www.planetaexcel.ru/forum.php?thread_id=27042
webmoney: E265281470651 Z422237915069 R418926282008
|
03.06.2011, 23:39 | #4 |
Регистрация: 03.06.2011
Сообщений: 6
|
конечно
|
04.06.2011, 00:10 | #5 |
Участник клуба
Регистрация: 16.05.2010
Сообщений: 1,249
|
Раз уж назвался груздем...
|
04.06.2011, 11:06 | #6 |
Регистрация: 03.06.2011
Сообщений: 6
|
Большое спасибо, за ответы, я тогда попробую все варианты отбора
|
04.06.2011, 16:35 | #7 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вот, скомпоновал из двух макросов Николая по ссылке выше.
В примере запускается по кнопке. Результат не сортирован, можно в принципе кодом массив отсортировать, или после выгрузки уже на листе. Это если нужно. Алгоритм такой - 1.Берём один диапазон в массив, перекладываем всё в словарь. 2.Берём в массив второй диапазон (перезаписываем в этот же массив, заменяя уже ненужное содержимое). 3.Создаём пустой массив rez для результатов - по длине как сумма этих двух массивов, чтоб хватило места в любом случае. 3.Перебором массива x сверяем со словарём - если такого элемента в словаре нет, то пишем в массив результатов, если есть - то удаляем из словаря (тут узкое место - повторов в x быть не должно, иначе нужно доработать код). 4.Перебором словаря дописываем в rez оставшиеся в словаре данные. 5.Выгружаем результат. P.S. Лучше такой вариант (http://www.programmersforum.ru/attac...d=1307206034): Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 04.06.2011 в 20:50. |
05.06.2011, 23:34 | #8 |
Регистрация: 03.06.2011
Сообщений: 6
|
Большое спасибо, за код
Я единственное, написала пример некорректный. Вообще в строках еще значения всякие, а выборка проходит лишь по нескольким столбцам. Я в данный код пробовала добавить остальные столбцы, необязательно, что значения в них совпадают со значениями в других Листах , то есть остальная информация в строках, а выскакивает ошибка. |
06.06.2011, 09:30 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Вот, сколько раз говорили - давайте реальное расположение данных. Если бы сразу было всё ясно, код возможно был бы другой, ну а теперь приходится так выкручиваться (если колонок много, то немного муторно в код добавлять их обработку):
Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 06.06.2011 в 10:03. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ВЫБОРКА ДАННЫХ | Айвенго | Microsoft Office Access | 0 | 14.02.2011 10:04 |
Выборка данных в БД (ADO) | Makoto2005 | БД в Delphi | 0 | 01.06.2010 13:38 |
Выборка данных | segail | Microsoft Office Excel | 4 | 08.02.2010 16:37 |
Выборка из базы данных | fygas1991 | PHP | 3 | 07.12.2009 23:54 |
Выборка данных | ADRENALIN86 | Microsoft Office Excel | 1 | 13.08.2009 15:51 |