Работа с табличным редактором Эксель включает в себя различные функции. Одной из таких возможностей Excel является «поиск решений», которая позволяет пользователь значительно упростить работу в табличном процессоре.
Обзор и возможности функции
Надстройка «Поиск решений» — специфическая возможность Excel 2007, 2010, 2013, 2016, которая предназначена для работы с формулой при наличии определённых условий. Описать её логику можно следуя принципу «что если?». То есть, просчитать изменение конечной ячейки при условии изменения других. Хотя и звучит это сложно, но описать данный принцип удобнее на конкретном примере: как будет изменяться остаток средств в конце месяца, если изменить разные статьи расходов.
Ожидать, что функция сработает в обратном порядке можно, но для этого потребуется изменять формулу и вводные данные для этой формулы. Фактически Excel следует строгой логике и сама по себе функция не решит проблему, но поможет прийти к корректному решению подбором или перебором вводных данных.
Включение возможности
Функция поиска решений является надстройкой Excel. Для версий Excel ниже 2010 её потребуется запускать следующим образом:
- Открыть «Параметры» программы.
- Перейти в раздел «Надстройки».
- Найти «поиск решений» и клацнуть по нему дважды. В случае если пакет не установлен Office предложит загрузить его. С таким предложением потребуется согласиться.
Теперь возможность можно будет найти в разделе «Данные». Отмечена она названием «Поиск решений».
Подготовка таблицы
Текущий раздел будет выглядеть сложным, поскольку без конкретного примера разобраться в таблице будет проблематично. Следует сразу оговориться, что в конкретных примерах будет проще разобраться, чем в имеющейся таблице, но в этом разделе объясняется какие предусловия используются для работы с функцией:
- Представим, что в таблице имеются пункты, которые имеют какое-то значение.
- Осложним задачу введением двух виртуальных групп, которые могут соответствовать пунктам (это могут быть статьи расходов).
В случае соответствия группы пункту она получает «вес» равный «1». В противном случае – «0». Это потребуется для дальнейших операций.
- Теперь добавим 2 группы формул, которые выражают взаимодействие между группами, «весомостью» (значение) и пунктами. Пускай это будет сложение и умножение, для простоты. Таким образом мы получим сумму важности пунктов (итоговое значение для каждой из групп) и что-то вроде важности затрат для каждого из пунктов.
- Теперь постараемся прийти к конечным решениям по затратам и итогам. Сделаем это при помощи операций сложения в соответствующих столбцах.
- Последним действием будет сведений разницы между затратами групп.
Теперь таблицу можно считать сведённой и подготовленной. Требуется только завершить работу с функцией и настроить формулы для её эффективного срабатывания. Предположим, что нас интересует результат, при котором разница между затратами групп будет минимизирована или сравняется с нулём (ячейка «Разница»).
Запускаем функцию подбора решений и начинаем задавать ей необходимые переменные и значения:
- Указывается, в какой ячейке находится формула, результат которой интересует пользователя.
- Указывается результат, к которому должно привести изменений значений. Если указать в качестве значения 0, то, вероятнее всего, таблица будет заполнена нулями. Чтобы избежать подобного требуется выставить хотя-бы «1».
- Диапазон ячеек, подлежащих изменению.
- Ограничения, которые можно логически вписать в переменные. В указанном случае это должны быть целые числа 0 или 1.
- Метод решения. Лучше оставить без изменений, если ранее не было произведено знакомство с алгоритмами работы.
- Запуск поиска решений.
Получаем следующее заполнение:
Получаем решение в течении нескольких секунд. Для сравнения, по самым оптимистичным прикидкам, человек потратил бы на аналогичное действие около 5 минут.
Конкретные примеры использования
Закончив с виртуальным примером, который помог разобраться с особенностями построения таблицы и задачи условий перейдём к более приземлённым и конкретным примерам. С их помощью в задаче будет разобраться немного проще.
Изготовление йогурта
Попробуем рассчитать какой из видов йогурта при разной концентрации компонентов производить лучше, чем остальные. Для этого определим компоненты, их соотношение и стоимость конечного продукта, при условии ограниченности запасов:
В раздел «Расход сырья» внесены формулы, которые опираются на «количество» и нормы расхода. Прибыль является произведением стоимости и количества. Количество и будет переменной, которая будет изменяться в пределах «запасы». Для этого формируется следующий набор условий:
В результате вычислений (с учётом дробного остатка, поскольку условие работы только с целыми числами добавлено не было), получилось, что эффективнее всего производить 1 и 3 йогурты, а второй полностью игнорировать.
Затраты на рекламу
Другим вопросом, с которым поможет эта функция будет «оптимизация расходов на рекламу». В этом случае перед пользователем стоит задача: повысить возможную прибыль посредством изменения рекламных вложений в определённые месяцы.
Итак, прибыль является целевой ячейкой (выделена изумрудным цветом). Зелёным выделены расходы на рекламу, а красным максимальные затраты. При поиске решения ограничиваем подстановку переменных в значениях рекламы максимумом, а в качестве цели ставим максимизацию прибыли.
В результате получаем максимизированную прибыль в указанном месяце, посредством грамотного распределения рекламного бюджета между остальными месяцами.
Отсюда и вытекает главный недостаток «поиска решений». Он оперирует лишь конечной (одной) ячейкой. Чтобы максимизировать прибыль требуется работать с последней ячейкой (прибыль – всего), что сопряжено с вероятностью появления ошибки в программе, если формулы настроены неверно.
Оптимизация игрового процесса
Данный пример будет выглядеть сложнее. Не вдаваясь в подробности предположим, что в компьютерной игре имеется несколько комплектов (перечислены в соответствующей графе), которые могут быть проданы за некоторую сумму денег (цифры не соответствуют реальным) и для сбора которых требуется определённое время (откинем случайность выпадения и предположим, что за указанное время можно собрать весь комплект целиком). Наша задача определить максимальную выгоду от сбора комплекта с учётом ограничения времени в игре (говоря геймерским языком «определиться, что гриндить на продажу»).
Итоговое доступное время по условиям подбора решения ограничено 4 единицами (время устанавливаем условно, не важно будут это часы, дни или месяцы). Графа «выгода» представляет собой формулу, говорящую, что будет если выделить «х» времени на сбор определённого комплекта. Задачей Excel является оптимизация максимальной (суммарной) выгоды.
В условиях имеем: требуется получить максимальную выгоду при лимите времени. Следовательно, программа определяет на каком комплекте сфокусировать внимание. Результат предсказуем: самый дорогой комплект достоин 100% временных затрат.
Установка ограничений
При работе с функцией, как упоминалось выше, можно установить ограничения. Они выставляются в поле «В соответствии с ограничениями». Их можно устанавливать, убирать или редактировать. Главное понимать какая цель ставится перед программой и какими способами Excel может её добиться.
Например, программа может использовать дробные числа там, где это выгоднее, хотя это физически невозможно (эффект «полтора землекопа») или уходить в отрицательные значения. Поэтому прежде чем ставить перед Excel задачу нужно сориентироваться в ней самому. Повторять постановку задачи с разными условиями тоже можно, особенно когда результаты получаются уж очень фантастическими.