Аналог поиска решения в excel

Аналог «поиск решения» для ГУгл Екселя?

Подскажите аналог стандартному в EXCEL «Поиск Решения»
Для Гугл Excel.
По сути как добавить в гугл ексель «поиск Решения»


  • Вопрос задан

    более трёх лет назад

  • 8773 просмотра

Подозреваю, что такого функционала в Гугл таблицах — нет. Тем не менее, вполне можно написать js макроc, который будет выполнять нужные операции.

Пригласить эксперта


  • Показать ещё
    Загружается…

15 апр. 2023, в 07:16

1000 руб./за проект

15 апр. 2023, в 04:50

7000 руб./за проект

15 апр. 2023, в 03:28

5000 руб./за проект

Минуточку внимания

Подбор слагаемых для нужной суммы

adjust0.pngНе очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза :)  Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.

В реальной жизни эта задача может выглядеть по-разному.

  • Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
  • У нас есть несколько рулонов стали (линолеума, бумаги…), из которых надо подобрать под заказ те, что дадут заданную длину.
  • Блэкджек или в народе «очко». Надо набрать карты суммарной стоимостью максимально близкой к 21 баллу, но не превысить этот порог.

В некоторых случаях может быть известна разрешенная погрешность допуска. Она может быть как нулевой (в случае подбора счетов), так и ненулевой (в случае подбора рулонов), или ограниченной снизу или сверху (в случае блэкджека).

Давайте рассмотрим несколько способов решения такой задачи в Excel.

Способ 1. Надстройка Поиск решения (Solver)

Эта надстройка входит в стандартный набор пакета Microsoft Office вместе с Excel и предназначена, в общем случае, для решения линейных и нелинейных задач оптимизации при наличии списка ограничений. Чтобы ее подключить, необходимо:

  • в Excel 2007 и новее зайти Файл — Параметры Excel — Надстройки — Перейти (File — Excel Options — Add-ins — Go)
  • в Excel 2003 и старше — открыть меню Сервис — Надстройки (Tools — Add-ins)

и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.

Чтобы использовать надстройку Поиск решения для нашей задачи необходимо будет слегка модернизировать наш пример, добавив к списку подбираемых сумм несколько вспомогательных ячеек и формул:

adjust1.png

  • Диапазон 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):

adjust4.png

В открывшемся окне необходимо:

  • Задать как целевую функцию (Target Cell) — ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию — Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
  • В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
  • С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):

    adjust5.png

  • С помощью той же кнопки, при необходимости, создать ограничение на количество чисел в выборке. Например, если мы знаем, что сумма была разбита на 5 счетов, то:

    adjust6.png

После ввода всех параметров и ограничений запускаем процесс подбора кнопкой Найти решение (Solve). Процесс подбора занимает от нескольких секунд до нескольких минут (в тяжелых случаях) и заканчивается появлением следующего окна:

adjust3.png

Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).

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

Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные — Анализ «что-если» — Диспетчер сценариев (Data — What-If Analysis — Scenario Manager):

adjust7.png

И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):

adjust8.png

Способ 2. Макрос подбора

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

adjust9.png

Для использования макроса нажмите сочетание Alt+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:

Sub Combinator()
    Dim Data() As Variant, Selected() As Variant
    Dim goal As Double, sel_count As Integer, prec As Double
    Const LIMIT = 1000000
    
    prec = Range("D5").Value
    sel_count = Range("D2").Value
    goal = Range("D4").Value
    
    Set OutRange = Range("D8")
    Set InputRange = Range("A1", Range("A1").End(xlDown))
    input_count = InputRange.Cells.Count
    Data = InputRange.Value
    ReDim Selected(1 To sel_count) As Variant

NewTry:
    For j = 1 To sel_count
Start:
        RandomIndex = Int(Rnd * input_count + 1)
        RandomValue = Data(RandomIndex, 1)
        
        'начиная со второго элемента дополнительно проверяем, чтобы такой уже не был выбран
        If j > 1 Then
            For k = 1 To j - 1
                If Selected(k) = RandomValue Then GoTo Start
            Next k
        End If
        Selected(j) = RandomValue
    Next j
    
    If Abs(WorksheetFunction.Sum(Selected) - goal) <= prec Then
        Range("D3").Value = WorksheetFunction.Sum(Selected)
        MsgBox "Подбор завершен. Необходимая точность достигнута."
        Range(OutRange, OutRange.End(xlDown)).ClearContents
        OutRange.Resize(sel_count, 1).Value = Application.Transpose(Selected)
        Exit Sub
    Else
        iterations = iterations + 1
        If iterations > LIMIT Then
            MsgBox "Достигнут лимит попыток. Решение не найдено."
            Exit Sub
        Else
            GoTo NewTry
        End If
    End If
End Sub


Аналогично первому способу, запуская макрос несколько раз, можно получать разные наборы подходящих чисел.

P.S. Сейчас набегут энтузиасты с мехмата МГУ с криками «Тупой перебор — это неэстетично!» Да, я в курсе, что прямой перебор вариантов — это не самый оптимальный способ поиска. Да, существует много умных алгоритмов поиска решения таких задач, которые сокращают время поиска и находят нужную комбинацию заметно быстрее. Могу даже рассказать про парочку. Но мне на данном этапе существующей скорости «тупого перебора» вполне достаточно — обработка массива из 1000 ячеек идет меньше секунды. Готов подождать :)

Ссылки по теме

  • Оптимизация бизнес-модели с помощью надстройки Поиск решения (Solver)
  • Что такое макросы, куда и как вставлять код макросов на VBA

Макрос — аналог инструмента «Поиск решения»

cerber412

Дата: Вторник, 12.06.2018, 16:46 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 131


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Всем привет. Подскажите — как решить задачу при помощи макроса.

Обычно для такого типа задач применяют инструмент «Поиск решения».
Как найти коэффициент в ячейке E2, без помощи инструмента «Поиск решения» — одним лишь макросом ?

Тут нюанс — нельзя подключать вообще никаких надстроек навроде Solver Add-in

К сообщению приложен файл:

primer1.xls
(26.5 Kb)

 

Ответить

StoTisteg

Дата: Вторник, 12.06.2018, 16:53 |
Сообщение № 2

Группа: Авторы

Ранг: Старожил

Сообщений: 1161


Репутация:

103

±

Замечаний:
0% ±


Excel 2010

cerber412, а что мешает взять да и записать тот же поиск решения макрорекордером и использовать полученный код?


Интуитивно понятный код — это когда интуитивно понятно, что это код.

 

Ответить

cerber412

Дата: Вторник, 12.06.2018, 17:00 |
Сообщение № 3

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 131


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

StoTisteg, нет — для этого нужно подключать надстройку (Solver Add-in кажется).
А делать этого нельзя — я же написал.
Поэтому я и задаю вопрос о том как это сделать макросом.

 

Ответить

RAN

Дата: Вторник, 12.06.2018, 18:39 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

cerber412, элементарно! Напишите на VBA аналог надстройки Solver.


Быть или не быть, вот в чем загвоздка!

 

Ответить

nilem

Дата: Вторник, 12.06.2018, 19:15 |
Сообщение № 5

Группа: Авторы

Ранг: Старожил

Сообщений: 1612


Репутация:

563

±

Замечаний:
0% ±


Excel 2013, 2016

cerber412, привет
Имеется в виду, что сумма премий известна. Надо только подобрать коэф-нт. Так?


Яндекс.Деньги 4100159601573

 

Ответить

cerber412

