Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2011, 05:33   #1
Syldys
 
Регистрация: 13.07.2011
Сообщений: 7
По умолчанию Сравнить 2 листа по 3 столбцам

Здравствуйте, у меня проблема в том, что надо сравнить данные в 2 листах по 3 столбцам которые обеспечивают уникальность(можно сказать являются составным ключом) и выбрать те данные из первой таблицы которых нет во 2. Дополнительная сложность в том, что во 2 и в 3 столбцах разный набор данных (например во 2 таблице "2" это тоже самое что и в 1 "112" или 2012 это тоже самое что и 12.12.2012). Полная таблица на несколько тысяч строк поэтому вручную не представляется возможным выборка
P.S. не очень хорошо владею vba, поэтому не знаю такое вообще возможно сделать в нем
Вложения
Тип файла: zip пример.zip (7.1 Кб, 9 просмотров)
Syldys вне форума Ответить с цитированием
Старый 19.07.2011, 09:48   #2
Syldys
 
Регистрация: 13.07.2011
Сообщений: 7
По умолчанию

скажите такое реально выполнить на vba?
Syldys вне форума Ответить с цитированием
Старый 19.07.2011, 10:36   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Более чем реально.
Реальные данные находятся в этих же столбцах,шапки нет?.
Я не люблю переписывать макросы
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 19.07.2011, 10:46   #4
Syldys
 
Регистрация: 13.07.2011
Сообщений: 7
По умолчанию

нет, но смогу переделать, там столбцов больше сотни
Syldys вне форума Ответить с цитированием
Старый 19.07.2011, 10:47   #5
Syldys
 
Регистрация: 13.07.2011
Сообщений: 7
По умолчанию

мне бы понять сам принцип
Syldys вне форума Ответить с цитированием
Старый 19.07.2011, 12:47   #6
Syldys
 
Регистрация: 13.07.2011
Сообщений: 7
По умолчанию

да, данные находятся в этих столбцах
Syldys вне форума Ответить с цитированием
Старый 19.07.2011, 13:05   #7
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Как-то так, наверное. Сиреневой заливкой выделил данные, которых нет во 2-й таблице.
Вложения
Тип файла: zip ТриСтолбцапример.zip (19.3 Кб, 22 просмотров)
nilem вне форума Ответить с цитированием
Старый 19.07.2011, 13:48   #8
Syldys
 
Регистрация: 13.07.2011
Сообщений: 7
По умолчанию

Большое человеческое вам спасибо!!! Я удивлен скоростью с которой вы написали то, над чем я бился последние 5 дней)))) спасибо вам! еще и очень наглядно продемонстрировали работу)))))
Syldys вне форума Ответить с цитированием
Старый 19.07.2011, 19:30   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Я бы для надёжности всёж так собирал:
Код:
        s = x(i, 1) & "|" & x(i, 2) & "|" & x(i, 3)
...
        s = y(i, 1) & "|" & Right(y(i, 2), 1) & "|" & Year(y(i, 3))
Кто знает, что там в этой тысяче строк...

А принцип в коде Николая простой - собираем из одной таблицы уникальные сочетания из трёх столбцов в словарь, затем проверяем в словаре наличие таких же сочетаний из второй таблицы. Если не найдено - собираем такие в созданный с расчётом на максимум несовпадений массив.
В конце выгружаем заполненную верхушку этого массива на чистый лист.
Я бы делал точно так же - на массивах и словаре.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 19.07.2011 в 19:36.
Hugo121 вне форума Ответить с цитированием
Старый 20.07.2011, 16:28   #10
Syldys
 
Регистрация: 13.07.2011
Сообщений: 7
По умолчанию

а что изменит добавление "|" в s = x(i, 1) & "|" & x(i, 2) & "|" & x(i, 3)?
Syldys вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ссылка ячеек одного листа на ячейки другого листа n0str0m0 Microsoft Office Excel 10 31.12.2011 12:11
отображение данных первого листа, при активации ячейки второго листа Akmal-Sharipov Microsoft Office Excel 4 03.12.2010 14:48
Создание листа с одновременным созданием формулы на ячейку нового листа ShamanK Microsoft Office Excel 4 02.05.2010 22:00
скан по столбцам женя2010 Microsoft Office Excel 4 28.04.2010 18:02
Цикл по столбцам niqx Microsoft Office Excel 18 11.10.2008 07:39