Программа автоматической обработки прайс-листов, их объединения и приведения к единому формату

Логотип надстройки Unification

Программа «Прайс лист», выполненная в виде надстройки для Excel, позволяет легко автоматизировать обработку прайс-листов.

Вспомните ситуацию: поставщики в очередной раз прислали свои прайс-листы в Excel — конечно, в совершенно разных форматах - и вам нужно объединить данные из всех этих файлов в одну таблицу. А составители этих таблиц будто специально хотели усложнить вам жизнь: один отправитель разбил ФИО на 3 разных столбца, другой указал цены в гривнах вперемешку с рублевыми, третий объединил в одном столбце наименование товара и его артикул, четвертый вынес названия категорий товара в отдельные строки. И вот смотрите вы на все эти файлы и понимаете, что, кроме как вручную, их не привести к единому виду.

Но на самом деле, выполнение таких сложных задач можно (и нужно) доверить нашей программе: потратив полчаса на её настройку, вы сможете полностью автоматизировать обработку разнотипных прайсов нажатием одной кнопки!

Что умеет программа

Главная функция программы — автоматическая обработка прайс-листов и, как следствие, приведение их к единому нужному вам формату одним нажатием кнопки.

В числе полезных функций программы вы также найдете:

  • Автоматизацию наценки по категориям
    Можно задать любые правила наценки на любую выборку товаров (например, на холодильники — наценка 10%, на всю косметику — 180 рублей на каждый товар, а на все товары дешевле 1000 руб. — 70%).
  • Обработку и фильтрацию данных
    Один столбец можно разбить на несколько отдельных, или сцепить данные разных столбцов в один.
  • Создание черных и белых списков
    Можно отсеить ненужные категории товара или взять только нужные.
  • Конвертацию валют
    Все валюты приводятся к единой. Курсы конвертации задаются в настройках.
  • Формирование категорий товаров по наименованиям
    Например, холодильники и чайники относим к бытовой технике, всё остальное помещаем в категорию “разное”, и т.д.
  • Автоматическую обработку прайсов со сложной структурой (много листов, данные расположены блоками и т.д.)

Настройка программы «Прайс-лист»

Вам потребуется один раз задать настройки для каждого типа обрабатываемого файла (из какого столбца что брать, в какой столбец итоговой таблицы вставлять, каким образом преобразовывать данные) — и в дальнейшем программа сама будет делать за вас всю работу.

Помощь в настройке программы под конкретные прайсы — платная, однако большинство клиентов справляются с настройкой самостоятельно.

Техническая информация

Системные требования

  • Компьютер под управлением Windows (XP, Vista, 7, 8, 10)
  • Приложение Microsoft Excel (версии 2003, 2007, 2010, 2013 или 2016)

Подробнее

Форматы файлов

Программа поддерживает следующие форматы входных файлов и результата:

  • файлы CSV
  • файлы Excel (XLS, XLSB, XLSM, XLSX, и т.п.)

Поддерживаются таблицы как линейной, так и иерархической структуры.
Подробнее

 

Справка по программе «Прайс лист»

Сейчас инструкции в стадии разработки. В ближайшее время будут добавлены ещё и видеоинструкция.

Как скачать и протестировать программу

Комментарии

Добрый день, Нравится программа

Есть проблема при обработке большого файла на 16000-17000 строк
у меня на 1307 строке заканчивается обработка и заполняется графа {данные} до конца.

Это не баг, это фича)
В программе специально реализована возможность вывода формул в итоговый файл (чтобы можно было выводить формулы типа =RC5*RC6 или =RC[-1]*1.25)
Соответственно, всё, что начинается со знака =, программой воспринимается как формула (в стиле R1C1)
Если формула некорректная (знак = попался случайно в начале ячейки), - то да, будет ошибка, - программа не сможет вывести массив данных на лист итогового файла.

Обнаружил БАГ. Если в прайсе текстовая ячейка начинается со знака РАВНО то на выходе в едином прайсе во всех записях ставится {данные}. Решается проблема удалением символа = в обработчике прайса.

Навскидку, - 3 варианта:

1) в обработчике прайс листа для поля «цена» заходим в функции обработки, и добавляем функцию «сравнение чисел»
ставим там параметр минимум=300
соответственно, все цены меньше 300 рублей затрутся
и там же, в обработчике прайса, для этого же поля «цена» ставим галочку «обязательное поле»

2) в обработчике прайс листа для поля «цена» ставим галочку «поле содержит стоимость товара», потом заходим на вкладку «стоимость», и включаем сложную наценку, в настройках которой будет одно правило:
если цена меньше 300, умножаем её на ноль.
ну и далее аналогично первому варианту, - для поля «цена» ставим галочку «обязательное поле»

