Добрый день, коллеги. Вот рабочий файл. Пытался автоматизировать подбор скидки при помощи рекурсии. Медиаплан - это график размещения рекламы. Общий объем заказа до всех скидок и коэффициентов (брутто) является отправной точкой для размера скидки. Например, объем заказа 5 млн., скидка 45%. Но скидка дается не на брутто, а на объем ПОСЛЕ всех скидок и пр. Например, 5 000 000 - 45% = 2 750 000. Соответственно, скидка уменьшается, в данном случае до 30%. Считаем: 5 000 000 - 30% = 3 500 000. Теперь скидка считается уже от этой суммы, в данном случае это 35%. Считаем: 5 000 000 - 35% = 3 250 000. Вот это и есть искомая скидка, поскольку попадает в нужный диапазон: от 3 000 000 до 3 999 999. На вкладке "Не трогать" зеленым выделена формула с диапазоном. На второй вкладке красным выделен размер скидки, зеленым объем заказа нетто. х=z-y y=f(x) Где x - это объем заказа со скидкой (нетто), z - первоначальный объем заказа без скидки (брутто), y - скидка, являющаяся, в свою очередь, функцией от объема заказа со скидкой (x, т.е. нетто). Проще говоря, размер скидки на объём заказа вычисляется методом приближения после нескольких итераций. Пример я приводил выше. Цифры по диапазону вообще условны - вы можете установить любое соотношение объема заказа и скидки. Другое дело, что формула не работает! Точнее, выдает РАЗНЫЕ результаты при ОДИНАКОВЫХ исходных параметрах, что в принципе невозможно!
Добрый день, коллеги. Вот рабочий файл. Пытался автоматизировать подбор скидки при помощи рекурсии. Медиаплан - это график размещения рекламы. Общий объем заказа до всех скидок и коэффициентов (брутто) является отправной точкой для размера скидки. Например, объем заказа 5 млн., скидка 45%. Но скидка дается не на брутто, а на объем ПОСЛЕ всех скидок и пр. Например, 5 000 000 - 45% = 2 750 000. Соответственно, скидка уменьшается, в данном случае до 30%. Считаем: 5 000 000 - 30% = 3 500 000. Теперь скидка считается уже от этой суммы, в данном случае это 35%. Считаем: 5 000 000 - 35% = 3 250 000. Вот это и есть искомая скидка, поскольку попадает в нужный диапазон: от 3 000 000 до 3 999 999. На вкладке "Не трогать" зеленым выделена формула с диапазоном. На второй вкладке красным выделен размер скидки, зеленым объем заказа нетто. х=z-y y=f(x) Где x - это объем заказа со скидкой (нетто), z - первоначальный объем заказа без скидки (брутто), y - скидка, являющаяся, в свою очередь, функцией от объема заказа со скидкой (x, т.е. нетто). Проще говоря, размер скидки на объём заказа вычисляется методом приближения после нескольких итераций. Пример я приводил выше. Цифры по диапазону вообще условны - вы можете установить любое соотношение объема заказа и скидки. Другое дело, что формула не работает! Точнее, выдает РАЗНЫЕ результаты при ОДИНАКОВЫХ исходных параметрах, что в принципе невозможно!fpister
Но работать будет не всегда. В Вашем же файле сумма 2774400 * (1 - 25%) = 2080800 > 2000000 2774400 * (1 - 30%) = 1942080 < 2000000 Ни так, ни эдак не подходит
Формулой можно вот так, например (оранжевая ячейка.
Но работать будет не всегда. В Вашем же файле сумма 2774400 * (1 - 25%) = 2080800 > 2000000 2774400 * (1 - 30%) = 1942080 < 2000000 Ни так, ни эдак не подходит_Boroda_
Спасибо, вы навели на мысль - здесь просто необходимо доп. условие. В противном случае программа будет всегда выдавать два варианта ответа. Вы мне помогли!
Спасибо, вы навели на мысль - здесь просто необходимо доп. условие. В противном случае программа будет всегда выдавать два варианта ответа. Вы мне помогли!fpister
В задачах тех ищи удачи, где получить рискуешь сдачи.