Дата: Вторник, 12.06.2018, 20:03 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 131


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Имеется в виду, что сумма премий известна. Надо только подобрать коэф-нт. Так?

Да

 

Ответить

nilem

Дата: Среда, 13.06.2018, 06:39 |
Сообщение № 7

Группа: Авторы

Ранг: Старожил

Сообщений: 1612


Репутация:

563

±

Замечаний:
0% ±


Excel 2013, 2016

Как-то вот так:
[vba]

Код

Sub ttt()
Dim smOkl#, smPrem#, kf#
smPrem = Application.InputBox(«Введите сумму премий», , 1000, , , , , 2)
If smPrem = 0 Then Exit Sub
With Range(«B2», Cells(Rows.Count, 2).End(xlUp))
    smOkl = WorksheetFunction.Sum(.Value)
    kf = smPrem / smOkl
    .Offset(, 1).FormulaR1C1 = «=R2C5*RC[-1]»
End With
Range(«E2»).Value = kf
End Sub

[/vba]


Яндекс.Деньги 4100159601573

 

Ответить

cerber412

Дата: Среда, 13.06.2018, 10:08 |
Сообщение № 8

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 131


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

nilem, ясно. Спасибо.

 

Ответить

6 / 6 / 3

Регистрация: 23.06.2012

Сообщений: 51

1

14.03.2015, 08:51. Показов 4555. Ответов 6


Студворк — интернет-сервис помощи студентам

Всем доброго времени суток. Хотелось бы узнать, возможно ли создать аналог надстройки «Поиск решений» из Excel на VB.NET? Если да, то как.
Также интересно, возможно ли «привинтить» данную надстройку в программу, если создать её гораздо сложнее/невозможно.

Если есть специалист, разбирающийся в принципах работы данной надстройки, то с радостью приму от него информацию о том, по каким принципам и алгоритмам она работает, т.е. какие уравнения там используются и т.п.

Заранее спасибо всем.



0



2079 / 1232 / 464

Регистрация: 20.12.2014

Сообщений: 3,237

14.03.2015, 09:42

2

Цитата
Сообщение от Ruswolf
Посмотреть сообщение

по каким принципам и алгоритмам она работает, т.е. какие уравнения там используются и т.п.

Когда-то давно делал реализацию поиска решения на VBA. В интернете есть информация по этому поводу. Нашел тогда практически весь код. Ссылки, к сожалению не сохранил, но помню, что искал не долго. А уж переделать программу с VBA на VB.NET, думаю, вполне реально.



0



6 / 6 / 3

Регистрация: 23.06.2012

Сообщений: 51

14.03.2015, 10:26

 [ТС]

3

К сожалению, с VBA я не знаком. Если и найду информацию, то нужно будет повтыкать ещё в код VBA, но, думаю, я разберусь. Жаль, что ссылки не сохранены, очень пригодились бы.



0



6 / 6 / 3

Регистрация: 23.06.2012

Сообщений: 51

14.03.2015, 15:20

 [ТС]

5

Спасибо за ссылку. С ней всё кажется попроще.

А нужно ли подключать библиотеку VBA в проект, чтобы использовать код VBA? Или код нужно переработать под VB.NET? Или сделать и то, и другое?



0



2079 / 1232 / 464

Регистрация: 20.12.2014

Сообщений: 3,237

14.03.2015, 21:47

6

Мне кажется библиотеку подключать надо, потому что там специфические функции, ну и код, естественно, придется чуть подправить. Всё-таки vba и vb.net отличаются. Вот, еще ссылку нашел, правда там на английском всё, но перевести переводчиком, я думаю, сможете. Насколько я понял — это что-то типа поиска решения на разных языках программирования. Или, даже, надстройки для разных языков.
http://www.solver.com/solver-p… ort#VB.NET



1



6 / 6 / 3

Регистрация: 23.06.2012

Сообщений: 51

15.03.2015, 20:13

 [ТС]

7

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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

Добавлено через 7 часов 38 минут
Если кому-то будет интересно, то вот статейка, в которой кратко описывается библиотека для подключения Excel Solver (рус. «Поиск решения»).
http://habrahabr.ru/company/microsoft/blog/118593/



1



   DmSk

05.04.11 — 12:26

Ищу аналог «поиска решений» EXEL на 1С 7.7. Есть исходники на си, но переписывать долго.

   1Сергей

1 — 05.04.11 — 12:27

йоксель?

   1Сергей

2 — 05.04.11 — 12:27

хотя, нет. Что за «поиск решений» я хз

   skunk

3 — 05.04.11 — 12:30

   МихаилМ

4 — 05.04.11 — 12:31

сольвер использует метод градиентов.

время-деньги.
коли долго (нет времени) — закажите аутсорсерам.
но в виде вк — быстрее напорядки.

   DrZombi

5 — 05.04.11 — 12:32

(3)Еще их кличут «Анализ данных…» (Сервис -> «Анализ данных…»)…
(0)Так то это все рассчитываемо и без этих мастеров.

   Оболтус

6 — 05.04.11 — 12:32

Excel тогда уж…

   1Сергей

7 — 05.04.11 — 12:35

ни у кого не возник китайский вопрос?

   DmSk

8 — 05.04.11 — 12:43

(4) сколько примерно времени нужно чтобы в 1-го это сделать ?

   DmSk

9 — 05.04.11 — 12:44

(4) задача неясно поставлена, нужно именно прикладное решение, потому самому пыхтеть придется

   DmSk

10 — 05.04.11 — 12:45

(3) Чтобы получить более подробные сведения об используемых алгоритмах оптимального поиска, обратитесь по адресу:

Frontline Systems, Inc.
P.O. Box 4288
Incline Village, NV 89450-4288
(775) 831-0300
Адрес в Интернете: http://www.frontsys.com
Электронная почта: info@frontsys.com
очень помогло

   Denp

11 — 05.04.11 — 12:52

(0) вот нафига делать численные методы в проге, для этого не приспособленной? мне страшно представить, сколько будет искать решение 1С для нескольких переменных при более менее сложной функции.
пишите на 1с и выносите в ВК.

ЗЫ Поиск решений в Екселе — УГ

   Ахиллес

12 — 05.04.11 — 12:58

(11) Расшифруй. Что значит «пишите на 1с и выносите в ВК». Давно у нас в 1С компилятор встроен?

   Denp

13 — 05.04.11 — 12:59

(12) пардон. конечно, имел в виду в (11) «пишите на с++ и выносите в ВК»

   DmSk

14 — 05.04.11 — 13:06

   DmSk

15 — 05.04.11 — 13:06

написано специально для 1С

   Denp

16 — 05.04.11 — 13:07

(15) а какая задача исходно стоит? что надо оптимизировать?

   DmSk

17 — 05.04.11 — 13:13

(16) расчет состава рецепта комбикорма,
из условий,
1. что  полученное качество будет не хуже госта
2. процент вхождения каждого компонента состава в пределах от и до
3. Компоненты есть на складе, если компонента нет то есть список взаимозаменяемости компонентов

   dk

18 — 05.04.11 — 13:14

а по OLE в Excel запускать не вариант?

   Denp

19 — 05.04.11 — 13:14

(17) качество — это содержание белка?
взаимозаменяемость по условию, а не произвольная, сильно усложняет задачу

   DmSk

20 — 05.04.11 — 13:15

(18) плохой вариант

   DmSk

21 — 05.04.11 — 13:20

