Создана программа для MS Excel версий 2010 и моложе.
Обращайтесь и Вам сделаю, с учётом Ваших пожеланий.
=== ТЗ ===
Вступление
У нас есть прайс, который мы загружаем на сайт. Назовем его «Совместный прайс». Нужно сравнить его с двумя другими прайсами (не сразу, а по отдельности), двух наших поставщиков. Назовем их прайсы «Прайс Эквипа» и «Прайс Русского проекта». У Русского проекта есть еще отдельный мини прайс для Санкт-Петербурга. Назовем его «Мини прайс Русского проекта СПБ». В нем можно узнать только наличие некоторых позиций.
Выбор поставщика
Основным поставщиком каждой позиции может быть только один. Он обозначен в «Совместном прайсе» в столбце «Основной поставщик»:
Если основной поставщик – Эквип, то эту позицию мы сравниваем с позициями из «Прайса Эквипа», а остальные пропускаем, если основной поставщик – Русский проект, то эту позицию мы сравниваем с позициями из «Прайса Русского проекта» и «Мини прайса Русского проекта СПБ», а остальные пропускаем.
1. Алгоритм сравнения «Совместного прайса» с «Прайсом Эквип»
Сравниваем только те позиции, у которых в столбце «Основной поставщик» стоит значение «Эквип». Остальные игнорируем.
Поиск идентичных позиций будет производится по столбцу «Артикул поставщика» в «Совместном прайсе» и «АРТИКУЛ» в «Прайсе Эквип». Если значения в ячейках этих столбцов совпадает, то это означает, что это один и тот же продукт и надо обновить данные.
Первое, что обновляется – это цена. Алгоритм следующий:
Значение из столбца «ДИЛЕР РУБ» в «Прайсе Эквип» переносится в столбец «Закупочная цена» в «Совместном прайсе»:
Далее обновляется количество. Алгоритм следующий:
Значение из столбца «НА СКЛАДЕ МСК» в «Прайсе Эквип» переносится в столбец «Кол-во МСК» в «Совместном прайсе», а значение из столбца «НА СКЛАДЕ СПБ» в «Прайсе Эквип» переносится в столбец «Кол-во СПБ» в «Совместном прайсе»:
Далее обновляется срок поставки под заказ. Алгоритм следующий:
Значение из столбца «СРОК ПОСТАВКИ ПОД ЗАКАЗ ДНЕЙ» в «Прайсе Эквип» переносится в столбец «Срок поставки под заказ» в «Совместном прайсе». Причем
численное значение так и переноситься без изменений,
значение «не возим» из столбца «СРОК ПОСТАВКИ ПОД ЗАКАЗ ДНЕЙ» в «Прайсе Эквип» переносится в столбец «Срок поставки под заказ» в «Совместном прайсе» со значением «поставка невозможна»
значение «уточняйте» из столбца «СРОК ПОСТАВКИ ПОД ЗАКАЗ ДНЕЙ» в «Прайсе Эквип» переносится в столбец «Срок поставки под заказ» в «Совместном прайсе» со значением «требуется уточнение у менеджера»
Далее обновляется дата ближайшей поставки. Алгоритм следующий:
Значение из столбца «БЛИЖАЙШАЯ ПОСТАВКА» в «Прайсе Эквип» переносится в столбец «Дата ближайшей поставки» в «Совместном прайсе». Если ячейка в столбце «БЛИЖАЙШАЯ ПОСТАВКА» в «Прайсе Эквип» - пустая, то и в столбец «Дата ближайшей поставки» в «Совместном прайсе» тоже должно быть пусто. Если ячейка в столбце «БЛИЖАЙШАЯ ПОСТАВКА» в «Прайсе Эквип» - дата, то и в столбец «Дата ближайшей поставки» в «Совместном прайсе» тоже должна стоять эта дата.
Следующий этап – это выделение позиций, которые уже поставщик перестал возить. Алгоритм следующий: Если в столбце «Основной поставщик» стоит значение «Эквип», а в столбце «Артикул поставщика» в «Совместном прайсе» стоит значение, которого нет в столбце «АРТИКУЛ» в «Прайсе Эквип», то строка данного товара выделяется красным цветом для дальнейшей обработки менеджером и возможным удалением.
Заключительный этап – это выделение новых позиций в «Прайсе Эквип», которые еще не были добавлены в «Совместный прайс». Если в столбце «АРТИКУЛ» в «Прайсе Эквип» стоит значение, которого нет в столбце «Артикул поставщика» в «Совместном прайсе», то строка данного товара выделяется зеленым цветом для дальнейшей обработки менеджером и возможным добавлением в «Совместный прайс».
2. Алгоритм сравнения «Совместного прайса» с «Прайсом Русского проекта»
Сравниваем только те позиции, у которых в столбце «Основной поставщик» стоит значение «Русский проект». Остальные игнорируем.
Поиск идентичных позиций будет производится по столбцу «Артикул поставщика» в «Совместном прайсе» и «КОД» в «Прайсе Русского проекта». Если значения в ячейках этих столбцов совпадает, то это означает, что это один и тот же продукт и надо обновить данные:
Первое, что обновляется – это цена. Алгоритм следующий:
Значение из столбца «ЦЕНА» в «Прайсе Русского проекта» переносится в столбец «Закупочная цена» в «Совместном прайсе», а значение из столбца «ВАЛЮТА» в «Прайсе Русского проекта» переносится в столбец «Валюта» в «Совместном прайсе»:
Далее обновляется количество. Алгоритм следующий:
Значение из столбца «ЗАКУПКИ» в «Прайсе Русского проекта» переносится в столбец «Кол-во МСК» в «Совместном прайсе». Причем
значение «под заказ» из столбца «ЗАКУПКИ» в «Прайсе Русского проекта» переносится в столбец «Кол-во МСК» в «Совместном прайсе» со значением «0»
значение «на складе» из столбца «ЗАКУПКИ» в «Прайсе Русского проекта» переносится в столбец «Кол-во МСК» в «Совместном прайсе» со значением «1»
Следующий этап – это выделение позиций, которые уже поставщик перестал возить. Алгоритм следующий: Если в столбце «Основной поставщик» стоит значение «Русский проект», а в столбце «Артикул поставщика» в «Совместном прайсе» стоит значение, которого нет в столбце «КОД» в «Прайсе Русского проекта», то строка данного товара выделяется красным цветом для дальнейшей обработки менеджером и возможным удалением.
Следующий этап – это выделение новых позиций в «Прайсе Русского проекта», которые еще не были добавлены в «Совместный прайс». Если в столбце «КОД» в «Прайсе Русского проекта» стоит значение, которого нет в столбце «Артикул поставщика» в «Совместном прайсе», то строка данного товара выделяется зеленым цветом для дальнейшей обработки менеджером и возможным добавлением в «Совместный прайс».
3. Алгоритм сравнения «Совместного прайса» с «Мини прайсом Русского проекта СПБ»
Сравниваем только те позиции, у которых в столбце «Основной поставщик» стоит значение «Русский проект». Остальные игнорируем.
Поиск идентичных позиций будет производится по столбцу «Артикул поставщика» в «Совместном прайсе» и «Код» в «Мини прайсе Русского проекта СПБ». Если значения в ячейках этих столбцов совпадает, то это означает, что это один и тот же продукт и надо обновить данные:
Работа с «Мини прайсом Русского проекта СПБ» заключается только в обновлении количества товара на складе в СПб.
Значение из столбца «ПР_наличие» в «Мини прайсе Русского проекта СПб» переносится в столбец «Кол-во СПб» в «Совместном прайсе». Причем
значение «есть» из столбца «ПР_наличие» в «Мини прайсе Русского проекта СПб» переносится в столбец «Кол-во СПб» в «Совместном прайсе» со значением «1»
значение «уточняйте у менеджера» из столбца «ПР_наличие» в «Мини прайсе Русского проекта СПб» переносится в столбец «Кол-во СПб» в «Совместном прайсе» со значением «0»
Важно!!!! Если в столбце «Основной поставщик» стоит значение «Русский проект», а в столбце «Артикул поставщика» в «Совместном прайсе» стоит значение, которого нет в столбце «Код» в «Мини прайсе Русского проекта СПб», то в столбце «Кол-во СПб» в «Совместном прайсе» устанавливается «0».