Страницы: 1
RSS
Подбор цены под фиксированную сумму заказа
 
Добрый день!
Прошу помочь в решении данной задачи:
есть некая фиксированная сумма заказа. Заказ состоит из нескольких позиций, по каждой позиции есть начальная цена, количество в штуках, количество в килограммах.
И есть поле Наценка, изменяя которую мы получаем конечную цену за 1 штуку и за 1 кг. Наценку надо изменять в пределах от 1 до 2, и так чтобы:
1.  расчетная сумма по заказу стала равна фиксированной сумме заказа
2. конечная цена за 1штуку и за 1 килограмм были не больше чем с двумя знаками после запятой

прикладываю реальные данные, и пример с простыми числами, в котором с помощью подбора задача решена.
Пыталась решать с помощью Поиска Решения- но не получается. может быть можно как то элегантно с помощью макроса?
 
на 2010-м все работает.
Изменено: TheBestOfTheBest - 22.05.2015 12:57:00
Неизлечимых болезней нет, есть неизлечимые люди.
 
макросом добавлять по очереди к каждой конечной цене по 1коп, пока не установится соответствие
Живи и дай жить..
 
Цитата
TheBestOfTheBest написал: все работает
что именно?
просто любопытно.
 
Поиск решения.
Неизлечимых болезней нет, есть неизлечимые люди.
 
то есть вы считаете, что если попадется уравнение, результатом которого будет пустое множество, поиск решения способен его решить?
 
Хм, а у меня на работе 2007 :(
Под 2007 никак не переделать?
 
Попробуйте.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Спасибо, я уже пробовал - эта задача полностью не решаема, данный пример да, а вообще нет.
 
Ну правильно, решение представлено для тех данных, которые были представлены.
Неизлечимых болезней нет, есть неизлечимые люди.
 
На листе вверху, строки со 2 по 12- реальные данные, для них и необходимо найти решение.
а внизу просто пример с простыми числами, который приложила для наглядность что есть и что нужно получить.
 
а что обязательно 2 цифры после запятой и для штук и для килограмм?
Живи и дай жить..
 
Слэн, обязательно. Мы не можем  клиенту выставлять цены больше двух знаков после запятой. А если после расчета цену округлять, то после умножения её на количество будет получаться другая сумма по заказу, отличная от фиксированной. А надо чтобы при умножении штук на цену и килограмм на цену получалось одинаковое число- фиксированная сумма по заказу.
 
хм  это сложнее, решения может и не быть
Живи и дай жить..
 
Ну в каких то случаях может и не быть. Но конкретно в моем- оно было, вручную смогли подобрать. Но вручную- очень много времени уходит. А так как задача регулярная, хотелось бы как-то автоматизировать.
 
нет, не получается..
без ограничения на килограммы вот: выполните единственный макрос - alt+F8 - enter
Живи и дай жить..
 
вот некий прорыв, правда не до конца  - точность в несколько рублей... можно, наверное, еще чуть улучшить, но  в ноль свести при таких ограничениях - это врятли( я говорю об общем случае, в каких то вариантах , возможно, и получится)
Живи и дай жить..
 
разница в 9коп:
Живи и дай жить..
 
вот так всего одна копейка
Живи и дай жить..
 
Коллеги проверьте у меня у одного работает поиск решения?
Не округлил только для товара5.
Неизлечимых болезней нет, есть неизлечимые люди.
 
Слэн, очень круто! Спасибо большое!

TheBestOfTheBest, Ваш вариант с поиском решения у меня не работает :(
 
вот вариант с задаваемой точностью или нахождением наилучшей точности больше заданной
Живи и дай жить..
 
Слэн, красиво! Вы молодец!

а если у меня будет меняться количество позиций, не 6, а 4 к примеру, или 8.
можно как то адаптировать макрос под это или каждый раз придется в код вносить изменения?
 
сейчас макрос настроен на ту структуру данных, кот вы показали в файле( по столбцам)
количество позиций не играет роли, если они идут единым массивом, без пустых строк, сразу за шапкой таблицы, которой присвоено имя(см диспетчер имен)
Живи и дай жить..
Страницы: 1
Наверх