3) в конфигурации вывода для поля «цена» добавляем таблицу замен, которая обнулит цены меньше 300 руб.
Для этого, ставим режим «точное совпадение», режим замены «ячейка целиком», ставим галочку «использовать подстановочные символы».
Потом добавляем в таблицу замен 3 правила: меняем # на пусто, меняем ## на пусто, меняем [1-2]## на пусто
Ну и, в завершении, ставим галочку «обязательное поле» (для поля «цена» в конфигурации вывода)

PS: Первые 2 варианта применяются к конкретному прайсу, а последний вариант — к сводному прайсу.

Подскажите как сделать следующее: Не загружать в единый прайс записи, где поле стоимость меньше 300 руб

Есть еще прайсы, где имя архива не уникальное, например "Price.rar", а содержащийся в архиве файл - уникальный ("Автосити.xls").
Если я выделю все архивы и выберу команду WinRar "Извлеч каждый файл в отдельную папку" то у меня создаться не уникальная папка "Price".
Получается такие файлы нужно извлекать индивидуально или в заранее созданные уникальные папки (Автосити\) или в общую папку с прайсами.
При этом их нужно еще вручную найти среди других архивов с прайсами.
И делать это нужно каждый раз. Неудобно.
В предложенном же мною варианте нам будет не важно где содержиться уникальное ключевое слово: в имени архива или в заархивированном файле так как имя будет формироваться из двух имен. Главное чтобы уникальное имя где-то было. Один раз настроил и забыл.

Эту опцию нужно добавлять не в обработчик прайса (как я писал в предыдущем сообщении) а вынести куда-то в общую настройку.
Если галочка стоит "Извлекать из архива" то при вызове операции массовой обработки прайсов, первым делом должна запуститься операция извлечения и переименования файлов.

Если создать в папке «Прайс листы» подпапку «Шинторг», — то можно будет вручную извлекать файл из архива в эту папку, не переименовывая его.
А в настройках обработчика задать маску имени файла Шинторг\*.xls*
Про возможность использования отдельных подпапок для разных поставщиков написано здесь:
http://excelvba.ru/programmes/Unification/AddFiles

Пожелание к доработке: в обработчике прайса хотелось бы иметь опцию автоматического извлечения из архива zip/rar.
Должны быть две галочки (может и больше):
1. Удалять файл архива после извлечения
2. (ВАЖНАЯ) Добавлять имя файла архива к извлекаемым файлам (в начало или в конец)

По 2 пункту: бывают поставщики, которые отсылают прайсы в архиве, где имя поставщика введено в наименование файла архива напр. "Шинторг.rar", а в самом же архиве файлы называются так "Прайс 2015_07.xls". Т.е. если просто извлекать файл из архива, то по имени файла не понятно к какому обработчику отнести это файл.
Маску ведь не задашь "Прайс*" ибо она скорее всего будет не уникальна. А имени "Шинторг_Прайс 2015_07.xls" задаем "Шинторг_*" и все ок.

В обработчмке прайс листа есть возможность переключиться в режим сбора данных с нескольких листов, - соответсвенно, там можно задать разные настройки для отдельных листов

Доброго дня!
Хотел воспользоваться вашим инструментом - но к сожалению не получилось - может что делаю не так!
У меня файл с различными вкладками - но поставщик по разному делает прайсы во вкладках, а создать несколько загрузчиков нельзя... Как быть?
После вашего ответа - смогу выслать прайс на вашу почту для ознакомления...

Вывести на разные листы, - такой возможности в программе нет
Но можно сделать несложный макрос под заказ, который раскидает итоговую таблицу по листам

Можно ли настроить обработчик таким образом, чтобы каждая позиция (например мотоциклы, машины) из разных прайс листов попадали в результирующий файл на листы с названием мотоциклы, машины соответственно?

Когда будет полноценная справка по программе?

Да, Вадим, всё верно.
по шипам - обычно всё просто (таблица замен из 3-4 строк, - вариантов написания шипов - немного)
сезонность - аналогично (где-то она в подзаголовке блока строк написана, где-то в названии листа, - программа это сможет взять. а таблица замен нужна, чтобы название сезона к единому виду привести, - например, заменить «летняя» на «лето»)

т.е. по сути надо один раз заполнить шаблон целиком, провести трудоемкую работу и он будет дальше работать по этому шаблону и обрабатывать любые прайсы. При появлении новых вариантов написания модели или производителя у нового поставщика, надо будет внести дополнения в шаблон.так?
Другие параметры, такие как сезонность, наличие шипов и т.п. настраиваются так же?

Здравствуйте, Вадим.
Производитель и модель выделяются при помощи таблиц замены.
Для производителей, - там таблица замен простая (50 строк вида «меняем Nokian на Nokian, совпадение ЧАСТИЧНОЕ, режим замены ЯЧЕЙКА ЦЕЛИКОМ»)
Для моделей, - таблица замен будет больше, около 2000 строк (это самое трудоемкое в настройке программы под вашу задачу)

Добрый день!
Не нашел в ветке ответ на вопрос.
Данная программа применительно к шинам и дискам, может из названия помимо параметров шин, выделять Производителя и модель?
Извиняюсь если ответ на этот вопрос уже был.

Это нужно для менеджера по закупкам. Есть ли возможность для поиска настроить и использовать фильтр таким образом? Например:
ввести запрос "барабан HP 1010" и прайс отберет все синонимы слову барабан плюс вторые два слова.

Здравствуйте, Антон.
Если делается для ручного поиска (например, менеджером) - то все решается сравнительно просто
Если же наименования (вместе с моделями) надо привести к единому виду (для импорта на сайт) - то всё намного сложнее (очень много работы по настройке)

Здравствуйте! Заинтересовался Вашей разработкой для прайсов. Есть такой вопрос:
В моей практике разные поставщики один и тотже товар называют по разному. Например
Барабан, фотобарабан, фотовал, драм - все это одно и тоже. я так понимаю эту задачу можно решить для более удобного поиска?

Добрый день.
Отличная программа. Но возникла некая трудность при работе с объединенными ячейками. Если, например, в исходном файле ячейки A2:A10 объединены и имеют общее значение - "Запчасти", то как сделать, чтобы в выводимом файле было девять строк со значением "Запчасти", а не одна?

Спасибо!!! Буду искать причину!!!

Здравствуйте, Василий.
Таблица заме тут ни при чём.

Навскидку могу назвать 2 вероятные причины проблемы:
1) в исходном файле в ячейках хранится значение без нулей, а отображается - с нулями.
Что хранится в ячейке, можно посмотреть в строке формул, выделив ячейку.
Моя программа считывает значение ячейки (то, что в строке формул), а не отображаемый текст

2) Не настроена конфигурация вывода (текстовый формат для этого поля)
И Excel, при выводе текст в ячейку, автоматом обрезает лишние нули.
Попробуйте вывести результат в формат CSV - в созданном файле увидите, есть нули, или нет
Если в CSV нули есть, а при выводе в XLS нулей нет, - значит, не настроен тип поля "текстовый"

Здравствуйте!!!
Скажите пожалуйста!!! Есть таблица в которой присутствуют числа с большим количеством символов и также есть числа которые начинаются с 0. При использовании функции таблица замен эти числа в итоговом файле отображаются не верно. Числа которые начинаются с 0 он этот 0 убирает, у длинных чисел он меняет их на 3.1234E+14. Как привести числа к тому виду как требуется!!!

Ок Второй вопрос.
Как запустить отдельно 1 обработчик?
Пример у меня в 1 папке 2 файла на него настроен 1 обработчик с обеднением в 1 файл.

Обработать настроенные прайс-листы не подходит он делает все обработчики. А нужно запустить 1

Виктор, так обработка и запускается нажатием одной кнопки (когда всё настроено)
В меню «Прайс-листы» есть пункт «Обработать все прайс-листы»
(если настроены не все прайсы, используйте кнопку «Обработать настроенные прайс-листы»)

Через BAT-файл обработку не запустить (но можно вместо BAT файла использовать VBS файл со скриптом)
Но не вижу в этом смысла, - не так уж и сложно раз в сутки нажать одну кнопку...

Вопрос: А можно запускать как-то обработку 1 кнопкаи или через bat фаил?

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


Максим, в программе нет такой возможности (создать файл из нескольких листов)
При обработке файла из нескольких листов, вы можете получить либо 1 файл, либо несколько отдельных файлов (по количеству листов)


Евгений, в настройках поля есть вкладка «формат и условия», - там можно настроить условие, что считывать данные только если в каком-то заданном столбце - пусто.
Но, для получения категории товара, лучше использовать привязку к цвету ячеек или уровню группировки строк
(настраивается там же)

Подскажите, пожалуйста, как брать название товара из строки, при условии, что эта строка не имеет цены

Добрый день.
Как сделать, чтобы результирующий файл тоже состоял из нескольких листов, в случае, если я обрабатываю несколько листов исходного прайса?