Подбор параметра в Excel: решаем задачки-нерешучки

Здравствуйте, уважаемые читатели! В прошлой статье мы научились моделировать результат при разных входных параметрах, выполняя анализ «что если». Сегодня же мы разберем обратную задачу, не менее частую, сложную и насущную. Пусть нам известен результат, и нужно знать, какими должны быть входные величины для его получения. То есть, нужно подобрать решение задачи. Возможно ли это в Excel? Конечно возможно, давайте разбираться!

Программа предоставляет нам два способа решения такой проблемы:

  1. Инструмент «Подбор параметра»
  2. Инструмент «Поиск решения»

Подбор параметра в Эксель

Это простой инструмент, который во многих случаях действительно выручает. Он варьирует значением в одной ячейке для получения определенного результата в другой. Как это работает?

Разберем на простом примере. Мы с Вами планируем открыть депозит с ежемесячным пополнением. Сейчас у нас на руках есть 10 тыс. у.е., но после окончания срока депозита, через 12 месяцев, хотим иметь капитал в 20 тысяч. Требуется посчитать, какую сумму нужно ежемесячно класть на депозит, чтобы через 12 месяцев накопить сумму в 20 тысяч у.е.

Вот наша таблица с расчетами:

В желтой таблице исходные данные: первый взнос, ежемесячный взнос, процентная ставка и срок вклада. В синем поле – конечный капитал, который мы посчитали с помощью функции БС.

Фактически нам нужно подобрать такое значение в ячейке В3, чтобы в В7 стало 20 000. Используем инструмент «Подбор параметра»:

  1. Жмем на ленте Данные – Работа с данными – Анализ «что если» — подбор параметра;
  2. В открывшемся окне задаем данные для настройки:
    • Установить в ячейке: в этом параметре указываем ссылку на наше целевое значение, т.е. «Конечный капитал»;
    • Значение: здесь нужно указать то значение, которое должно быть в целевой ячейке, т.е. нужный результат вычислений. В нашем случае это 20 000;
    • Изменяя значение ячейки: Укажем ссылку на ячейку, значение которой нужно изменять, чтобы подбирать результат. В нашем примере это «Ежемесячный взнос»;

  1. Жмем Ок, программа будет искать решение. Когда оно будет найдено, Excel сообщит о завершении подбора. Нажимаем Ок в окне, чтобы принять найденное значение и записать его в ячейку, или Отмена, чтобы оставить все как было.

В нашем примере все сработало отлично, и мы узнали, что для получения капитала в 20 тыс, нужно ежемесячно добавлять на депозит по 736,55 у.е.

Иногда случается, что поиск решения не дал результата, тогда нужно проверить всё ли правильно:

  1. Первым делом удостоверьтесь, что целевая ячейка зависит от того значения, которое мы изменяем. Если итоговая формула не ссылается на изменяемое значение – восстановите эту зависимость и повторите поиск;
  2. Пробуем поставить в изменяемой ячейке значение ближе к искомому, очень часто это помогает;
  3. В Экселе ограничено количество итераций для подобного поиска. Возможно, этого количества не хватило, чтобы найти решение. Пробуем увеличить количество итераций. Для этого жмем Файл – Параметры – Формулы, а там в группе команд «Параметры вычислений» увеличьте предельное число итераций.

  1. Осмыслите вычисления, которые предлагаете произвести программе. Точно ли заданные Вами параметры имеют решение? Если не имеют – сделайте их корректными.

Обычно этих шагов хватает, чтобы найти значение, удовлетворяющее наш запрос.

Инструмент «Поиск решения»

Как Вы убедились, подбор параметра отлично и безотказно работает практически во всех случаях. Но у него есть недостаток – он манипулирует лишь одним значением для изменения результата. А что, если нужно построить более сложную систему вычислений? Тогда используем «Поиск решения».

И снова рассмотрим на примере. Спланируем производственный процесс на месяц для получения максимальной прибыли. Вот наша таблица заготовка:

В таблице имеем такие поля:

  1. Минимальная партия – минимальное количество товара, которое нужно произвести для обслуживания уже существующих заказов;
  2. Максимальная партия – наибольшее количество товара, которое можно произвести, исходя из запасов сырья
  3. Норма рабочего времени – количество человекочасов, необходимых для производства одного изделия;
  4. Затраты рабочего времени – количество времени, которое будет затрачено на производство всего запланированного. Пусть у нас работает 20 работников по 8 часов 22 дня в месяце. Тогда сумма по этому полю должна составить 3520 ч.
  5. Себестоимость – стоимость производства одной единицы продукции
  6. Цена реализации – рыночная стоимость одной единицы продукции
  7. Валовая прибыль – прибыль, которая будет получена от реализации изготовленного товара.

