Подбор нескольких параметров в excel одновременно
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще. Меньше
"Поиск решения" — это надстройка для Microsoft Excel, которую можно использовать для анализ "что если". С ее помощью можно найти оптимальное значение (максимум или минимум) формула, содержащейся в одной ячейке, называемой целевой, с учетом ограничений на значения в других ячейках с формулами на листе. Надстройка "Поиск решения" работает с группой ячеек, называемых ячейками переменных решения или просто ячейками переменных, которые используются при расчете формул в целевых ячейках и ячейках ограничения. Надстройка "Поиск решения" изменяет значения в ячейках переменных решения согласно пределам ячеек ограничения и выводит нужный результат в целевой ячейке.
Проще говоря, с помощью надстройки "Поиск решения" можно определить максимальное или минимальное значение одной ячейки, изменяя другие ячейки. Например, вы можете изменить планируемый бюджет на рекламу и посмотреть, как изменится планируемая сумма прибыли.
Примечание: В версиях надстройки "Поиск решения", выпущенных до Excel 2007, ячейки переменных решения назывались изменяемыми или регулируемыми. В Excel 2010 надстройка "Поиск решения" была значительно улучшена, так что работа с ней в Excel 2007 будет несколько отличаться.
В приведенном ниже примере количество проданных единиц в каждом квартале зависит от уровня рекламы, что косвенно определяет объем продаж, связанные издержки и прибыль. Надстройка "Поиск решения" может изменять ежеквартальные расходы на рекламу (ячейки переменных решения B5:C5) до ограничения в 20 000 рублей (ячейка F5), пока общая прибыль (целевая ячейка F7) не достигнет максимального значения. Значения в ячейках переменных используются для вычисления прибыли за каждый квартал, поэтому они связаны с формулой в целевой ячейке F7, =СУММ (Q1 Прибыль:Q2 Прибыль).
1. Ячейки переменных
2. Ячейка с ограничениями
3. Целевая ячейка
После выполнения процедуры получены следующие значения.
На вкладке Данные в группе Анализ нажмите кнопку Поиск решения.
Примечание: Если команда "Найти решение" или "Анализ" недоступна, необходимо активировать надстройка. См. также: Активация надстройки "Надстройка".
В поле Оптимизировать целевую функцию введите ссылка на ячейку или имя целевой ячейки. Целевая ячейка должна содержать формулу.
Выполните одно из следующих действий.
Чтобы значение целевой ячейки было максимальным из возможных, установите переключатель в положение Макс.
Чтобы значение целевой ячейки было минимальным из возможных, установите переключатель в положение Мин.
Чтобы задать для целевой ячейки конкретное значение, установите переключатель в положение Значение и введите в поле нужное число.
В поле Изменяя ячейки переменных введите имена диапазонов ячеек переменных решения или ссылки на них. Несмежные ссылки разделяйте запятыми. Ячейки переменных должны быть прямо или косвенно связаны с целевой ячейкой. Можно задать до 200 ячеек переменных.
В поле В соответствии с ограничениями введите любые ограничения, которые требуется применить. Для этого выполните указанные ниже действия.
В диалоговом окне Параметры поиска решения нажмите кнопку Добавить.
В поле Ссылка на ячейку введите ссылку на ячейку или имя диапазона ячеек, на значения которых налагаются ограничения.
Щелкните связь (, =, >=, int,binили dif), которая требуется между ячейкой, на которую ссылается ссылка, и ограничением. Если щелкнуть int, в поле Ограничение появится integer. Если щелкнуть бин,в поле Ограничение появится двоичное поле. Если нажать кнопку dif,в поле Ограничение появится ссылкаalldifferent.
Если в поле Ограничение было выбрано отношение =, введите число, ссылку на ячейку (или имя ячейки) или формулу.
Выполните одно из указанных ниже действий.
Чтобы принять данное ограничение и добавить другое, нажмите кнопку Добавить.
Чтобы принять ограничение и вернуться в диалоговое окно Параметрырешения, нажмите кнопку ОК.
Примечание Отношения int,binи dif можно применять только в ограничениях для ячеек переменных решения.
Чтобы изменить или удалить существующее ограничение, выполните указанные ниже действия.
В диалоговом окне Параметры поиска решения щелкните ограничение, которое требуется изменить или удалить.
Чтобы сохранить значения решения на листе, в диалоговом окне Результаты поиска решения выберите вариант Сохранить найденное решение.
Чтобы восстановить исходные значения перед нажатием кнопки Найти решение, выберите вариант Восстановить исходные значения.
Вы можете прервать поиск решения, нажав клавишу ESC. Лист Excel будет пересчитан с учетом последних найденных значений для ячеек переменных решения.
Чтобы создать отчет, основанный на найденном решении, выберите тип отчета в поле Отчеты и нажмите кнопку ОК. Отчет будет помещен на новый лист книги. Если решение не найдено, будут доступны только некоторые отчеты или они вообще не будут доступны.
Чтобы сохранить значения ячейки переменной решения в качестве сценария, который можно будет отобразить позже, нажмите кнопку Сохранить сценарий в диалоговом окне Результаты поиска решения, а затем введите имя этого сценария в поле Название сценария.
После постановки задачи нажмите кнопку Параметры в диалоговом окне Параметры поиска решения.
Чтобы просмотреть значения всех найденных решений, в диалоговом окне Параметры установите флажок Показывать результаты итераций и нажмите кнопку ОК.
В диалоговом окне Параметры поиска решения нажмите кнопку Найти решение.
В диалоговом окне Показать предварительное решение выполните одно из указанных ниже действий.
Чтобы остановить поиск решения и вывести на экран диалоговое окно Результаты поиска решения, нажмите кнопку Стоп.
Чтобы продолжить процесс поиска решения и просмотреть следующий вариант решения, нажмите кнопку Продолжить.
В диалоговом окне Параметры поиска решения нажмите кнопку Параметры.
В диалоговом окне на вкладках Все методы, Поиск решения нелинейных задач методом ОПГ и Эволюционный поиск решения выберите или введите значения нужных параметров.
В диалоговом окне Параметры поиска решения нажмите кнопку Загрузить/сохранить.
Введите диапазон ячеек для области модели и нажмите кнопку Сохранить или Загрузить.
При сохранении модели введите ссылку на первую ячейку вертикального диапазона пустых ячеек, в котором следует разместить модель оптимизации. При загрузке модели введите ссылку на весь диапазон ячеек, содержащий модель оптимизации.
Совет: Чтобы сохранить последние параметры, настроенные в диалоговом окне Параметры поиска решения, вместе с листом, сохраните книгу. Каждый лист в книге может иметь свои параметры надстройки "Поиск решения", и все они сохраняются. Кроме того, для листа можно определить более одной задачи, если нажимать кнопку Загрузить или сохранить для сохранения задач по отдельности.
В диалоговом окне Параметры поиска решения можно выбрать любой из указанных ниже алгоритмов или методов поиск решения.
Нелинейный метод обобщенного понижающего градиента (ОПГ). Используется для гладких нелинейных задач.
Симплекс-метод. Используется для линейных задач.
Эволюционный метод Используется для негладких задач.
Важно: Сначала нужно включить надстройку "Поиск решения". Дополнительные сведения см. в статье Загрузка надстройки "Поиск решения".
В приведенном ниже примере количество проданных единиц в каждом квартале зависит от уровня рекламы, что косвенно определяет объем продаж, связанные издержки и прибыль. Надстройка "Поиск решения" может изменять ежеквартальные расходы на рекламу (ячейки переменных решения B5:C5) до ограничения в 20 000 рублей (ячейка D5), пока общая прибыль (целевая ячейка D7) не достигнет максимального значения. Значения в ячейках переменных используются для вычисления прибыли за каждый квартал, поэтому они связаны с формулой в целевой ячейке D7, =СУММ (Q1 Прибыль:Q2 Прибыль).
В результате выполнения получены следующие значения:
В Excel 2016 для Mac: выберите пункты Данные > Поиск решения.
В Excel 2011 для Mac: на вкладке Данные в группе Анализ выберите Поиск решения.
В разделе Оптимизировать целевую функцию, введите ссылка на ячейку или имя целевой ячейки.
Примечание: Целевая ячейка должна содержать формулу.
Выполните одно из следующих действий.
Необходимые действия
Сделать так, чтобы значение целевой ячейки было максимальным из возможных
Выберите значение Макс.
Сделать так, чтобы значение целевой ячейки было минимальным из возможных
Выберите значение Мин.
Сделать так, чтобы целевая ячейка имела определенное значение
Щелкните Значение, а затем введите нужное значение в поле.
В поле Изменяя ячейки переменных введите имена диапазонов ячеек переменных решения или ссылки на них. Несмежные ссылки разделяйте запятыми.
Ячейки переменных должны быть прямо или косвенно связаны с целевой ячейкой. Можно задать до 200 ячеек переменных.
В поле В соответствии с ограничениями введите любые ограничения, которые требуется применить.
Для этого выполните следующие действия:
В диалоговом окне Параметры поиска решения нажмите кнопку Добавить.
В поле Ссылка на ячейку введите ссылку на ячейку или имя диапазона ячеек, на значения которых налагаются ограничения.
Во всплывающем меню задайте требуемое отношение между целевой ячейкой и ограничением. Если вы выбрали , =, или >= в поле Ограничение, введите число, имя ячейки, ссылку на нее или формулу.
Примечание: Отношения int, бин и раз можно использовать только в ограничениях для ячеек, в которых находятся переменные решения.
Выполните одно из указанных ниже действий.
Необходимые действия
Принять ограничение и добавить другое
Принять ограничение и вернуться в диалоговое окно Параметры поиска решения
Необходимые действия
Сохранить значения решения на листе
В диалоговом окне Результаты поиска решения выберите вариант Сохранить найденное решение.
Восстановить исходные значения
Щелкните Восстановить исходные значения.
Чтобы прервать поиск решения, нажмите клавишу ESC. Лист Excel будет пересчитан с учетом последних найденных значений для ячеек переменных.
Чтобы создать отчет, основанный на найденном решении, выберите тип отчета в поле Отчеты и нажмите кнопку ОК. Отчет будет помещен на новый лист книги. Если решение не найдено, отчет не будет доступен.
Чтобы сохранить значения ячейки переменной решения в качестве сценария, который можно будет отобразить позже, нажмите кнопку Сохранить сценарий в диалоговом окне Результаты поиска решения, а затем введите имя этого сценария в поле Название сценария.
В Excel 2016 для Mac: выберите пункты Данные > Поиск решения.
В Excel 2011 для Mac: на вкладке Данные в группе Анализ выберите Поиск решения.
После постановки задачи нажмите кнопку Параметры в диалоговом окне Параметры поиска решения.
Чтобы просмотреть значения всех предварительных решений, установите флажок Показывать результаты итераций и нажмите кнопку ОК.
В диалоговом окне Параметры поиска решения нажмите кнопку Найти решение.
В диалоговом окне Показать предварительное решение выполните одно из следующих действий:
Необходимые действия
Остановить поиск решения и вывести на экран диалоговое окно Результаты поиска решения
Продолжить поиск и просмотреть следующее предварительное решение
В Excel 2016 для Mac: выберите пункты Данные > Поиск решения.
В Excel 2011 для Mac: на вкладке Данные в группе Анализ выберите Поиск решения.
Необходимые действия
Настроить время решения и число итераций
На вкладке Все методы в разделе Пределы решения в поле Максимальное время (в секундах) введите количество секунд, в течение которых можно будет искать решение. Затем в поле Итерации укажите максимальное количество итераций, которое вы хотите разрешить.
Примечание: Если будет достигнуто максимальное время поиска решения или количество итераций, а решение еще не будет найдено, средство "Поиск решения" выведет диалоговое окно Показать предварительное решение.
На вкладке Все методы введите в поле Точность ограничения нужное значение погрешности. Чем меньше число, тем выше точность.
Задать степень сходимости
На вкладке Поиск решения нелинейных задач методом ОПГ или Эволюционный поиск решения в поле Сходимость укажите, насколько должны отличаться результаты последних пяти итераций, чтобы средство прекратило поиск решения. Чем меньше число, тем меньше должно быть изменение.
В диалоговом окне Параметры поиска решения нажмите кнопку Найти решение или Закрыть.
В Excel 2016 для Mac: выберите пункты Данные > Поиск решения.
В Excel 2011 для Mac: на вкладке Данные в группе Анализ выберите Поиск решения.
Щелкните Загрузить/сохранить, укажите диапазон ячеек для области модели и нажмите кнопку Сохранить или Загрузить.
При сохранении модели введите ссылку на первую ячейку вертикального диапазона пустых ячеек, в котором следует разместить модель оптимизации. При загрузке модели введите ссылку на весь диапазон ячеек, содержащий модель оптимизации.
Совет: Чтобы сохранить последние параметры, настроенные в диалоговом окне Параметры поиска решения, вместе с листом, сохраните книгу. Каждый лист в книге может иметь свои параметры надстройки "Поиск решения", и все они сохраняются. Кроме того, для листа можно определить более одной задачи, если нажимать кнопку Загрузить/сохранить для сохранения задач по отдельности.
В Excel 2016 для Mac: выберите пункты Данные > Поиск решения.
В Excel 2011 для Mac: на вкладке Данные в группе Анализ выберите Поиск решения.
Во всплывающем меню Выберите метод решения выберите одно из следующих значений:
Метод решения
Нелинейный метод обобщенного понижающего градиента (ОПГ)
Используется по умолчанию для моделей со всеми функциями Excel, кроме ЕСЛИ, ВЫБОР, ПРОСМОТР и другие ступенчатые функции.
Поиск решения линейных задач симплекс-методом
Используйте этот метод для задач линейного программирования. В формулах модели, которые зависят от ячеек переменных, должны использоваться функции СУММ, СУММПРОИЗВ, +, - и *.
Эволюционный поиск решения
Этот метод, основанный на генетических алгоритмах, лучше всего подходит в том случае, если в модели используются функции ЕСЛИ, ВЫБОР и ПРОСМОТР с аргументами, которые зависят от ячеек переменных.
Примечание: Авторские права на части программного кода надстройки "Поиск решения" версий 1990–2010 принадлежат компании Frontline Systems, Inc. Авторские права на части версии 1989 принадлежат компании Optimal Methods, Inc.
Поскольку надстройки не поддерживаются в Excel в Интернете, вы не сможете использовать надстройку "Поиск решения" для анализа данных "что если", чтобы найти оптимальные решения.
Если у вас есть Excel, вы можете нажать кнопку Открыть в Excel, чтобы открыть книгу для использования надстройки "Поиск решения".
Дополнительная справка по надстройке "Поиск решения"
За дополнительной справкой по надстройке "Поиск решения" обращайтесь по этим адресам:
Авторские права на части программного кода надстройки "Поиск решения" версий 1990-2009 принадлежат компании Frontline Systems, Inc. Авторские права на части версии 1989 принадлежат компании Optimal Methods, Inc.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Надстройка Excel «Поиск решения» – это аналитический инструмент, который позволяет нам быстро и легко определить, когда и какой результат мы получим при определенных условиях. Возможности инструмента поиска решения намного выше, чем может предоставить «подбор параметра» в Excel.
Основные отличия между поиском решения и подбором параметра:
- Подбор нескольких параметров в Excel.
- Наложение условий ограничивающих изменения в ячейках, которые содержат переменные значения.
- Возможность использования в тех случаях, когда может быть много решений одной задачи.
Где находится поиск решений в Excel? По умолчанию данная надстройка не установлена. О том, как ее установить читайте: подключение надстройки «Поиск решения».
Примеры и задачи на поиск решения в Excel
- Найти банк, который предлагает более высокую процентную ставку по депозитам.
- Увеличить размер ежегодных накопительных взносов на банковский счет.
Мы можем изменять переменные значения в ячейках B1 и B2 так, чтобы подобрать необходимые условия для накопления необходимой суммы денег.
Надстройка «Поиск решения» - позволяет нам одновременно использовать 2 этих варианта, чтобы быстро смоделировать наиболее оптимальные условия для достижения поставленной цели. Для этого:
- Перейдите в ячейку B14 и выберите инструмент: «Данные»-«Анализ»-«Поиск решения».
- В появившемся диалоговом окне заполните все поля и параметры так как указано ниже на рисунке. Не забудьте убрать галочку напротив опции: «Сделать переменные без ограничений неотрицательными». И нажмите «Найти решение».
Как видно программа немного увеличила процентную ставку и сумму ежегодных взносов.
Ограничение параметров при поиске решений
Допустим, вы пошли в банк с этой таблицей, но банк отказывается поднять Вам процентную ставку. В таком случаи нам нужно узнать, насколько нам придется повысить сумму ежегодных вложений. Мы должны установить ограничение на ячейку с одним переменным значением. Но перед началом измените значения в переменных ячейках на исходные: в B1 на 5%, а в B2 на -1000$. А теперь делаем следующее:
- Перейдите в ячейку B14 и выберите инструмент: «Данные»-«Анализ»-«Поиск решения».
- Напротив списка параметров: «В соответствии с ограничениями» нажмите на кнопку «Добавить».
- В появившемся окне «Добавление ограничения» заполните поля так как указано выше на рисунке. И нажмите ОК.
- Снова заполняем параметры и поля появившегося диалогового окна, как в предыдущем примере:
- Нажмите «Найти решение».
Данный базовый пример открывает Вам возможности использовать аналитический инструмент для более сложных задач, где нужно добавлять ограничения на некоторые показатели при анализе данных.
Пользователи Excel давно и успешно применяют программу для решения различных типов задач в разных областях.
Excel – это самая популярная программа в каждом офисе во всем мире. Ее возможности позволяют быстро находить эффективные решения в самых разных сферах деятельности. Программа способна решать различного рода задачи: финансовые, экономические, математические, логические, оптимизационные и многие другие. Для наглядности мы каждое из выше описанных решение задач в Excel и примеры его выполнения.
Решение задач оптимизации в Excel
Оптимизационные модели применяются в экономической и технической сфере. Их цель – подобрать сбалансированное решение, оптимальное в конкретных условиях (количество продаж для получения определенной выручки, лучшее меню, число рейсов и т.п.).
В Excel для решения задач оптимизации используются следующие команды:
- Подбор параметров («Данные» - «Работа с данными» - «Анализ «что-если»» - «Подбор параметра») – находит значения, которые обеспечат нужный результат.
- Поиск решения (надстройка Microsoft Excel; «Данные» - «Анализ») – рассчитывает оптимальную величину, учитывая переменные и ограничения. Перейдите по ссылке и узнайте как подключить настройку «Поиск решения».
- Диспетчер сценариев («Данные» - «Работа с данными» - «Анализ «что-если»» - «Диспетчер сценариев») – анализирует несколько вариантов исходных значений, создает и оценивает наборы сценариев.
Для решения простейших задач применяется команда «Подбор параметра». Самых сложных – «Диспетчер сценариев». Рассмотрим пример решения оптимизационной задачи с помощью надстройки «Поиск решения».
Условие. Фирма производит несколько сортов йогурта. Условно – «1», «2» и «3». Реализовав 100 баночек йогурта «1», предприятие получает 200 рублей. «2» - 250 рублей. «3» - 300 рублей. Сбыт, налажен, но количество имеющегося сырья ограничено. Нужно найти, какой йогурт и в каком объеме необходимо делать, чтобы получить максимальный доход от продаж.
Известные данные (в т.ч. нормы расхода сырья) занесем в таблицу:
На основании этих данных составим рабочую таблицу:
- Количество изделий нам пока неизвестно. Это переменные.
- В столбец «Прибыль» внесены формулы: =200*B11, =250*В12, =300*В13.
- Расход сырья ограничен (это ограничения). В ячейки внесены формулы: =16*B11+13*B12+10*B13 («молоко»); =3*B11+3*B12+3*B13 («закваска»); =0*B11+5*B12+3*B13 («амортизатор») и =0*B11+8*B12+6*B13 («сахар»). То есть мы норму расхода умножили на количество.
- Цель – найти максимально возможную прибыль. Это ячейка С14.
Активизируем команду «Поиск решения» и вносим параметры.
После нажатия кнопки «Выполнить» программа выдает свое решение.
Оптимальный вариант – сконцентрироваться на выпуске йогурта «3» и «1». Йогурт «2» производить не стоит.
Решение финансовых задач в Excel
Чаще всего для этой цели применяются финансовые функции. Рассмотрим пример.
Условие. Рассчитать, какую сумму положить на вклад, чтобы через четыре года образовалось 400 000 рублей. Процентная ставка – 20% годовых. Проценты начисляются ежеквартально.
Оформим исходные данные в виде таблицы:
Так как процентная ставка не меняется в течение всего периода, используем функцию ПС (СТАВКА, КПЕР, ПЛТ, БС, ТИП).
- Ставка – 20%/4, т.к. проценты начисляются ежеквартально.
- Кпер – 4*4 (общий срок вклада * число периодов начисления в год).
- Плт – 0. Ничего не пишем, т.к. депозит пополняться не будет.
- Тип – 0.
- БС – сумма, которую мы хотим получить в конце срока вклада.
Вкладчику необходимо вложить эти деньги, поэтому результат отрицательный.
Для проверки правильности решения воспользуемся формулой: ПС = БС / (1 + ставка) кпер . Подставим значения: ПС = 400 000 / (1 + 0,05) 16 = 183245.
Решение эконометрики в Excel
Для установления количественных и качественных взаимосвязей применяются математические и статистические методы и модели.
Дано 2 диапазона значений:
Значения Х будут играть роль факторного признака, Y – результативного. Задача – найти коэффициент корреляции.
Для решения этой задачи предусмотрена функция КОРРЕЛ (массив 1; массив 2).
Решение логических задач в Excel
В табличном процессоре есть встроенные логические функции. Любая из них должна содержать хотя бы один оператор сравнения, который определит отношение между элементами (=, >, =, Пример задачи. Ученики сдавали зачет. Каждый из них получил отметку. Если больше 4 баллов – зачет сдан. Менее – не сдан.
- Ставим курсор в ячейку С1. Нажимаем значок функций. Выбираем «ЕСЛИ».
- Заполняем аргументы. Логическое выражение – B1>=4. Это условие, при котором логическое значение – ИСТИНА.
- Если ИСТИНА – «Зачет сдал». ЛОЖЬ – «Зачет не сдал».
Решение математических задач в Excel
Средствами программы можно решать как простейшие математические задачки, так и более сложные (операции с функциями, матрицами, линейными уравнениями и т.п.).
Условие учебной задачи. Найти обратную матрицу В для матрицы А.
- Делаем таблицу со значениями матрицы А.
- Выделяем на этом же листе область для обратной матрицы.
- Нажимаем кнопку «Вставить функцию». Категория – «Математические». Тип – «МОБР».
- В поле аргумента «Массив» вписываем диапазон матрицы А.
- Нажимаем одновременно Shift+Ctrl+Enter - это обязательное условие для ввода массивов.
Возможности Excel не безграничны. Но множество задач программе «под силу». Тем более здесь не описаны возможности которые можно расширить с помощью макросов и пользовательских настроек.
«Подбор параметра» - ограниченный по функционалу вариант надстройки «Поиск решения». Это часть блока задач инструмента «Анализ «Что-Если»».
В упрощенном виде его назначение можно сформулировать так: найти значения, которые нужно ввести в одиночную формулу, чтобы получить желаемый (известный) результат.
Где находится «Подбор параметра» в Excel
Известен результат некой формулы. Имеются также входные данные. Кроме одного. Неизвестное входное значение мы и будем искать. Рассмотрим функцию «Подбора параметров» в Excel на примере.
Необходимо подобрать процентную ставку по займу, если известна сумма и срок. Заполняем таблицу входными данными.
Процентная ставка неизвестна, поэтому ячейка пустая. Для расчета ежемесячных платежей используем функцию ПЛТ.
Когда условия задачи записаны, переходим на вкладку «Данные». «Работа с данными» - «Анализ «Что-Если»» - «Подбор параметра».
В поле «Установить в ячейке» задаем ссылку на ячейку с расчетной формулой (B4). Поле «Значение» предназначено для введения желаемого результата формулы. В нашем примере это сумма ежемесячных платежей. Допустим, -5 000 (чтобы формула работала правильно, ставим знак «минус», ведь эти деньги будут отдаваться). В поле «Изменяя значение ячейки» - абсолютная ссылка на ячейку с искомым параметром ($B$3).
После нажатия ОК на экране появится окно результата.
Чтобы сохранить, нажимаем ОК или ВВОД.
Функция «Подбор параметра» изменяет значение в ячейке В3 до тех пор, пока не получит заданный пользователем результат формулы, записанной в ячейке В4. Команда выдает только одно решение задачи.
Решение уравнений методом «Подбора параметров» в Excel
Функция «Подбор параметра» идеально подходит для решения уравнений с одним неизвестным. Возьмем для примера выражение: 20 * х – 20 / х = 25. Аргумент х – искомый параметр. Пусть функция поможет решить уравнение подбором параметра и отобразит найденное значение в ячейке Е2.
В ячейку Е3 введем формулу: = 20 * Е2 – 20 / Е2.
А в ячейку Е2 поставим любое число, которое находится в области определения функции. Пусть это будет 2.
Запускам инструмент и заполняем поля:
«Установить в ячейке» - Е3 (ячейка с формулой);
«Значение» - 25 (результат уравнения);
«Изменяя значение ячейки» - $Е$2 (ячейка, назначенная для аргумента х).
Найденный аргумент отобразится в зарезервированной для него ячейке.
Решение уравнения: х = 1,80.
Функция «Подбор параметра» возвращает в качестве результата поиска первое найденное значение. Вне зависимости от того, сколько уравнение имеет решений.
Если, например, в ячейку Е2 мы поставим начальное число -2, то решение будет иным.
Примеры подбора параметра в Excel
Функция «Подбор параметра» в Excel применяется тогда, когда известен результат формулы, но начальный параметр для получения результата неизвестен. Чтобы не подбирать входные значения, используется встроенная команда.
Пример 1. Метод подбора начальной суммы инвестиций (вклада).
- срок – 10 лет;
- доходность – 10%;
- коэффициент наращения – расчетная величина;
- сумма выплат в конце срока – желаемая цифра (500 000 рублей).
Внесем входные данные в таблицу:
Начальные инвестиции – искомая величина. В ячейке В4 (коэффициент наращения) – формула =(1+B3)^B2.
Вызываем окно команды «Подбор параметра». Заполняем поля:
После выполнения команды Excel выдает результат:
Чтобы через 10 лет получить 500 000 рублей при 10% годовых, требуется внести 192 772 рубля.
Пример 2. Рассчитаем возможную прибавку к пенсии по старости за счет участия в государственной программе софинансирования.
- ежемесячные отчисления – 1000 руб.;
- период уплаты дополнительных страховых взносов – расчетная величина (пенсионный возраст (в примере – для мужчины) минус возраст участника программы на момент вступления);
- пенсионные накопления – расчетная величина (накопленная за период участником сумма, увеличенная государством в 2 раза);
- ожидаемый период выплаты трудовой пенсии – 228 мес.;
- желаемая прибавка к пенсии – 2000 руб.
С какого возраста необходимо уплачивать по 1000 рублей в качестве дополнительных страховых взносов, чтобы получить прибавку к пенсии в 2000 рублей:
- Ячейка с формулой расчета прибавки к пенсии активна – вызываем команду «Подбор параметра». Заполняем поля в открывшемся меню.
- Нажимаем ОК – получаем результат подбора.
Чтобы получить прибавку в 2000 руб., необходимо ежемесячно переводить на накопительную часть пенсии по 1000 рублей с 41 года.
Не очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза :) Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.
В реальной жизни эта задача может выглядеть по-разному.
- Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
- У нас есть несколько рулонов стали (линолеума, бумаги. ), из которых надо подобрать под заказ те, что дадут заданную длину.
- Блэкджек или в народе "очко". Надо набрать карты суммарной стоимостью максимально близкой к 21 баллу, но не превысить этот порог.
В некоторых случаях может быть известна разрешенная погрешность допуска. Она может быть как нулевой (в случае подбора счетов), так и ненулевой (в случае подбора рулонов), или ограниченной снизу или сверху (в случае блэкджека).
Давайте рассмотрим несколько способов решения такой задачи в Excel.
Способ 1. Надстройка Поиск решения (Solver)
Эта надстройка входит в стандартный набор пакета Microsoft Office вместе с Excel и предназначена, в общем случае, для решения линейных и нелинейных задач оптимизации при наличии списка ограничений. Чтобы ее подключить, необходимо:
- в Excel 2007 и новее зайти Файл - Параметры Excel - Надстройки - Перейти (File - Excel Options - Add-ins - Go)
- в Excel 2003 и старше - открыть меню Сервис - Надстройки (Tools - Add-ins)
и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.
Чтобы использовать надстройку Поиск решения для нашей задачи необходимо будет слегка модернизировать наш пример, добавив к списку подбираемых сумм несколько вспомогательных ячеек и формул:
- Диапазон A1:A20 содержит наши числа, из которых мы будем выбирать нужные, чтобы "вписаться" в заданную сумму.
- Диапазон В1:B20 будет своего рода набором переключателей, т.е. будет содержать нули или единички, показывая, отбираем мы данное число в выборку или нет.
- В ячейке E2 стоит обычная автосумма всех единичек по столбцу B, подсчитывающая кол-во выбранных чисел.
- В ячейке E3 с помощью функции СУММПРОИЗВ (SUMPRODUCT) считается сумма попарных произведений ячеек из столбцов А и B (то есть A1*B1+A2*B2+A3*B3+. ). Фактически, здесь подсчитывается сумма чисел из столбца А, отобранных единичками из столбца В.
- В розовую ячейку E4 пользователь вводит желаемую сумму для подбора.
- В ячейке E5 вычисляется абсолютное по модулю значение погрешности подбора с целью ее будущей минимизации.
- Все желтых ячейках Е8:E17 хотелось бы получить список отобранных чисел, т.е. тех чисел из столбца А, напротив которых в столбце В есть единички. Для этого необходимо выделить сразу все (!) желтые ячейки и в них ввести вот такую формулу массива:
=ЕСЛИОШИБКА(ИНДЕКС($A$1:$A$20;НАИМЕНЬШИЙ(ЕСЛИ(B1:B20=1;СТРОКА(B1:B20);"");СТРОКА()-СТРОКА($E$8)+1));"")
=IFERROR(INDEX($A$1:$A$20;SMALL(IF(B1:B20=1;ROW(B1:B20);"");ROW()-ROW($E$8)+1));"")
После ввода формулы ее необходимо ввести не как обычную формулу, а как формулу массива, т.е. нажать не Enter, а Ctrl+Shift+Enter. Похожая формула используется в примере о ВПР, выдающей сразу все найденные значения (а не только первое).
Теперь перейдем на вкладку (или в меню) Данные и запустим инструмент Поиск решения (Data - Solver):
В открывшемся окне необходимо:
- Задать как целевую функцию (Target Cell) - ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию - Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
- В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
- С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):
После ввода всех параметров и ограничений запускаем процесс подбора кнопкой Найти решение (Solve). Процесс подбора занимает от нескольких секунд до нескольких минут (в тяжелых случаях) и заканчивается появлением следующего окна:
Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).
Необходимо отметить, что для такого класса задач существует не одно, а целое множество решений, особенно, если не приравнивать жестко погрешность к нулю. Поэтому запуск Поиска решения с разными начальными данными (т.е. разными комбинациями 0 и 1 в столбце В) может приводить к разным наборам чисел в выборках в пределах заданных ограничений. Так что имеет смысл прогнать эту процедуру несколько раз, произвольно изменяя переключатели в столбце В.
Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные - Анализ "что-если" - Диспетчер сценариев (Data - What-If Analysis - Scenario Manager):
И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):
Способ 2. Макрос подбора
В этом способе всю работу делает макрос, который тупо перебирает случайные комбинации чисел, пока не наткнется на нужную сумму в пределах разрешенной погрешности. Добавлять столбец с нулями и единичками и формулы в этом случае не нужно.
Для использования макроса нажмите сочетание Alt+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert - Module и скопируйте туда этот код:
Аналогично первому способу, запуская макрос несколько раз, можно получать разные наборы подходящих чисел.
P.S. Сейчас набегут энтузиасты с мехмата МГУ с криками "Тупой перебор - это неэстетично!" Да, я в курсе, что прямой перебор вариантов - это не самый оптимальный способ поиска. Да, существует много умных алгоритмов поиска решения таких задач, которые сокращают время поиска и находят нужную комбинацию заметно быстрее. Могу даже рассказать про парочку. Но мне на данном этапе существующей скорости "тупого перебора" вполне достаточно - обработка массива из 1000 ячеек идет меньше секунды. Готов подождать :)
Читайте также: