Сравнение прайслистов Excel. Опознание товаров.

Константин9 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
20.03.2017

Здравствуйте!

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

Видео с ТЗ

В приложении 4 файла: (тестовые прайсы)-2шт, БД идентификаторов для опознания товара и файл с конечным результатом - что я хочу получить после обработки.

В левом столбце прайса название товара-с ним и будем работать. Как видите в разных прайсах название товара отличается. Кто-то использует точки, пробелы, сокращения и т.д. Нужно чтобы программа анализировала строки с названием товара и на основании БД приводила их к стандартному виду(как в файле с готовым результатом). Пользоваться программа должна базой данных идентификаторов, которые я буду пополнять и корректировать в процессе работы. Сейчас БД сделана только для одного товара(для примера).

Пример. В файле 1 рассмотрим строку 6, в файле 2 строку 8. Это один и тот же товар у разных поставщиков. Его нужно опознать. Из названия товара нужно вытащить:

  • Название бренда
  • Название продукта
  • Размер/объем/вес продукта
  • Вкус продукта
  • Цену поставщика
Как я вижу алгоритм работы(возможно вы предложите более быстрое решение).

Название товара разбивается на слова (разделитель пробел). Каждое из слов прогоняется по БД 1-4. Т.е. в базе данных на листе "Бренд", будет указано слово "BSN". Макрос анализирует все слова из названия, и если находит "BSN", то опознаёт бренд. Далее макрос работает с оставшимися словами из названия и оставшимися БД (2-4). Находит "Amino-X" и опознаёт в этом слове название продукта и т.д. После полного разбора названия на необходимые для идентификации параметры нужно в готовом файле указать стоимость товара из каждого прайса.

В нашем примере всего два прайса, а в реальной работе их может быть 5-10. Каждый прайс индивидуален, т.е. столбец с названием и искомой ценой у каждого свой. Также могут быть и вложенные листы. В макросе я должен буду это указывать самостоятельно.

Искать всё, в том числе и сочетания. Например есть названия вкуса, состоящее из двух слов. В базе данных будет сочетание "Blue Raz", но не будет отдельно "Blue" и "Raz".

Наверное имеет смысл применить условие. Если в названии осталось слова более 3 букв и для товара не найден один из 4-х необходимых параметров, то оставшиеся слова нужно сочетать между собой по порядку: первое со вторым. если нет, то второе с третьим и т.д.

Все неопознанные строки с товарами(в каждом прайсе) нужно будет подсветить. На основе этой подсветки я буду вносить дополнения в базу данных, чтобы она могла опознавать эти товары.

Заявки фрилансеров