(19) каждый компонент (отруби и т.д.) имеет свой показетель питательной ценности, это обменная энергия, сырой протеин, клетчатка, Лизин, и т.д.
вот  в сумме  эти компоненты должны давать корм с пит ценностью, для протеина от 15 до 17% , для клетчатки до 9% и т.д.
с взаимозаменяемостью, задача вообще непонятно как стоит, ведь несколько компонентов можно заменить на один и тот же, пока буду опираться на практику, то есть на примеры решений технолога,а потом выведу метод . возможно комбинатоника пригодится

   DmSk

22 — 05.04.11 — 13:22

кроме того в формулу оптимизации цена стремится к минимуму, нужно предусмотреть чтобы можно было приготовить корм из остатков, чтобы свести конечный остаток к минимуму. так что задача классная !

   Denp

23 — 05.04.11 — 13:22

(21) а критерий оптимизации какой тогда? Стоиомсть?

   Fragster

24 — 05.04.11 — 13:24

в 1се есть какой-то анализ данных

   DmSk

25 — 05.04.11 — 13:28

(23) взависимости от выбора решения
если не нужно остатки подбивать, то стоимость -> МИн,
если нужно остатки подбить, то остатки на складе — >Мин

   DmSk

26 — 07.04.11 — 06:57

В общем компонента тупит(не находит решение), там где эксель справляется :(

   ASV

27 — 07.04.11 — 07:11

(26) исходные данные выложи

   DmSk

28 — 07.04.11 — 08:12

   DmSk

29 — 07.04.11 — 10:34

вот слил исходники с откомпиленным exe, тоже реализация метода, по примеру находит решение без проблем
http://hddfiles.ru/download/4915/

   DmSk

30 — 07.04.11 — 10:55

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

   Кирпич

31 — 07.04.11 — 13:06

(0) Да тупого перебора хватит должно хватить. Даже если на 1С реализовать.

   Попытка1С

32 — 07.04.11 — 13:09

А я прям из 1с заюзал екселевский механизм поиска решений.

   ado

33 — 07.04.11 — 13:17

(8) Пара часов, если соответствующей математикой владеешь.

   Denp

34 — 07.04.11 — 13:18

(31) бугага

   Кирпич

35 — 07.04.11 — 13:38

(34) Чо ты ржешь?

   Denp

36 — 07.04.11 — 13:44

(35) какой перебор при нецелочисленной оптимизации нафих?
какая скорость перебора при нескольких переменных?
чо за фантазии?

   Кирпич

37 — 07.04.11 — 13:56

(36) Да ладна. Ничо там страшного нету.

   Eugeneer

38 — 07.04.11 — 13:57

Если бы 1С сделал свой эксель он бы быстро набрал бы популярность. Я бы точно купил.

   Denp

39 — 07.04.11 — 14:12

(37) теоретик?

   Кирпич

40 — 07.04.11 — 14:14

(39) Хуже

   DmSk

41 — 08.04.11 — 05:59

(39)(40)
если даже взять целочисленно дял каждоко компонента от 0..100, и этих компонентов будет 5,
то получим 100*100*100*100*100 = 10 000 000 000 комбинаций,
если ещё проверять ограничения их штук 8, взависимости от типа смеси.
представим что 1С за 1 секунду переберет 1000 варинатов (что врядли), получи  10 000 000 секунд, получим 115 дней :)

   Denp

42 — 08.04.11 — 06:39

(28) что за дурацкая мода выкладывать в xlsx?

ЗЫ все же МС — дебилы

   Кирпич

43 — 08.04.11 — 08:23

(41) Ну там можно не всё перебирать, а только то, что нужно. Автор объяснил бы поконкретнее, что именно нужно.

   Denp

44 — 08.04.11 — 08:24

(43) «можно не всё перебирать, а только то, что нужно»
гы) конгениально!) только это уже будет не «тупой перебор», как ты предлагал

   Кирпич

45 — 08.04.11 — 08:26

(44) Это будет тупой перебор того, что нужно. И не обещал я ничего. Я предположение высказал.

   DmSk

46 — 14.04.11 — 13:24

ну вот прошло 9 дней с момента поиска до реализации,
как ни странно компонента для 1С с http://www.openproj.ru/75/
не всё решала, ходя делфовый исходник в (написал прогу на дельфи) тестовые примеры выполняла. получилось, что
исходник на дельфи работает, а из компоненты не хочет.
Поскольку исходника компоненты небыло, пришлось самому писать, шаблон компоненты взял отсюда с мисты спасибо огромное всё довольно просто оказалось в создании компонент.
Далее из компоненты сделал лог, который показывал результаты, оказалось, что результаты сверхмалых величин разные (вот тут описал проблему В компоненте для 1С 7.7.на Delphi 6 получаются другие значение, чем на самом Del, перевел коэффициент погрешности в с -13 степени на -10 и всё пошло !!! Из-за того, что автор компоненты не учёл этого, пришлось изучить методику создания компоненты, + вспомнить математику, спасибо автору !

  

DmSk

47 — 14.04.11 — 13:32

чуть позже выложу исходники , для совместимости с предыдущей компонентой все названия методов оставл прежние

Поиск решения в Microsoft Excel

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

Включение функции

Можно долго искать на ленте, где находится Поиск решения, но так и не найти данный инструмент. Просто, для активации данной функции, нужно её включить в настройках программы.

Для того, чтобы произвести активацию Поиска решений в программе Microsoft Excel 2010 года, и более поздних версий, переходим во вкладку «Файл». Для версии 2007 года, следует нажать на кнопку Microsoft Office в левом верхнем углу окна. В открывшемся окне, переходим в раздел «Параметры».

Переход в раздел Параметры в Microsoft Excel

В окне параметров кликаем по пункту «Надстройки». После перехода, в нижней части окна, напротив параметра «Управление» выбираем значение «Надстройки Excel», и кликаем по кнопке «Перейти».

Переход в надстройки в Microsoft Excel

Открывается окно с надстройками. Ставим галочку напротив наименования нужной нам надстройки – «Поиск решения». Жмем на кнопку «OK».

Активация функции Поиск решения в Microsoft Excel

После этого, кнопка для запуска функции Поиска решений появится на ленте Excel во вкладке «Данные».

Функция поиск решения активирована в Microsoft Excel

Подготовка таблицы

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

Целевая ячейка в Microsoft Excel

Коэффициент, который применяется для расчета суммы премии, нам предстоит вычислить с помощью функции Поиска решений. Ячейка, в которой он располагается, называется искомой.

Искомая ячейка в Microsoft Excel

Lumpics.ru

Целевая и искомая ячейка должны быть связанны друг с другом с помощью формулы. В нашем конкретном случае, формула располагается в целевой ячейке, и имеет следующий вид: «=C10*$G$3», где $G$3 – абсолютный адрес искомой ячейки, а «C10» — общая сумма заработной платы, от которой производится расчет премии работникам предприятия.

Связующая формула в Microsoft Excel

Запуск инструмента Поиск решения

После того, как таблица подготовлена, находясь во вкладке «Данные», жмем на кнопку «Поиск решения», которая расположена на ленте в блоке инструментов «Анализ».

Запуск поиска решений в Microsoft Excel

Открывается окно параметров, в которое нужно внести данные. В поле «Оптимизировать целевую функцию» нужно ввести адрес целевой ячейки, где будет располагаться общая сумма премии для всех работников. Это можно сделать либо пропечатав координаты вручную, либо кликнув на кнопку, расположенную слева от поля введения данных.

Переход к вводу целевой ячейки в Microsoft Excel

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

Выбор целевой ячейки в Microsoft Excel

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

Установка значения целевой ячейки в Microsoft Excel

Ниже расположено поле «Изменяя ячейки переменных». Тут нужно указать адрес искомой ячейки, где, как мы помним, находится коэффициент, умножением на который основной заработной платы будет рассчитана величина премии. Адрес можно прописать теми же способами, как мы это делали для целевой ячейки.

Установка искомой ячейки в Microsoft Excel

В поле «В соответствии с ограничениями» можно выставить определенные ограничения для данных, например, сделать значения целыми или неотрицательными. Для этого, жмем на кнопку «Добавить».

Добавление ограничения в Microsoft Excel

После этого, открывается окно добавления ограничения. В поле «Ссылка на ячейки» прописываем адрес ячеек, относительно которых вводится ограничение. В нашем случае, это искомая ячейка с коэффициентом. Далее проставляем нужный знак: «меньше или равно», «больше или равно», «равно», «целое число», «бинарное», и т.д. В нашем случае, мы выберем знак «больше или равно», чтобы сделать коэффициент положительным числом. Соответственно, в поле «Ограничение» указываем число 0. Если мы хотим настроить ещё одно ограничение, то жмем на кнопку «Добавить». В обратном случае, жмем на кнопку «OK», чтобы сохранить введенные ограничения.

Параметры ограничения в Microsoft Excel

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

Установка неотрицательных значений в Microsoft Excel

Дополнительные настройки можно задать, кликнув по кнопке «Параметры».

Переход к параметрам поиска решений в Microsoft Excel

Здесь можно установить точность ограничения и пределы решения. Когда нужные данные введены, жмите на кнопку «OK». Но, для нашего случая, изменять эти параметры не нужно.

Параметры Поиска решения в Microsoft Excel

После того, как все настройки установлены, жмем на кнопку «Найти решение».

Переход к поиску решения в Microsoft Excel

Далее, программа Эксель в ячейках выполняет необходимые расчеты. Одновременно с выдачей результатов, открывается окно, в котором вы можете либо сохранить найденное решение, либо восстановить исходные значения, переставив переключатель в соответствующую позицию. Независимо от выбранного варианта, установив галочку «Вернутся в диалоговое окно параметров», вы можете опять перейти к настройкам поиска решения. После того, как выставлены галочки и переключатели, жмем на кнопку «OK».

Результаты поиска решений в Microsoft Excel

Если по какой-либо причине результаты поиска решений вас не удовлетворяют, или при их подсчете программа выдаёт ошибку, то, в таком случае, возвращаемся, описанным выше способом, в диалоговое окно параметров. Пересматриваем все введенные данные, так как возможно где-то была допущена ошибка. В случае, если ошибка найдена не была, то переходим к параметру «Выберите метод решения». Тут предоставляется возможность выбора одного из трех способов расчета: «Поиск решения нелинейных задач методом ОПГ», «Поиск решения линейных задач симплекс-методом», и «Эволюционный поиск решения». По умолчанию, используется первый метод. Пробуем решить поставленную задачу, выбрав любой другой метод. В случае неудачи, повторяем попытку, с использованием последнего метода. Алгоритм действий всё тот же, который мы описывали выше.

Выбор метода решения в Microsoft Excel

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

MulTEx »

22 Ноябрь 2015              2003 просмотров

Найти решение

Данная функция является частью надстройки MulTEx


Вызов команды:
MulTEx -группа Установки/Информация/ПомощьСправкаНайти решение


Команда предназначена для поиска статей на сайте www.excel-vba.ru по введенному поисковому запросу.
Найти решение

По сути это аналог поиска на сайте, но с возможностью фильтрации типов статей:

  • Статьи MulTEx — в результате поиска в список статей будут записаны статьи, относящиеся к MulTEx (как правило это статьи с описанием команд и функций MulTEx)
  • Статьи раздела Хитрости — в результате поиска в список будут записаны статьи из раздела Хитрости сайта www.excel-vba.ru, подходящие под поисковый запрос
  • Прочие статьи сайта, включая блог — все остальные статьи, не входящие ни в один из перечисленных выше разделов.

Если не хотите получать в результирующем списке статьи какой-то из категорий — просто снимите флажок с этой категории. Важно: фильтрацию можно применить и после выполнения поискового запроса — результат будет выведен в список в соответствии с заданными фильтрами без повторного запроса на сайт.

Поиск осуществляется посредством ввода текста в текстовое поле вверху формы и нажатия клавиши Enter или кнопки НАЙТИ РЕШЕНИЕ.
Перемещаться по ссылкам в списке можно используя клавиатуру (стрелки вверх и вниз) или прокрутку мыши.
Для открытия нужной ссылки необходимо:

  • либо дважды щелкнуть левой кнопкой мыши по нужной ссылке
  • либо нажать на ссылке правой кнопкой мыши и выбрать Перейти по ссылке
  • либо выделить нужную ссылку и нажать сочетание клавиш Ctrl+Enter

Открывать ссылки:
Вы можете открывать ссылки на найденные статьи либо браузере, который используете по умолчанию для открытия интернет-ссылок(IE, Opera, FireFox, Google Chrome и т.п.) или напрямую в форме поиска.

  • В форме поиска — в данном случае форма поиска будет увеличена и будет отображена дополнительная область для показа данных выбранной страницы. При этом форму можно дополнительно увеличить, сделав её шире и выше. Для этого необходимо навести курсор мыши на край формы (курсор приобретет вид двусторонней стрелки) и расширить форму, зажав левую кнопку мыши.
    Открывать ссылки в форме
  • В браузере по умолчанию — выбранная страница будет открываться в браузере, который установлен в системе браузером по умолчанию, в котором вы привыкли просматривать все интернет-ссылки.

Для чего это может быть нужно: не всегда есть желание для поиска решения в Excel открывать браузер и искать его, бегая по ссылкам, которые никак не категоризованы — все в одной куче: и MulTEx, и Хитрости, и прочее.

Примечание: для поиска решения необходимо подключение к интернет. При этом после нажатия НАЙТИ РЕШЕНИЕ какое-то время Excel может быть не доступен, т.к. будет получать данные с сайта. Прогресс получения данных можно будет увидеть чуть ниже поля со списком результатов.


Расскажи друзьям, если статья оказалась полезной:

  Плейлист   Видеоинструкции по использованию надстройки MulTEx

Решение системы уравнений в Microsoft Excel

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

Варианты решений

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

Способ 1: матричный метод

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

  1. Заполняем матрицу числами, которые являются коэффициентами уравнения. Данные числа должны располагаться последовательно по порядку с учетом расположения каждого корня, которому они соответствуют. Если в каком-то выражении один из корней отсутствует, то в этом случае коэффициент считается равным нулю. Если коэффициент не обозначен в уравнении, но соответствующий корень имеется, то считается, что коэффициент равен 1. Обозначаем полученную таблицу, как вектор A.

Отдельно записываем значения после знака «равно». Обозначаем их общим наименованием, как вектор B.

Теперь для нахождения корней уравнения, прежде всего, нам нужно отыскать матрицу, обратную существующей. К счастью, в Эксель имеется специальный оператор, который предназначен для решения данной задачи. Называется он МОБР. Он имеет довольно простой синтаксис:

Аргумент «Массив» — это, собственно, адрес исходной таблицы.

Итак, выделяем на листе область пустых ячеек, которая по размеру равна диапазону исходной матрицы. Щелкаем по кнопке «Вставить функцию», расположенную около строки формул.

Выполняется запуск Мастера функций. Переходим в категорию «Математические». В представившемся списке ищем наименование «МОБР». После того, как оно отыскано, выделяем его и жмем на кнопку «OK».

Запускается окно аргументов функции МОБР. Оно по числу аргументов имеет всего одно поле – «Массив». Тут нужно указать адрес нашей таблицы. Для этих целей устанавливаем курсор в это поле. Затем зажимаем левую кнопку мыши и выделяем область на листе, в которой находится матрица. Как видим, данные о координатах размещения автоматически заносятся в поле окна. После того, как эта задача выполнена, наиболее очевидным было бы нажать на кнопку «OK», но не стоит торопиться. Дело в том, что нажатие на эту кнопку является равнозначным применению команды Enter. Но при работе с массивами после завершения ввода формулы следует не кликать по кнопке Enter, а произвести набор сочетания клавиш Ctrl+Shift+Enter. Выполняем эту операцию.

Теперь нам нужно будет умножить обратную матрицу на матрицу B, которая состоит из одного столбца значений, расположенных после знака «равно» в выражениях. Для умножения таблиц в Экселе также имеется отдельная функция, которая называется МУМНОЖ. Данный оператор имеет следующий синтаксис:

Выделяем диапазон, в нашем случае состоящий из четырех ячеек. Далее опять запускаем Мастер функций, нажав значок «Вставить функцию».

В категории «Математические», запустившегося Мастера функций, выделяем наименование «МУМНОЖ» и жмем на кнопку «OK».

Активируется окно аргументов функции МУМНОЖ. В поле «Массив1» заносим координаты нашей обратной матрицы. Для этого, как и в прошлый раз, устанавливаем курсор в поле и с зажатой левой кнопкой мыши выделяем курсором соответствующую таблицу. Аналогичное действие проводим для внесения координат в поле «Массив2», только на этот раз выделяем значения колонки B. После того, как вышеуказанные действия проведены, опять не спешим жать на кнопку «OK» или клавишу Enter, а набираем комбинацию клавиш Ctrl+Shift+Enter.

  • После данного действия в предварительно выделенной ячейке отобразятся корни уравнения: X1, X2, X3 и X4. Они будут расположены последовательно. Таким образом, можно сказать, что мы решили данную систему. Для того, чтобы проверить правильность решения достаточно подставить в исходную систему выражений данные ответы вместо соответствующих корней. Если равенство будет соблюдено, то это означает, что представленная система уравнений решена верно.
  • Способ 2: подбор параметров

    Второй известный способ решения системы уравнений в Экселе – это применение метода подбора параметров. Суть данного метода заключается в поиске от обратного. То есть, основываясь на известном результате, мы производим поиск неизвестного аргумента. Давайте для примера используем квадратное уравнение

      Принимаем значение x за равное 0. Высчитываем соответствующее для него значение f(x), применив следующую формулу:

    Вместо значения «X» подставляем адрес той ячейки, где расположено число 0, принятое нами за x.

    Переходим во вкладку «Данные». Жмем на кнопку «Анализ «что если»». Эта кнопка размещена на ленте в блоке инструментов «Работа с данными». Открывается выпадающий список. Выбираем в нем позицию «Подбор параметра…».

    Запускается окно подбора параметров. Как видим, оно состоит из трех полей. В поле «Установить в ячейке» указываем адрес ячейки, в которой находится формула f(x), рассчитанная нами чуть ранее. В поле «Значение» вводим число «0». В поле «Изменяя значения» указываем адрес ячейки, в которой расположено значение x, ранее принятое нами за 0. После выполнения данных действий жмем на кнопку «OK».

    После этого Эксель произведет вычисление с помощью подбора параметра. Об этом сообщит появившееся информационное окно. В нем следует нажать на кнопку «OK».

  • Результат вычисления корня уравнения будет находиться в той ячейке, которую мы назначили в поле «Изменяя значения». В нашем случае, как видим, x будет равен 6.
  • Этот результат также можно проверить, подставив данное значение в решаемое выражение вместо значения x.

    Способ 3: метод Крамера

    Теперь попробуем решить систему уравнений методом Крамера. Для примера возьмем все ту же систему, которую использовали в Способе 1:

      Как и в первом способе, составляем матрицу A из коэффициентов уравнений и таблицу B из значений, которые стоят после знака «равно».

    Далее делаем ещё четыре таблицы. Каждая из них является копией матрицы A, только у этих копий поочередно один столбец заменен на таблицу B. У первой таблицы – это первый столбец, у второй таблицы – второй и т.д.

    Теперь нам нужно высчитать определители для всех этих таблиц. Система уравнений будет иметь решения только в том случае, если все определители будут иметь значение, отличное от нуля. Для расчета этого значения в Экселе опять имеется отдельная функция – МОПРЕД. Синтаксис данного оператора следующий:

    Таким образом, как и у функции МОБР, единственным аргументом выступает ссылка на обрабатываемую таблицу.

    Итак, выделяем ячейку, в которой будет выводиться определитель первой матрицы. Затем жмем на знакомую по предыдущим способам кнопку «Вставить функцию».

    Активируется окно Мастера функций. Переходим в категорию «Математические» и среди списка операторов выделяем там наименование «МОПРЕД». После этого жмем на кнопку «OK».

    Запускается окно аргументов функции МОПРЕД. Как видим, оно имеет только одно поле – «Массив». В это поле вписываем адрес первой преобразованной матрицы. Для этого устанавливаем курсор в поле, а затем выделяем матричный диапазон. После этого жмем на кнопку «OK». Данная функция выводит результат в одну ячейку, а не массивом, поэтому для получения расчета не нужно прибегать к нажатию комбинации клавиш Ctrl+Shift+Enter.

    Функция производит подсчет результата и выводит его в заранее выделенную ячейку. Как видим, в нашем случае определитель равен -740, то есть, не является равным нулю, что нам подходит.

    Аналогичным образом производим подсчет определителей для остальных трех таблиц.

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

  • Теперь пора найти корни уравнения. Корень уравнения будет равен отношению определителя соответствующей преобразованной матрицы на определитель первичной таблицы. Таким образом, разделив поочередно все четыре определителя преобразованных матриц на число -148, которое является определителем первоначальной таблицы, мы получим четыре корня. Как видим, они равны значениям 5, 14, 8 и 15. Таким образом, они в точности совпадают с корнями, которые мы нашли, используя обратную матрицу в способе 1, что подтверждает правильность решения системы уравнений.
  • Способ 4: метод Гаусса

    Решить систему уравнений можно также, применив метод Гаусса. Для примера возьмем более простую систему уравнений из трех неизвестных:

      Опять последовательно записываем коэффициенты в таблицу A, а свободные члены, расположенные после знака «равно» — в таблицу B. Но на этот раз сблизим обе таблицы, так как это понадобится нам для работы в дальнейшем. Важным условием является то, чтобы в первой ячейке матрицы A значение было отличным от нуля. В обратном случае следует переставить строки местами.

    Копируем первую строку двух соединенных матриц в строчку ниже (для наглядности можно пропустить одну строку). В первую ячейку, которая расположена в строке ещё ниже предыдущей, вводим следующую формулу:

    Если вы расположили матрицы по-другому, то и адреса ячеек формулы у вас будут иметь другое значение, но вы сможете высчитать их, сопоставив с теми формулами и изображениями, которые приводятся здесь.

    После того, как формула введена, выделите весь ряд ячеек и нажмите комбинацию клавиш Ctrl+Shift+Enter. К ряду будет применена формула массива и он будет заполнен значениями. Таким образом мы произвели вычитание из второй строки первой, умноженной на отношение первых коэффициентов двух первых выражений системы.

    После этого копируем полученную строку и вставляем её в строчку ниже.

    Выделяем две первые строки после пропущенной строчки. Жмем на кнопку «Копировать», которая расположена на ленте во вкладке «Главная».

    Пропускаем строку после последней записи на листе. Выделяем первую ячейку в следующей строке. Кликаем правой кнопкой мыши. В открывшемся контекстном меню наводим курсор на пункт «Специальная вставка». В запустившемся дополнительном списке выбираем позицию «Значения».

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

    После ввода формулы выделяем весь ряд и применяем сочетание клавиш Ctrl+Shift+Enter.

    Теперь следует выполнить обратную прогонку по методу Гаусса. Пропускаем три строки от последней записи. В четвертой строке вводим формулу массива:

    Таким образом, мы делим последнюю рассчитанную нами строку на её же третий коэффициент. После того, как набрали формулу, выделяем всю строчку и жмем сочетание клавиш Ctrl+Shift+Enter.

    Поднимаемся на строку вверх и вводим в неё следующую формулу массива:

    Жмем привычное уже нам сочетание клавиш для применения формулы массива.

    Поднимаемся ещё на одну строку выше. В неё вводим формулу массива следующего вида:

    Опять выделяем всю строку и применяем сочетание клавиш Ctrl+Shift+Enter.

  • Теперь смотрим на числа, которые получились в последнем столбце последнего блока строк, рассчитанного нами ранее. Именно эти числа (4, 7 и 5) будут являться корнями данной системы уравнений. Проверить это можно, подставив их вместо значений X1, X2 и X3 в выражения.
  • Как видим, в Экселе систему уравнений можно решить целым рядом способов, каждый из которых имеет собственные преимущества и недостатки. Но все эти методы можно условно разделить на две большие группы: матричные и с применением инструмента подбора параметров. В некоторых случаях не всегда матричные методы подходят для решения задачи. В частности тогда, когда определитель матрицы равен нулю. В остальных же случаях пользователь сам волен решать, какой вариант он считает более удобным для себя.

    Помимо этой статьи, на сайте еще 12765 полезных инструкций.
    Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Решение систем уравнений в среде Microsoft Excel

    обучающие:

    • повторение и закрепление знаний учащихся правил записи арифметических выражений и формул в электронных таблицах;
    • повторение алгоритма решения систем уравнений;
    • формирование знаний и умений в решении систем уравнений, используя возможности электронных таблиц;

    развивающие:

    • формирование умений анализировать, выделять главное, сравнивать, строить аналогии;

    воспитывающие:

    • осуществление эстетического воспитания;
    • воспитание аккуратности, добросовестности.

    Тип урока: урок закрепления изученного материала и объяснения нового.

    ХОД УРОКА

    I. Организационная часть.

    Здравствуйте! Все мы знаем, что одну и ту же информацию можно закодировать любым способом. Перед вами набор чисел. Известно, что каждому числу ставится в соответствие буква в русском алфавите. Расшифруйте эту информацию, кто быстрее!

    Ответ: “Знание – сила!”

    Молодцы! А знаете, кому принадлежит это выражение? (Если нет, то один ученик ищет ответ в Интернете. Остальные отвечают на вопросы: Для чего предназначена программа Excel? (Программа Excel предназначена для хранения и обработки данных, представленных в табличном виде) Что собой представляет документ в Excel? (Каждый документ в Excel представляет собой набор таблиц – рабочую книгу, которая состоит из одного или многих рабочих листов) Какая функция используется для подсчета суммы чисел? (Функция СУММ). Как определить адрес ячейки? (Excel вводит номера ячеек автоматически. Адрес ячейки составляется как объединение номеров столбца и строки без пробела между ними)

    Выражение английского философа Френсиса Бэкона “Знание – сила!” и будет эпиграфом к нашему уроку. («Нравственные и политические очерки», 1597).

    II. Повторение пройденного материала.

    Мы уже знакомы с программой Microsoft Excel, умеем записывать арифметические выражения и различные формулы, находить значения арифметических выражений и построить графики функций. Чтобы проверить выполнение домашнего задания, предлагаю каждому пройти тестирование. (Приложение 1)

    Хорошо, все справились и каждому поставим соответствующие оценки в журнал. А давайте устроим путешествие в математику и вспомним, что мы понимаем под понятием: “Решить систему уравнений”? (Найти такие значения х и у, которые будут удовлетворять и первое уравнение и второе). Какие способы существуют для решения систем уравнений (метод подстановки, метод сложения и графический способ). Сегодня мы с вами научимся решать системы уравнений, используя возможности электронных таблиц.

    III. Объяснение нового.

    А. Решим систему графическим способом. Преобразуем данную систему . Для решения воспользуемся диаграммой, на которой отобразим графики обеих функций. Заполняем столбец А: заполняем ячейки А2:А22 числами от -5 до 5 с шагом 0,5. (в ячейку А2 заносим число -5, в ячейку А3 – число -4,5, выделяем ячейки А2 и А3, установим курсор мыши на правый нижний угол рамки (указатель примет форму черного крестика) и растягиваем рамку вниз, пока последнее значение не станет равным 5). При заполнении столбца В в ячейку В2 заносим формулу =А2*А2, которую затем копируем до ячейки В22. (протянем формулу за правый нижний угол). При заполнении столбца С в ячейку С2 заносим формулу =1-2*А2, копируем ее до ячейки С22. Выделим блок с данными, с помощью Мастера диаграмм выберем тип диаграммы Точечная и построим графики функций. Координаты точек пересечения графиков – решения системы.

    Получены приближенные значения решений. Чем меньше шаг, тем точнее значение координат точек пересечения.

    Запишем алгоритм решения систем уравнений графическим способом:

    1. Преобразовать систему уравнений, если это необходимо.

    2. Задать начальные значения для Х.

    3. Найти значение первой функции при заданных Х.

    4. Найти значение второй функции при тех же Х.

    5. Выделить блок с данными и построить графики функций, используя точечный тип диаграммы.

    6. Решение системы — точка пересечения графиков функций.

    7. Для нахождения координат точек пересечения с заданной точностью построить новый график на том отрезке, где находится решение, с шагом, равным значению точности.

    Б. Решить систему уравнений . Занесем в электронную таблицу исходные данные и расчетные формулы следующим образом:.

    Для решения системы уравнений воспользуемся надстройкой Поиск решения, которая запускается через Сервис (-Надстройки) и заполним диалоговое окно следующим образом:

    При нажатии на кнопку Выполнить происходит решение системы уравнений и в ячейках B3 и B4 высвечивается результат.

    Запишем примерный алгоритм решения системы уравнений, используя Поиск решения

    1. Преобразовать систему уравнений, если это необходимо

    2. Записать исходные данные (в ячейку А1 ввести текст “Решите уравнение”, в ячейку В1 записать первое уравнение, в ячейку В2 второе уравнение, в ячейку А3 ввести текст “Х=”, в ячейку А4 “Y=”, в ячейку А5 “уравнение 1”, в ячейку А6 “уравнение 2”. В ячейке B3 хотим получить значение Х, в ячейке В4 – значение Y, их оставляем пустыми.

    3. В ячейку В5 переписать уравнение 1, используя правило записи арифметических выражений, следующим образом: в левой части вместо Х указывать ячейку В3, вместо Y ячейку В4, правую часть отбросить. Таким же образом переписать левую часть второго уравнения в ячейку В6.

    4. Выбрать команду Сервис – Поиск решения.

    5. Установить целевую ячейку — ту ячейку, в которой содержится формула, например, В5 и задать значение, равное значению правой части первого уравнения

    6. В поле “изменяя ячейки” указать ячейки, в которых хотим увидеть ответ (В3 и В4)

    7. Вести ограничение $B$6 = -3. Для этого щелкнуть на кнопке Добавить и в полученном окне установить реквизиты следующим образом: в поле Ссылка на ячейку указать ячейку, в которой записана левая часть другого уравнения, в другом поле выбрать знак “=”, в третьем ввести число, равное значению правой части. Закрыть окно Добавить ограничение, щелкнув кнопкой ОК

    8. Решить систему уравнений, щелкнув кнопкой Выполнить

    IV. Практическая работа на компьютере.

    А. Решите систему уравнений графическим способом

    Б. Решите систему уравнения, воспользовавшись командой Поиск решения:

    А. Решите систему уравнений графическим способом

    Б. Решите систему уравнения, воспользовавшись командой Поиск решения:

    V. Подведение итогов.

    Повторить алгоритмы решения систем уравнений

    Выставить оценки за тестирование в журнал

    VI. Домашнее задание.

    Решить рациональным способом системы уравнений:

    ;

    Инструкция Как решить систему уравнений с помощью надстройки Поиск решений в MS Excel

    Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.

    Рабочие листы и материалы для учителей и воспитателей

    Более 300 дидактических материалов для школьного и домашнего обучения

    Решение систем уравнений с двумя переменными с помощью надстройки Поиск решений

    Пусть необходимо решить систему уравнений

    Создать книгу в MS Excel и назвать его решение систем уравнений

    Лист1 назвать Решение систем уравнений

    В ячейке A 1 ввести X =, в ячейке B 1 ввести 0, в ячейке A 2 ввести Y =, в ячейке B 2 ввести 0

    Далее в ячейке A 3 вводим левую часть первого уравнения =5*В1*В1+В2

    В ячейке A 4 вводим левую часть второго уравнения =В1+3*В2*В2

    В ячейке В3 вводим 30 — правая часть первого уравнения

    В ячейке В4 вводим 20 — правая часть второго уравнения

    Добавляем на вкладку Данные надстройку Поиск решений. Для этого В меню Файл – Параметры – Надстройки нажимаем перейти

    В данном окне ставим флажок Поиск решений

    Вызываем диалоговое окно Параметры поиска решений

    Параметр «Оптимизировать целевую функцию» ссылка на левую часть первого уравнения — $A$4

    До выбираем Значение — вводим правую часть первого уравнения – 30

    Изменяя ячейки переменных – выбираем значения переменных X и Y — $B$1;$B$2

    В соответствии с ограничениями

    Нажимаем Добавить ссылку на левую часть второго уравнения – А5 знак выбираем равно = и ограничение – 20 – правая часть второго уравнения

    Когда все параметры введены то нажимаем кнопку Найти решение.

    Курс повышения квалификации

    Дистанционное обучение как современный формат преподавания

    • Сейчас обучается 864 человека из 78 регионов

    Курс повышения квалификации

    Педагогическая деятельность в контексте профессионального стандарта педагога и ФГОС

    • Сейчас обучается 48 человек из 23 регионов

    Курс профессиональной переподготовки

    Информатика: теория и методика преподавания в образовательной организации

    • Сейчас обучается 223 человека из 62 регионов

    «Профессиональный имидж педагога: стереотипы и методы их преодоления»

    Свидетельство и скидка на обучение каждому участнику

    «Мотивация здорового образа жизни. Организация секций»

    Свидетельство и скидка на обучение каждому участнику

    • Для всех учеников 1-11 классов
      и дошкольников
    • Интересные задания
      по 16 предметам

    Дистанционные курсы для педагогов

    Самые массовые международные дистанционные

    Школьные Инфоконкурсы 2022

    33 конкурса для учеников 1–11 классов и дошкольников от проекта «Инфоурок»

    Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

    5 839 397 материалов в базе

    Ищем педагогов в команду «Инфоурок»

    Другие материалы

    • 24.10.2020
    • 1891
    • 54
    • 24.10.2020
    • 125
    • 2
    • 24.10.2020
    • 210
    • 1

    • 24.10.2020
    • 122
    • 2
    • 24.10.2020
    • 124
    • 0
    • 24.10.2020
    • 146
    • 1
    • 24.10.2020
    • 247
    • 7
    • 24.10.2020
    • 468
    • 6

    Вам будут интересны эти курсы:

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

    Авторизуйтесь, чтобы задавать вопросы.

    Добавить в избранное

    • 24.10.2020 1310
    • DOCX 115.8 кбайт
    • 14 скачиваний
    • Оцените материал:

    Настоящий материал опубликован пользователем Гончарук Лариса Ивановна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Автор материала

    • На сайте: 6 лет и 9 месяцев
    • Подписчики: 8
    • Всего просмотров: 9923
    • Всего материалов: 12

    Московский институт профессиональной
    переподготовки и повышения
    квалификации педагогов

    Дистанционные курсы
    для педагогов

    663 курса от 690 рублей

    Выбрать курс со скидкой

    Выдаём документы
    установленного образца!

    Учителя о ЕГЭ: секреты успешной подготовки

    Время чтения: 11 минут

    Минпросвещения рекомендует школьникам сдавать телефоны перед входом в школу

    Время чтения: 1 минута

    Российские школьники начнут изучать историю с первого класса

    Время чтения: 1 минута

    Онлайн-конференция о профессиональном имидже педагога

    Время чтения: 2 минуты

    С 1 сентября в российских школах будут исполнять гимн России

    Время чтения: 1 минута

    «Единая Россия» внесла в Госдуму проект о снятии излишней нагрузки с учителей

    Время чтения: 2 минуты

    Школам будет оказана поддержка в обеспечении государственной символикой

    Время чтения: 1 минута

    Подарочные сертификаты

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

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

    источники:

    http://urok.1sept.ru/articles/510787

    http://infourok.ru/instrukciya-kak-reshit-sistemu-uravnenij-s-pomoshyu-nadstrojki-poisk-reshenij-v-ms-excel-4514824.html

    Наряду со множеством других возможностей, в Microsoft Excel есть одна малоизвестная, но очень полезная функция под названием “Поиск решения”. Несмотря на то, что найти и освоить ее, может быть, непросто, ее изучение и применение может помочь в решении огромного количества задач. Функция берет данные, перебирает их и выдает самое оптимальное решение из возможных. Итак, давайте разберемся, как именно работает поиск решения и попробуем применить данную функцию на практике

    Содержание

    • Как включить функцию “Поиск решения”
    • Подготовительный этап
    • Применение функции и ее настройка
    • Заключение

    Как включить функцию “Поиск решения”

    Несмотря на свою эффективность, функция “Поиск решения” не находится в первых рядах панели инструментов или контекстного меню. Многие пользователи, работающие в Excel годами, даже не подозревают о ее существовании. Дело в том, что по умолчанию она вообще отключена и для ее добавления на ленту нужно проделать следующие шаги:

    1. Открываем меню “Файл”, кликнув по соответствующему названию.Как включить функцию
    2. Кликаем по разделу “Параметры”, который находится внизу вертикального перечня с левой стороны.Как включить функцию
    3. Далее щелкаем по подразделу “Надстройки”. Здесь отображаются все надстройки программы, а внизу будет надпись “Управление”. Справа от нее представлено выпадающее меню, в котором должны быть выбраны “Надстройки Excel”, обычно уже установленные по умолчанию. Нажимаем кнопку “Перейти”.Как включить функцию
    4. На экране появится новое вспомогательное окно “Надстройки”. Устанавливаем флажок напротив опции “Поиск решения” и нажимаем ОК.Как включить функцию
    5. Все готово. Требуемая функция появится на ленте в правой части вкладки “Данные”.Как включить функцию

    Подготовительный этап

    Добавить функцию на ленту программы – половина дела. Нужно еще понять принцип ее работы.

    Итак, у нас есть данные про продаже товаров, представленные в табличном виде.

    Подготовительный этап перед использованием фукнции

    И перед нами стоит задача – назначить каждому товару скидку таким образом, чтобы сумма по всем скидкам составила 4,5 млн. рублей. Она должна отобразиться в отдельной ячейке, которая называется целевой. Ориентируясь на нее мы должны рассчитать остальные значения.

    Подготовительный этап перед использованием фукнции

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

    Данные ячейки (искомая и целевая) связываем вместе формулой, которую пишем в целевой ячейке следующим образом: =D13*$G$2, где ячейка D13 содержит итоговую сумму по продажам всех товаров, а ячейка $G$2 – абсолютные (неизменные) координаты искомой ячейки.

    Подготовительный этап перед использованием фукнции

    Применение функции и ее настройка

    Формула готова. Теперь нужно применить саму функцию.

    1. Переключаемся во вкладку “Данные” и нажимаем кнопку “Поиск решения”.Применение функции
    2. Откроются “Параметры”, где необходимо задать нужные настройки. В поле “Оптимизировать целевую функцию:” указываем адрес целевой ячейки, где планируется вывести сумму по всем скидкам. Можно прописать координаты вручную, либо выбрать из таблицы, для чего сначала кликаем по области ввода, затем – по нужной ячейке.Применение функции
    3. Переходим к настройке других параметров. В пункте “До:” можно задать максимальную границу, минимальную границу или же точное число. Исходя из поставленной задачи ставим отметку рядом с опцией “Значение” и набираем “4500000” – сумма скидок по всем наименованиям.Применение функции
    4. Следующее для заполнения поле – “Изменяя значения переменных:”. В него нужно внести координаты искомой ячейки, содержащей определенное значение. Это значение и есть та самая скидка, которую мы пытаемся вычислить. Также, как и с выбором целевой ячейки, координаты можно написать вручную, либо кликнуть по нужной ячейке в самой таблице.Применение функции
    5. Теперь нужно отредактировать раздел “В соответствии с ограничениями:”, в котором задаем ограничения используемых данных. Например, можно исключить десятичные дроби или, скажем, отрицательные числа. Это делается через кнопку “Добавить”. Применение функции
    6. Откроется вспомогательно окно, позволяющее добавить ограничения во время вычислений. В первом поле указываем координаты определенной ячейки или области ячеек, для которых это условие должно действовать. Согласно нашей задаче, указываем координаты искомой ячейки, в которой будет выводиться значение скидки. Следующий шаг – определить знак сравнения. Устанавливаем “больше или равно”, чтобы итоговое число не могло быть отрицательным. “Ограничение”, которое устанавливается в третьем поле, в этом случае будет равно цифре 0, поскольку именно относительно этого значения задается условие.Применение функции Можно установить еще одно ограничение с помощью кнопки “Добавить”. Дальнейшие действия по его настройке будут аналогичными. По готовности щелкаем OK.
    7. После выполнения описанных выше действий в самом большом поле окна появится установленное только что ограничение. Список может быть довольно большим и зависит от сложности предполагаемых расчетов, но в данном случае будет достаточно и одного условия.Применение функции Под этим полем также есть опция, позволяющая делать все остальные переменные, не затрагиваемые ограничениями, неотрицательными. Однако, будьте внимательны и проследите за тем, чтобы между этим параметром и поставленными ограничениями не было противоречия, иначе при расчете в программе может возникнуть конфликт.
    8. Также можно задать немалое количество дополнительных настроек. Чуть ниже справа есть кнопка “Параметры”, позволяющая это сделать. Нажимаем на нее и открываем новое окно.Применение функции
    9. В этих настройках у нас есть возможность установить “Точность ограничения” и “Пределы решения”. В нашем случае задавать данные параметры нет необходимости, поэтому после ознакомления с представленным окном, его можно закрыть, нажав OK.Применение функции
    10. Итак, все настройки выполнены и параметры установлены. Пора запускать функцию – для этого нажимаем кнопку “Найти решение”.Применение функции
    11. После этого программа сделает все необходимые расчеты и выдаст результаты в нужных ячейках. При этом сразу же откроется окно “Результаты поиска решения”, где можно сохранить/отменить результаты или настроить параметры поиска заново. Если результаты нас устраивают, оставляем отметку напротив опции “Сохранить найденное решение” и нажимаем ОК. При этом, если мы предварительно установим галочку слева от надписи “Вернуться в диалоговое окно параметров поиска решения”, после того, как мы щелкнем OK, мы обратно переключимся к настройке функции поиска решения.Применение функции
    12. Вполне вероятно, что расчеты могут показаться неправильными, либо возникнет желание немного изменить исходные данные и получить другой результат. В этом случае нужно снова открыть окно с параметрами поиска решения и внимательно посмотреть поля с введенными данными.
    13. Если с данными все нормально, можно попробовать задействовать другой метод решения. Для этого щелкаем по текущему варианту и из раскрывшегося перечня выбираем способ, который нам кажется наиболее подходящим:
      • Первый – ищет решение методом обобщенного приведенного градиента (ОПГ) для нелинейных задач. Стандартно выбран именно этот вариант, но можно попробовать и другие.
      • Второй – пытается отыскать решение для линейных задач, используя симплекс-метод.
      • Третий – для выполнения поставленной задачи использует эволюционный поиск.
      • В том случае, если ни один из методов не принес удовлетворительных результатов, стоит проверить данные в таблице и параметрах еще раз, поскольку именно это является самой частой ошибкой в подобного рода задачах.Применение функции
    14. Теперь, когда мы получили требуемую скидку, осталось ее применить, чтобы рассчитать суммы скидок по всем наименованиям. Для этого отмечаем первую ячейку столбца “Сумма скидки”, пишем в ней формулу “=D2*$G$2” и нажимаем Enter. Знаки доллара ставятся для того, чтобы при растягивании/копировании формулы на другие строки, ячейка G2 со скидкой оставалась неизменной в расчетах.Применение функции
    15. Мы получили сумму скидки для первого наименования. Теперь наводим курсор на нижний правый угол ячейки с результатом, как только он поменяет форму на крестик, зажав левую кнопку мыши растягиваем формулу на все строки, по которым хотим посчитать аналогичную сумму.Применение функции
    16. Теперь наша таблица полностью готова в соответствии с поставленной задачей.Применение функции

    Заключение

    Таким образом, функция “Поиск решения” в Эксель может помочь в решении определенных задач, которые достаточно сложно или невозможно решить простыми методами. Однако, проблема в использовании данного способа заключается в том, что по умолчанию данная функция скрыта в программе, из-за чего многие пользователи не догадываются о ее существовании. Также функция довольно трудна в освоении и использовании, но при ее должном изучении, она может принести значительную пользу и облегчить работу.

    Понравилась статья? Поделить с друзьями:
  • Аналог оператора for в excel
  • Аналог лезвий gillette sensor excel
  • Аналог если в формуле excel
  • Аналог впр для excel
  • Аналог word российского производства