Для упрощения, будем считать, что спрос на товар выше производственных возможностей, и всё произведенное будет продано. Так сколько чего нам нужно произвести, чтобы получить наибольшую выгоду, а персонал трудился ровно 3520 ч? Запускаем «Поиск решения»:

  1. Ищем на ленте Данные – Анализ – Поиск решения. Кликаем, откроется окно настройки;
  2. В поле «Оптимизировать целевую функцию» задаем ссылку на сумму по столбцу «Валовая прибыль»;
  3. В поле «До» выбираем «Максимум». В других случаях можно выбрать «минимум», или задать какое-то конкретное значение;
  4. В списке «Изменяя ячейки переменных» указываем все строки столбца «Производим»
  5. Далее нужно внести все оговоренные выше ограничения. Для этого жмем «Добавить» и в открывшемся окне выбираем ссылки на ячейки и параметры их ограничения:

Вносим все оговоренные ограничения, они отобразятся в списке окна настройки:

  1. Суммарные затраты времени должны равняться 3520 часов;
  2. Производимое количество больше или равно минимальной партии
  3. Производимое количество меньше или равно максимальной партии
  4. Производимое количество должно быть целым числом

  1. Выбираем метод решения в соответствии с рекомендациями разработчиков внизу окна настроек. Мы выберем линейный метод. Жмем «Найти решение», по завершению поиска программа сообщает о результате.

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

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

Экспериментируя с многочисленными настройками инструмента, можно детально управлять процессом поиска. На самом деле, «Поиск решения» — очень функциональная и многогранная надстройка, познать все азы которой можно на сайте разработчика: www.solver.com.

Кстати, если Вы не нашли на ленте этот инструмент – не отчаивайтесь, его просто нужно подключить. Для этого нажмите Файл – Параметры – Надстройки. Внизу в раскрывающемся списке «Управление» выберите «Надстройки Excel»  и нажмите «Перейти». В открывшемся окне поставьте галку напротив «Поиск решения» и нажмите Ок. Вот и всё, он сразу же появится ленте!

Вот такие существуют способы подгонки результатов, о которых мало кто знает и мало кто пользуется. Тем не менее, навыки работы с ними делают нашу жизнь проще, теперь не нужно вручную перебирать десятки или сотни значений, чтобы получить нужный результат!

Если у Вас что-то не получилось – задавайте свои вопросы в комментариях, будем разбираться вместе. Если все вышло — сбросьте другу ссылку на эту статью. Пусть и он использует Эксель в полной мере!

Экспериментируйте, а я отправляюсь писать следующий пост. До новых встреч на страницах блога officelegko.com!

4 комментария

  1. Даниил

    Добрый день, Александр!

    Есть задача которую я не могу понять с помощью какой формулы описать решение, причем прописать эти формулы в гугл таблице, но думаю суть та же будет если сделать это и в эксели
    если в кратце: то например я знаю что мне надо накопить 20000, то если откладывать каждый месяц по 10 000 то через 2 месяца я добъюсь цели, как это описать формульно чтобы эксель показал что в зависимости от того сколько накапливается в месяц я смогу накопить 20000? чтобы программа показала мне время через которое я накоплю средства есть столбец месяцев с суммами того что накопил в этих столбцах при этом там есть и пустыми суммы за декабрь например. Просто бьюсь уже 5 дней не могу понять возможно ли решение для такой задачи или нет. ссылка на файл о чем речь :
    https://docs.google.com/spreadsheets/d/1kyP2HwB8WFeAqJkkANC9TxQCsIv3K-44Wfe3xabfQeA/edit?usp=sharing

    1. Александр Томм (Автор записи)

      Даниил, здравствуйте. Уточните пожалуйста вопрос.Вы хотите, чтобы программа считала срок исходя из какого-то обязательного ежемесячного платежа, или из средних ежемесячных накоплений за какой-то период?

  2. Даниил

    Исходя из средних ежемесячных накоплений( суммы которых могут быть разными за месяцы) за какой либо период времени

    1. Александр Томм (Автор записи)

      Даниил, в Excel есть функция, которая считает средние значения — СРЗНАЧ. Тогда формула расчета количества месяцев будет такая: ={Остаток суммы}/СРЗНАЧ{Диапазон с данными по ежемесячному внесению средств}). Естественно, в фигурных скобках я указал описания, а вы укажите соответствующие ссылки на ячейки и диапазоны ячеек

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *