Страницы: 1
RSS
Написание макроса согласно ТЗ, Необходимо сделать макрос сопоставления по Тз
 
Есть книга для парсера данных.

Определение:
Контрольный лист - первый лист в книге с которым происходит сравнение всех последующих листов и после в него добавляются данные.
Сверяемый лист- любой последующий лист после контрольного, используемый для сравнения с контрольным и подстановки данных в контрольный

В ней лежит 3 листа (Листов может быть больше)
Необходимо сопоставить все ячейки в столбце A (name) 1 листа (контрольного листа) (Uggsonline) с всеми ячейками в столбце A (name) 2 (Uggi.ru) и 3 (Uggsofficial.ru) листами, и также со всеми последующими, если они имеются.
Макрос должен уметь сопоставлять поля name со всеми новыми листами в книге.

Если ячейки в столбце A (Контрольного листа) и A (Сверяемого листа) (их имена) совпадают более чем на 70%,
То переместить данные из совпадающих строк столбцов A и B в Первый лист в ту же строку где выявлено совпадение в свободные столбцы к примеру C и D и так далее (E, F; G,H;).  http://take.ms/07Oo5

Пример, обработчик берёт сверяемый лист Uggi.ru и ищет совпадение всех его строк в поле name с 1 строкой первого (контрольного листа), и так далее.
После удаляет совпадающие найденные строки name и URL из листа который сравнивался и вставляет их в первый лист в ту же строку только рядом.

Строки в последующих листах не нашедшие совпадения с контрольным листом пометить светло-красным цветом.

Если есть вопросы или что-то не ясно, спрашивайте. Просьба указывать цену макроса.

UPD: Ниже приложил файл, C и D столбцы заняты.
Изменено: alexex - 09.10.2018 16:13:16
 
Столбцы C и D не трогать, прикладываю файл
Изменено: alexex - 09.10.2018 14:24:38
 
Цитата
alexex написал:
Если столбцы A (Контрольного листа) и A (Сверяемого листа) (их имена) совпадают более чем на 70%,
Что именно вы имели ввиду столбцы или ячейку и как понять 70%, как они определяются?
Желательно указать бюджет и срок, так как все же нужно вникнуть в суть Вашего ТЗ, потому как сразу непонятно (и стоит ли оно того).
Бюджет 400 рублей.
Не претендую.
Изменено: skais675 - 09.10.2018 16:18:20
 
Под 70% имеется ввиду символьное совпадение контрольной ячейки с ячейками сверяемого листа, алгоритм должен считать кол-во символов из контрольной ячейки и брать их за 100% потом сверять с другими листами, насколько совпадает. Основная задача идентифицировать одинаковые товары на разных сайтах по полю name и потом мы уже скормим эту инфу парсеру.
 
skais675, Какой Ваш бюджет? 70% от 100%(Контрольной ячейки) Как посчитать? по кол-ву символов полагаю
 
Ответил в лс по цене.
Пока не претендую.
Изменено: skais675 - 09.10.2018 16:59:39
 
берем 2 фразы:
1) Аккумуляторная дрель-шуруповерт Bosch PSR 1200
2) Bosch PSR 1200

как Вы думаете тут речь об одном и том  же инструменте?
а знаете каков % совпадений символов? (30.4%)

(не претендую на данное предложение)
Изменено: Ігор Гончаренко - 09.10.2018 19:02:44
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Несколько раз выполнял подобные задания.
1. Посимвольный разбор не вариант, ибо будет работать очень медленно, буквально, несколько сот строк в минуту. Нужно работать словами.
2. Встречается большое количество грамматических ошибок, подмена похожих английских символов типа "с", "р" и прочее. Сокращения и аббревиатуры. Компьютер воспринимает это, естественно, как несовпадение
3. Знаки препинания и прочие вспомогательные типа "-", "\", "/", тоже проблема.
4. Прежде чем сравнивать строки нужно привести к единообразному виду, исключить знаки препинания, все символы в один регистр.

Плюс такой пример (как выше)
"Дрель-шуруповерт BOSCH PSR 12 В" и "Дрель-шуруповерт BOSCH PSR 14,4 В".  Несовпадение 3 символа, но это разные шуруповерты.

Такая программа в 400р не уложится. Как минимум на порядок выше.
Изменено: Joiner - 09.10.2018 20:05:35
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Ігор Гончаренко, Joiner, Ваши примеры убедительны, предлагайте Ваше решение, но макрос по итогу должен определять одинаковые товары с разных сайтов по названию.
Какой бюджет пишите, я согласую.  
 
alexex, я не предлагаю свои услуги.
1. Я пока занят другим заказом.
2. В том виде как Вы заказываете, ИМХО, сделать невозможно на 100%. Часть совпадений не найдет, часть, наоборот, определит совпадение, которое не подходит.

Делал так. Изначально программа обрабатывала список и составляла другой список, где для каждой позиции подбирались несколько строк с максимальным сходством. Если совпадение 100%, то, естественно, принималось как совпадение. Потом уже пользователь с помощью специального макроса проходил по этому списку и выбирал подходящее или отказывался. То что выбиралось - записывается в специальный словарь, тогда при следующем запуске программы, строка сначала проверяется по словарю и тогда вмешательство пользователя уже не требуется. Со временем словарь пополняется и требуется все меньше и меньше работы для проверки. Дополнительно подключается словарь с ошибками (обычно от одного поставщика одни и те же ошибки) и словарь сокращений и аббревиатур, если нужны.

Если такой вариант решения устроит, то можем пока обсудить сроки и стоимость, решение попозже.
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Joiner, понял идею, норм. То что на 100% не совпадёт это ясно.
 
Отписал в личку. Что-то тишина.
Никому не отвечай, кoгда ты зол, ничего не обeщай, когда ты счастлив, никогда нe решай, когда ты грустeн.
 
Offtop
Цитата
Joiner написал:
Что-то тишина.
Коллега, а вы хотели, чтобы после
Цитата
skais675 написал:
Бюджет 400 рублей.
ТС согласился бы на
Цитата
Joiner написал:
Как минимум на порядок выше.
Страницы: 1
Наверх