Подбор слагаемых для нужной суммы
Не очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза
Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.
В реальной жизни эта задача может выглядеть по-разному.
- Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
- У нас есть несколько рулонов стали (линолеума, бумаги…), из которых надо подобрать под заказ те, что дадут заданную длину.
- Блэкджек или в народе «очко». Надо набрать карты суммарной стоимостью максимально близкой к 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):
- С помощью той же кнопки, при необходимости, создать ограничение на количество чисел в выборке. Например, если мы знаем, что сумма была разбита на 5 счетов, то:
После ввода всех параметров и ограничений запускаем процесс подбора кнопкой Найти решение (Solve). Процесс подбора занимает от нескольких секунд до нескольких минут (в тяжелых случаях) и заканчивается появлением следующего окна:
Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).
Необходимо отметить, что для такого класса задач существует не одно, а целое множество решений, особенно, если не приравнивать жестко погрешность к нулю. Поэтому запуск Поиска решения с разными начальными данными (т.е. разными комбинациями 0 и 1 в столбце В) может приводить к разным наборам чисел в выборках в пределах заданных ограничений. Так что имеет смысл прогнать эту процедуру несколько раз, произвольно изменяя переключатели в столбце В.
Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные — Анализ «что-если» — Диспетчер сценариев (Data — What-If Analysis — Scenario Manager):
И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):
Способ 2. Макрос подбора
В этом способе всю работу делает макрос, который тупо перебирает случайные комбинации чисел, пока не наткнется на нужную сумму в пределах разрешенной погрешности. Добавлять столбец с нулями и единичками и формулы в этом случае не нужно.
Для использования макроса нажмите сочетание 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
Хороший инструмент — это надстройка Поиск решения в MS Excel!
Например, его можно использовать в ситуации, когда вам нужно найти вариант, из которого с разных чисел могла быть добавлена определенная сумма (возможно, вы ищете, с каких счетов могла быть сформирована сумма платежа). Допустим, вам нужно найти сумму 10 из заданных чисел:
Для начала включаем надстройку или проверяем, что она включена (в Excel 2013): Файл/Параметры, раздел Надстройки, выберите Управление: Надстройки Excel, нажмите кнопку Перейти. Установите флажок Поиск решения, нажмите кнопку ОК
Найдите решение, которое появилось на ленте на вкладке «Данные»:
Теперь нам нужно понять, как мы можем использовать параметры в разных строках для «выбора» суммы. Я сделал вариант, когда мы указываем множитель 0 или 1 в одном столбце, подсчитываем произведение в соседнем столбце, а затем добавляем значения к итогу:
- в ячейках столбца B указываем 0 или 1 (теперь неважно, что именно)
- в ячейке C4 формула = A4 * B4
- в ячейках C5: C14 — то же с учетом номера строки
- в ячейке C3 формула = СУММ (C4: C14)
Теперь приступим к поиску решения. И заполните:
- Оптимизация целевой функции: $ C $ 3
- Раньше: Значения: 10
- Изменение ячеек переменных: $ B $ 4: $ B $ 14
- В соответствии с ограничениями: — добавьте (кнопка Добавить) три условия: 1) значения переменных должны быть целыми числами, 2) значения должны быть> = 0, 3) 2) значения должны быть быть
Не очень распространено, но и не экзотично. Во время моих обучающих курсов такой вопрос задавали не раз и не два. Суть в том, что у нас есть конечный набор некоторых чисел, из которых мы должны выбрать те, которые в сумме дают заданное значение.
В реальной жизни эта задача может показаться другой.
- Например, мы загрузили из интернет-банка все платежи, поступившие на наш счет за последний месяц. Один из клиентов разделяет сумму платежа на несколько отдельных счетов и производит оплату в рассрочку. Мы знаем общую сумму к оплате и количество счетов, но не знаем сумму. В истории платежей необходимо выбрать те суммы, которые, как правило, дают заданное значение.
- У нас есть несколько рулонов стали (линолеум, бумага.), Из которых мы должны выбрать те, которые придадут заказу заданную длину.
- Блэкджек или обычно «пойнт». Необходимо собрать карты с общей стоимостью как можно ближе к 21 баллу, но не превышать этот порог.
В некоторых случаях может быть известна допустимая погрешность допуска. Он может быть нулевым (в случае счетов для снятия средств) и ненулевым (в случае бросков на снятие средств), либо ограничиваться снизу или сверху (в случае блэкджека).
Давайте рассмотрим разные способы решения такой задачи в Excel.
Способ 1. Надстройка Поиск решения (Solver)
Эта надстройка входит в стандартный набор Microsoft Office вместе с Excel и предназначена, как правило, для решения линейных и нелинейных задач оптимизации со списком ограничений. Для его подключения необходимо:
- в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
- в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки
и поставьте галочку в соответствующем поле. Тогда нужная нам команда появится во вкладке или меню «Данные.
Чтобы использовать надстройку Поиск решения нашей проблемы, нам нужно будет немного модернизировать наш пример, добавив несколько вспомогательных ячеек и формул в список сумм для выбора:
- Диапазон A1: A20 содержит наши числа, из которых мы выберем те, которые нам нужны, чтобы «уместить» заданное количество.
- Диапазон B1: B20 будет своего рода набором переключателей, то есть он будет содержать ноль или один, указывая, выбираем ли мы данное число в образце или нет.
- Ячейка E2 содержит обычную автоматическую сумму всех единиц в столбце B, в которой подсчитывается количество выбранных чисел.
- В ячейке E3 функция СУММПРОИЗВ вычисляет сумму произведений пары ячеек из столбцов A и B (то есть A1 * B1 + A2 * B2 + A3 * B3 +.). Фактически, он вычисляет сумму чисел в столбце A, выбранных из чисел в столбце B.
- В розовой ячейке E4 пользователь вводит желаемую сумму для вывода.
- В ячейке E5 вычисляется абсолютное значение ошибки выбора, чтобы минимизировать ее в будущем.
- Все желтые ячейки E8: E17 хотели бы получить список выбранных чисел, т.е тех чисел из столбца A, перед которыми стоят числа из столбца B. Для этого нужно выделить сразу все (!) Желтые ячейки и вставьте в них следующую формулу массива:
После ввода формулы ее нужно вводить не как обычную формулу, а как формулу массива, т.е нажимать не Enter, а Ctrl + Shift + Enter. Аналогичная формула используется в примере ВПР, который возвращает все найденные значения сразу (а не только первое).
Теперь перейдите на вкладку Data (или меню) и запустите инструмент Data — Solver):
В открывшемся окне вам необходимо:
- Установить как целевую функцию (Целевая ячейка) — ячейка для расчета ошибки выбора E5. Чуть ниже выбираем вариант — Минимум, потому что мы хотим подбирать числа на заданную сумму с минимальной (или даже нулевой) ошибкой.
- Установите диапазон столбцов переключателя B1: B20 как Edit Cells.
- Используя кнопку Добавить, создайте дополнительное условие, что ячейки диапазона B1: B20 должны быть двоичными (т.е содержать только 0 или 1):
Используя ту же кнопку, при необходимости создайте ограничение на количество чисел в образце. Например, если мы знаем, что сумма разделена на 5 счетов, тогда:
После ввода всех параметров и ограничений запустите процесс выбора, нажав кнопку «Решить». Процесс выбора длится от нескольких секунд до нескольких минут (в самых серьезных случаях) и заканчивается появлением следующего окна:
Теперь вы можете оставить найденное решение выбора (Сохранить найденное решение) или вернуться к предыдущим значениям (Восстановить исходные значения).
Следует отметить, что для этого класса задач существует не одно, а целый набор решений, особенно если ошибка строго не равна нулю. Следовательно, выполнение поиска решения с разными начальными данными (например, с разными комбинациями нулей и единиц в столбце B) может привести к разным наборам чисел в выборках в указанных пределах. Поэтому имеет смысл запустить эту процедуру несколько раз, произвольно меняя переключатели в столбце B.
Найденные комбинации можно сохранить как сценарии (кнопка Сохранить сценарий), чтобы вы могли вернуться к ним позже, используя команду Данные — Анализ моделирования — Менеджер сценариев):
И все найденные решения, сохраненные в виде скрипта, будет очень удобно просматривать в единой сравнительной таблице с помощью кнопки Сводка):
Способ 2. Макрос подбора
В этом методе вся работа выполняется макросом, который по глупости прокручивает случайные комбинации чисел, пока не найдет требуемое количество в пределах допустимой ошибки. В этом случае нет необходимости добавлять столбец с нулями и единицами и формулами.
Чтобы использовать макрос, нажмите комбинацию Alt + F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:
Подобно первому способу, запустив макрос несколько раз, вы можете получить несколько наборов подходящих чисел.
в Excel 2007 и более поздних версиях выберите Файл — Параметры Excel — Надстройки — Перейти
в Excel 2003 и более ранних версиях: откройте меню Инструменты — Надстройки
и поставьте галочку в соответствующем поле. После этого необходимая команда появится на вкладке или в меню «Данные».
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel для Mac 2011 Еще…Меньше
Если вы знаете, какой результат вычисления формулы вам нужен, но не можете определить входные значения, позволяющие его получить, используйте средство подбора параметров. Предположим, что вам нужно занять денег. Вы знаете, сколько вам нужно, на какой срок и сколько вы сможете платить каждый месяц. С помощью средства подбора параметров вы можете определить, какая процентная ставка обеспечит ваш долг.
Если вы знаете, какой результат вычисления формулы вам нужен, но не можете определить входные значения, позволяющие его получить, используйте средство подбора параметров. Предположим, что вам нужно занять денег. Вы знаете, сколько вам нужно, на какой срок и сколько вы сможете платить каждый месяц. С помощью средства подбора параметров вы можете определить, какая процентная ставка обеспечит ваш долг.
Примечание: Подбор параметров поддерживает только одно входное значение переменной. Если вы хотите принять несколько входных значений, Например, надстройка «Надстройка «Надстройка» используется как для суммы займа, так и для ежемесячного платежа по кредиту. Дополнительные сведения см. в теме Определение и решение проблемы с помощью «Решение».
Пошаговый анализ примера
Рассмотрим предыдущий пример шаг за шагом.
Так как вы хотите вычислить процентную ставку по кредиту, используйте функцию PMT. Функция ПЛТ вычисляет сумму ежемесячного платежа. В данном примере эту сумму и требуется определить.
Подготовка листа
-
Откройте новый пустой лист.
-
Прежде всего добавьте в первый столбец эти подписи, чтобы сделать данные на листе понятнее.
-
В ячейку A1 введите текст Сумма займа.
-
В ячейку A2 введите текст Срок в месяцах.
-
В ячейку A3 введите текст Процентная ставка.
-
В ячейку A4 введите текст Платеж.
-
-
Затем добавьте известные вам значения.
-
В ячейку B1 введите значение 100 000. Это сумма займа.
-
В ячейку B2 введите значение 180. Это число месяцев, за которое требуется выплатить ссуду.
Примечание: Хотя вам известна необходимая сумма платежа, не вводите ее как значение, поскольку она получается в результате вычисления формулы. Вместо этого добавьте формулу на лист и укажите значение платежа на более позднем этапе при использовании средства подбора параметров.
-
-
Теперь добавьте формулу, результат которой вас интересует. Например, используйте функцию ПЛТ.
-
В ячейке B4 введите =ПЛТ(B3/12;B2;B1). Эта формула вычисляет сумму платежа. В данном примере вы хотите ежемесячно выплачивать 900 ₽. Это значение здесь не вводится, поскольку вам нужно определить процентную ставку с помощью средства подбора параметров, а для этого требуется формула.
Формула ссылается на ячейки B1 и B2, значения которых вы указали на предыдущих этапах. Она также ссылается на ячейку B3, в которую средство подбора параметров поместит процентную ставку. Формула делит значение из ячейки B3 на 12, поскольку был указан ежемесячный платеж, а функция ПЛТ предусматривает использование годовой процентной ставки.
Поскольку в ячейке B3 нет значения, Excel полагает процентную ставку равной 0 % и в соответствии со значениями из данного примера возвращает сумму платежа 555,56 ₽. Пока вы можете игнорировать это значение.
-
Использование средства подбора параметров для определения процентной ставки
-
На вкладке Данные в группе Работа с данными нажмите кнопку Анализ «что если» и выберите команду Подбор параметра.
-
В поле Установить в ячейке введите ссылку на ячейку, в которой находится нужная формула. В данном примере это ячейка B4.
-
В поле Значение введите нужный результат формулы. В данном примере это -900. Обратите внимание, что число отрицательное, так как представляет собой платеж.
-
В поле Изменяя значение ячейки введите ссылку на ячейку, в которой находится корректируемое значение. В данном примере это ячейка B3.
Примечание: Формула в ячейке, указанной в поле Установить в ячейке, должна ссылаться на ячейку, которую изменяет средство подбора параметров.
-
Нажмите кнопку ОК.
Выполняется и создается результат, как показано на рисунке ниже.
Ячейки B1, B2 и B3 — это значения для суммы займа, длины срока и процентной ставки.
Ячейка B4 отображает результат формулы =PMT(B3/12;B2;B1).
-
Напоследок отформатируйте целевую ячейку (B3) так, чтобы результат в ней отображался в процентах.
-
На вкладке Главная в группе Число нажмите кнопку Процент.
-
Чтобы задать количество десятичных разрядов, нажмите кнопку Увеличить разрядность или Уменьшить разрядность.
-
Если вы знаете, какой результат вычисления формулы вам нужен, но не можете определить входные значения, позволяющие его получить, используйте средство подбора параметров. Предположим, что вам нужно занять денег. Вы знаете, сколько вам нужно, на какой срок и сколько вы сможете платить каждый месяц. С помощью средства подбора параметров вы можете определить, какая процентная ставка обеспечит ваш долг.
Примечание: Подбор параметров поддерживает только одно входное значение переменной. Если вы хотите принять несколько входных значений, например сумму займа и сумму ежемесячного платежа по кредиту, воспользуйтесь надстройка «Надстройка «Надстройка». Дополнительные сведения см. в теме Определение и решение проблемы с помощью «Решение».
Пошаговый анализ примера
Рассмотрим предыдущий пример шаг за шагом.
Так как вы хотите вычислить процентную ставку по кредиту, используйте функцию PMT. Функция ПЛТ вычисляет сумму ежемесячного платежа. В данном примере эту сумму и требуется определить.
Подготовка листа
-
Откройте новый пустой лист.
-
Прежде всего добавьте в первый столбец эти подписи, чтобы сделать данные на листе понятнее.
-
В ячейку A1 введите текст Сумма займа.
-
В ячейку A2 введите текст Срок в месяцах.
-
В ячейку A3 введите текст Процентная ставка.
-
В ячейку A4 введите текст Платеж.
-
-
Затем добавьте известные вам значения.
-
В ячейку B1 введите значение 100 000. Это сумма займа.
-
В ячейку B2 введите значение 180. Это число месяцев, за которое требуется выплатить ссуду.
Примечание: Хотя вам известна необходимая сумма платежа, не вводите ее как значение, поскольку она получается в результате вычисления формулы. Вместо этого добавьте формулу на лист и укажите значение платежа на более позднем этапе при использовании средства подбора параметров.
-
-
Теперь добавьте формулу, результат которой вас интересует. Например, используйте функцию ПЛТ.
-
В ячейке B4 введите =ПЛТ(B3/12;B2;B1). Эта формула вычисляет сумму платежа. В данном примере вы хотите ежемесячно выплачивать 900 ₽. Это значение здесь не вводится, поскольку вам нужно определить процентную ставку с помощью средства подбора параметров, а для этого требуется формула.
Формула ссылается на ячейки B1 и B2, значения которых вы указали на предыдущих этапах. Она также ссылается на ячейку B3, в которую средство подбора параметров поместит процентную ставку. Формула делит значение из ячейки B3 на 12, поскольку был указан ежемесячный платеж, а функция ПЛТ предусматривает использование годовой процентной ставки.
Поскольку в ячейке B3 нет значения, Excel полагает процентную ставку равной 0 % и в соответствии со значениями из данного примера возвращает сумму платежа 555,56 ₽. Пока вы можете игнорировать это значение.
-
Использование средства подбора параметров для определения процентной ставки
-
Выполните одно из указанных ниже действий.
In Excel 2016 для Mac: On the Data tab, click What-If Analysis, and then click Goal Seek.
В Excel для Mac 2011: на вкладке Данные в группе Инструменты для работы с данными нажмите кнопку Анализ «что если» ивыберите «Поиск окна».
-
В поле Установить в ячейке введите ссылку на ячейку, в которой находится нужная формула. В данном примере это ячейка B4.
-
В поле Значение введите нужный результат формулы. В данном примере это -900. Обратите внимание, что число отрицательное, так как представляет собой платеж.
-
В поле Изменяя значение ячейки введите ссылку на ячейку, в которой находится корректируемое значение. В данном примере это ячейка B3.
Примечание: Формула в ячейке, указанной в поле Установить в ячейке, должна ссылаться на ячейку, которую изменяет средство подбора параметров.
-
Нажмите кнопку ОК.
Выполняется и создается результат, как показано на рисунке ниже.
-
Напоследок отформатируйте целевую ячейку (B3) так, чтобы результат в ней отображался в процентах. Выполните одно из указанных действий.
-
In Excel 2016 для Mac: On the Home tab, click Increase Decimal
or Decrease Decimal
.
-
В Excel для Mac 2011: на вкладке Главная в группе Число нажмите кнопку Увеличить десятичность
или Уменьшить число десятичных
, чтобы установить количество десятичных десятичных заметок.
-
Нужна дополнительная помощь?
Подбор параметра в MS EXCEL
Смотрите также и для целой фильтр» включите «скопировать процентной ставкой 5,5% на рисунке: и пр.). ячейки. Знак * строки с помощью выборку) введем вCTRL+SHIFT+ENTERРезультат использование функции параметра в «Экселе» известными процентами ине стал равен найти не удалось, ближе к -3,Обычно при создании формулы строки автоматически присваивается результат в другое годовых. Можете лиВ ячейку B5 введитеНаиболее популярные статьи из (умножение) используется для
функции СМЕЩ().Е6(формула массива будет=ВЫБОР(2;A2;A3;A4;A5)ВЫБОР
Простейший пример
не всегда удовлетворяет сроком. Она называется 1800,00 руб. Был т.к. расходы больше
чем к 1).
пользователь задает значения новый формат. Чтобы место», а в вы себе позволить функцию: =БС(B1;B2;B3;) этого раздела: задания Условия ИЭтот пример еще раззначение 65. В возвращать несколько значений).Значение второго аргумента спискав Microsoft Excel.
требованиям задачи. Если ПЛТ. Синтаксис команды: получен результат - 150 тыс. Или Если в изменяемой параметров и формула формат присваивался для поле «Поместить результат при таких условияхОставаясь на ячейке B5,
Отбор уникальных значений (убираем (все 3 критерия наглядно демонстрирует насколько новую таблицу будетТе же манипуляции произведем (значение ячейки A3)Использует номер_индекса, чтобы выбрать
требуется подобрать несколько
ПЛТ(ставка; кпер; пс; [бс]; 200 011,83 руб. В например, если решать
ячейке введем 0 (уравнение) возвращает результат. целой строки, а в диапазон:» укажите кредитования приобрести автомобиль выберите инструмент: «Данные»-«Работа повторы из списка) должны выполняться для предварительная сортировка данных добавлена еще одна с диапазономВторой и вернуть значение
аргументов, используется надстройка [тип]), где: принципе, этого результата уравнение x2+4=0, то (или оставим ее Например, имеется уравнение не только ячейке $F$1. стоимостью в 30 с данными»-«Анализ что в MS EXCEL строки одновременно). облегчает написание формул. запись из ИсходнойE11:E19=ВЫБОР(4;B2;B3;B4;B5) из списка аргументов-значений. под названием «ПоискСтавка – проценты по можно было добиться, очевидно, что не пустой), то Подбор 2*a+3*b=x, заданы параметры в столбце A,Отметьте галочкой пункт «Только 000$, а если если»-«Подбор параметра»Отбор уникальных значений сПримечаниеПусть имеется Исходная таблица таблицы, удовлетворяющая новому(столбец Цена) кудаЗначение четвертого аргумента списка Функция ВЫБОР позволяет решения». С ее займу. меняя сумму займа удастся подобрать такое параметра найдет корень а=1, b=2, требуется мы используем смешанную уникальные записи» и нет, то наВ появившемся окне заполните суммированием по соседнему. Случай, когда список с перечнем Товаров
критерию. и введем аналогичную (значение ячейки В5) выбрать одно значение помощью можно получитьКпер – число оплат самостоятельно в ручную. х, чтобы x2+4=0 = 1 (т.к. найти x (2*1+3*2=8). ссылку в формуле нажмите ОК. какую сумму можно поля, так как столбцу в MS несортирован, рассмотрен в и Датами поставки
Калькуляция, подбираем значение прибыли
Если в Исходную таблицу формулу массива:Болты
из списка, в оптимальный результат методом (для годового кредитаПодбор параметра подбирает значенияПримечание 0 ближе к Инструмент Подбор параметра =$A4.В результате мы получили рассчитывать? на рисунке и EXCEL статье Поиск ДАТЫ (см. файл примера, добавить новый товар=ИНДЕКС(B11:B19;=ВЫБОР(3;»широкий»;115;»мир»;8) котором может быть
подбора нескольких параметров. в случае ежемесячной только для 1: В файле примера 1, чем к позволяет решить обратнуюironman606 список данных сСоставьте таблицу условий кредитования нажмите ОК.Отбор повторяющихся значений в
(ЧИСЛА) ближайшей к лист Один критерий с Ценой вНАИМЕНЬШИЙ(ЕСЛИ($E$6 -СТРОКА($B$10))Значение третьего аргумента списка до 254 значений.Проверьте, доступна ли она оплаты это 12 параметра. Если Вам приведен алгоритм решения -3). Подробности в
задачу: подобрать такое: Добрый день! Подскажите, уникальными значениями (фамилии в Excel какРезультат вычисления получился с MS EXCEL заданной, с условием — Дата (не диапазоне от 25В результате получим новуюмир Например, если первые для использования: вкладка раз). нужно найти решение Квадратного уравнения с файле примера на
значение параметра, при
пожалуйста, есть ли без повторений).
показано ниже на отрицательным числом –Отбор уникальных значений из
в MS EXCEL. позже)). до 65, то таблицу, которая будетДанные семь значений — «Данные», панель инструментовПС – первоначальная сумма. от нескольких параметров,
использованием Подбора параметра. листе Простейший. котором уравнение возвращает в excel функция рисунке. Обратите внимание! это правильно в двух диапазонов в Несортированный список.Для отбора строк, дата в новую таблицу содержать только товары,23 это дни недели, «Анализ». Если вБС – будущая стоимость то используйте инструмент
Предположим, что нам необходимоЕще один путь нахождения желаемый целевой результат для выполнения следующейТеперь нам необходимо немного
Подбор суммы кредита
Ячейка B4 содержит соответствии со стандартом MS EXCELПусть имеется Исходная таблица которых не раньше будет добавлена новая у которых цены45 то функция ВЫБОР программе нет такой (если вы намерены Поиск решения. Точность определить максимальную сумму неизвестного параметра b
X. Например, при задачи: в ряду модифицировать нашу исходную формулу: =-ПЛТ(B3/12;B2;B1). финансовых функций Excel.Отбор уникальных СТРОК с с перечнем Товаров (включая саму дату), запись. не меньше, указанной12 возвращает один из панели или на выплатить не всю подбора параметра можно кредита, которую мы в уравнении 2*a+3*b=X a=3, требуется найти ячеек дан диапазон таблицу. Выделите первыеКак видно Вы не Регулярные взносы должны помощью Расширенного фильтра и Ценами (см. используется формула массива:В файле примера также в ячейке
10 дней при использовании ней отсутствует нужная сумму, а лишь задать через меню можем себе позволить — аналитический. Решение такое значение параметра чисел, например 2, 2 строки и можете себе позволить отображаться отрицательным значением, в MS EXCEL файл примера, лист=ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$7 содержатся формулы массиваЕ6Формула числа от 1
команда, активируйте ее. ее часть, здесь Кнопка офис/ Параметры взять в банке.
- b=(X-2*a)/3) очевидно. Понятно, b, при котором 5, 8, 9 выберите инструмент: «ГЛАВНАЯ»-«Ячейки»-«Вставить» такой дорогой автомобиль. так как этоВ качестве примера приведем
- Один критерий -Также в файле примера с обработкой ошибок,.Описание (результат) до 7 в Зайдите в параметры
- указывается, какой долг Excel/ Формулы/ Параметры Пусть нам известна что не всегда
- X равен 21 и есть некое или нажмите комбинацию Теперь узнаем, какая категория расходных операций. решения следующей задачи: Выбрать Текст). приведены формулы для
- когда в столбце
Чтобы показать динамизм полученногоРезультат качестве аргумента «номер_индекса». Excel (кнопка Microsoft должен остаться). Это вычислений. Вопросом об сумма ежемесячного платежа удобно искать решение (ответ b=5). Подбирать параметр значение. Например 10. горячих клавиш CTRL+SHIFT+=. максимальная стоимость автомобиля А по истечению Товары, цена которыхЗадача решается аналогично Задачам условий: Не раньше Цена содержится значение Запроса на выборку,
=СУММ(A2:ВЫБОР(2;A3;A4;A5))ВЫБОР(номер_индекса;значение1;[значение2];…) Office в Excel необязательный аргумент, по единственности найденного решения в рублях (1800 уравнения аналитическим способом, вручную — скучное Путем подбора изУ нас добавилось 2 соответствует Вашим финансовым 10 лет мы лежит в определенном 1 и 3. (не включая); Не ошибки, например #ДЕЛ/0!
введем вСуммирует диапазон A2:A4. ФункцияАргументы функции ВЫБОР описаны 2007, меню «Файл» умолчанию он равен
excel2.ru
Функция «Подбор параметра» в «Эксель». Анализ «что если»
Подбор параметра не руб./мес.), а также поэтому часто используют занятие, поэтому в набора чисел нужно пустые строки. Теперь возможностям. Для этого получим на приход диапазоне и повторяется Более подробное решение позже (включая); Не (см. лист ОбработкаЕ6
Функция подбора параметра
ВЫБОР возвращает A4 ниже. в версиях 2010 0. занимается, вероятно выводится процентная ставка по метод последовательных итераций, MS EXCEL имеется получить сумму равную в ячейку A1 перейдите в ячейку +20 000$. заданное количество раз см. в статье
позже (не включая). ошибок).значение 55. В как вторую частьНомер_индекса и выше) иТип – когда производится первое подходящее решение. кредиту (7,02%) и когда неизвестный параметр инструмент Подбор параметра. этому числу 10.
введите значение «Клиент:». B4 и выберитеПолезный совет! Если Вы или более. Поиск ТЕКСТовых значенийЭта формула введена какСледующие задачи решаются аналогичным новую таблицу попадет диапазона функции СУММ. — обязательный аргумент. Номер
найдите пункт «Надстройки». оплата – вИными словами, инструмент Подбор срок на который подбирают, задавая емуВ MS EXCEL 2007-2010 Хотелось бы, чтобыПришло время для создания инструмент: «Данные»-«Работа с нужно узнать размерВ качестве исходной возьмем в MS EXCEL формула массива, возвращающая образом, поэтому не только 2 записи.
Расчет суммы займа
80 выбираемого аргумента-значения. Номер Перейдите в управление начале месяца или параметра позволяет сэкономить мы хотим взять конкретные значения так, Подбор параметра находится программа выделяла цветом выпадающего списка, из данными»-«Анализ что если»-«Подбор ежемесячных взносов, тогда таблицу партий товаров. с выводом их множество значений (см. будем их рассматриватьЕсли в Исходную таблицу
Суть запроса на выборку индекса должен быть надстройками и установите в конце. Этот несколько минут по кредит (180 мес). чтобы полученное значение
на вкладке Данные, те ячейки, из
- которого мы будем параметра».
- перед использованием инструментаПредположим, что нас интересует в отдельный список. здесь Формулы массива так детально.
- добавить новый товар
- – выбрать из числом от 1 флажок на элементе параметр не обязательно сравнению с ручнымВ EXCEL существует функция х стало равно целевому группа Работа с суммы которых получилось выбирать фамилии клиентов
- Заполните поля в появившемся «Подбор параметра» нужно сколько и каких Часть1. Обычный поиск. в MS EXCEL,Пусть имеется Исходная таблица с Ценой 80, исходной таблицы строки, до 254, формулой «Поиск решения». Теперь
указывать, если он перебором. ПЛТ() для расчета X (или примерно равно данным. заданное число. Спасибо. в качестве запроса. диалоговом окне как процентную ставку разделить
партий товаров поставлялосьПусть имеется Исходная таблица возвращающие несколько значений). с перечнем Товаров то в новую удовлетворяющие определенным критериям или ссылкой на функция активирована. не заполнен, принимаетсяВозможности программы Excel таковы, ежемесячного платежа в с заданной точностью).Найдем значение параметра bКазанскийПеред тем как выбрать показано выше на на 12 (чтобы по цене от с перечнем Товаров Эту формулу можно и Датами поставки таблицу автоматически будет (подобно применению стандартного ячейку, содержащую число
Классическое применение метода – равным 0, что что они позволяют зависимости от суммыЕще пример. Пусть дана структура в уравнении 2*а+3*b=x,: уникальные значения из
Определение процентной ставки
рисунке и нажмите перевести в ежемесячный 1000р. до 2000р. и Ценами (см. переделать, чтобы возвращалось (см. файл примера, добавлена новая запись. Фильтра). Произведем отбор значений в диапазоне от решение транспортной задачи. означает оплату в
решать задачи, которые кредита, срока и цены договора: Собственные при котором x=21,
Guest
списка сделайте следующее: ОК. процент). (критерий 1). Причем, файл примера, лист только 1 значение, лист Один критерийПримечание из исходной таблицы 1 до 254. Предположим, компания хранит
конце месяца. вручную выполнить невозможно процентной ставки (см. расходы, Прибыль, НДС. параметр а=3.: Поиск решений яПерейдите в ячейку B1Как видно максимальная стоимостьА количество лет нужно партий с одинаковой 2 критерия -
Подбор нескольких параметров для поиска оптимального результата
см. следующую задачу — Дата).. Также для вывода с помощью формулЕсли номер_индекса равен 1, товары на несколькихСледует учитывать, что в или слишком сложно. статьи про аннуитет).Известно, что Собственные расходыПодготовим исходные данные. уже пробовал применить,
и выберите инструмент автомобиля, на которую перевести в количество ценой должно быть текст (И)). 5а.Для отбора строк используются отфильтрованных данных можно массива. В отличие то функция ВЫБОР складах и доставляет атрибуте «Ставка» указывается Это могут быть Но эта функция составляют 150 000Значения параметров а и но либо я «ДАННЫЕ»-«Работа с данными»-«Проверка можно рассчитывать составляет месяцев умножив на
Транспортная задача
минимум 3 (критерийДля отбора строк используетсяПусть имеется перечень событий формулы массива, аналогичные использовать Расширенный фильтр от применения Фильтра возвращает значение1; если их в несколько не годовой процент, трудоемкие задачи с нам не подходит, руб., НДС 18%,
b введены в до конца не данных». при таких финансовых 12. Таким образом, 2). формула массива: и даты их Задаче1 (вместо критерия
и Сводные таблицы. ( он равен 2,
магазинов. Стоит вопрос, а ежемесячный, поэтому
перебором огромного количества т.к. сумму ежемесячного а Целевая стоимость
ячейках понял, как егоНа вкладке «Параметры» в
возможностях и условиях в ячейке B3Решением является формула массива:
=ИНДЕКС($A$11:$A$19;
Другие способы анализа данных
начала и завершения.=ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ($E$6=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11)) Выбор конкретного инструментаCTRL+SHIFT+L возвращается значение2 и с каких складов известную нам процентную вариантов или вычисления
платежа мы итак договора 200 000B8 B9 применять либо он разделе «Условие проверки» кредитования составляет – мы получим необходимую=НАИМЕНЬШИЙ(СТРОКА($A$14:$A$27)*($C$14:$C$27>=$B$7)*($C$14:$C$27<>=$B$10);F14+($G$8-$G$9))НАИМЕНЬШИЙ(ЕСЛИ(($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19);СТРОКА($A$11:$A$19)-СТРОКА($A$10);30);СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19)))))Пользователю требуется найти и=ИНДЕКС(B12:B20;НАИМЕНЬШИЙ(ЕСЛИ($E$6=B12:B20;СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11)) зависит от стоящейили Данные/ Сортировка так далее. доставлять продукцию в
ставку нужно разделить больших чисел. Зная знаем, а вот руб. (ячейка. В ячейке не подходит. Если из выпадающего списка 23 1812$. сумму ежемесячного взносаЭта формула возвращает номераВыражение ($F$6=$A$11:$A$19)*($F$7=$B$11:$B$19) задает оба вывести в отдельнуюПусть имеется Исходная таблица перед пользователем задачи.
и фильтр/ Фильтр)Если номер_индекса меньше 1 какие магазины, чтобы на количество платежей возможности Excel, решить сумму кредита (параметрС13B10
смотреть на задачу
fb.ru
ВЫБОР (функция ВЫБОР)
«Тип данных:» выберитеВнимание! Если срок кредитования для достижения цели. строк, которые удовлетворяют условия (Товар и
Описание
таблицу события, которые с перечнем ТоваровЕсли Вам не удобно отобранные строки будут или больше, чем расходы на транспортировку в году – их не составит функции ПЛТ()) мы). Единственный параметр, который можновведена формула =2*B8+3*B9 визуально, то из значение «Список». определяется количеством месяцев, обоим критериям. Месяц).
Синтаксис
либо уже закончились
и Датами поставки использовать формулу массива,
-
помещены в отдельную номер последнего значения были минимальны. 12. труда. как раз и менять, это Прибыль. (т.е. уравнение 2*а+3*b=x). Целевое данного диапазона чиселВ поле ввода «Источник:»
-
а не лет,Стратегия для построения производственногоФормула =СУММПРОИЗВ(($C$14:$C$27>=$B$7)*($C$14:$C$27<>=$B$10)) подсчитывает количество строк,Выражение СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК($A$11:$A$19))) формирует массив на заданную дату, (см. файл примера,
-
которая возвращает несколько таблицу. в списке, тоЗададим входные данные. ДляВнесем на лист «Эксель»Примером такой трудоемкой и
-
хотим найти. Но, Подберем такое значение значение x в мне подходят только
-
-
введите =$F$4:$F$8 и то годовую процентную плана выпуска продукта: которые удовлетворяют критериям. последовательных чисел {1:2:3:4:5:6:7:8:9}, либо еще длятся, лист Диапазон Дат). значений, то можноВ этой статье рассмотрим функция ВЫБОР возвращает этого построим таблицы 2007 нужные данные. практически нерешаемой вручную тем не менее, Прибыли (
Замечания
-
ячейке два числа 2 нажмите ОК. ставку нужно перевести
-
В текущем году продуктВ файле примера на т.е. номера строк либо еще не
Обратите внимание, что столбец
использовать другой подход,
наиболее часто встречающиеся
значение ошибки #ЗНАЧ!.
с информацией о В качестве первоначальной задачи является следующая. мы будем использовать
С8B11 и 8, т.к.В результате в ячейке в месячную. Поэтому должен быть продан листе «10.Критерий - в таблице. начались. Дат НЕ СОРТИРОВАН.
Примеры
который рассмотрен в запросы, например: отборЕсли номер_индекса представляет собой затратах на доставку, суммы пропишем пока Вам известно, какой эту функцию для), при котором Стоимостьвведенодля информации. именно они дают B1 мы создали в первом аргументе в количестве 10
колич-во повторов» настроено |
||
Пусть имеется Исходная таблица |
Т.е. нам потребуется формула, |
|
Решение1 |
разделах ниже: 5.а, |
|
строк таблицы, у |
дробь, то он |
|
объеме товаров на |
условные 1 00 |
|
результат вычислений необходимо |
решения нашей задачи. |
договора равна Целевой, |
Выделите ячейку с формулой |
в сумме 10. выпадающих список фамилий |
функции ПЛТ стоит |
000шт. |
Условное форматирование, которое с перечнем Товаров |
обрабатывающая 3 вышеуказанные |
: Для отбора строк |
7, 10 и |
которых значение из |
Пример 2
усекается до меньшего |
||
каждом из складов |
||
000 рублей и |
||
получить, какие вычисления |
||
Без применения инструмента |
||
т.е. значение ячейки |
B10 |
Числа 5 и |
клиентов. |
значение B3/12 (5,5%Производственные расходы 1-ой штуки: позволяет визуально определить и Ценами (см. |
ситуации. Можно использовать |
support.office.com
Запрос на выборку данных (формулы) в MS EXCEL
можно использовать формулы 11. В этих числового столбца попадает целого. и необходимое количество займемся нахождением реальной к нему приводят, Подбор параметра сумму Расхождение (и вызовите Подбор 9 можно простоПримечание. Если данные для годовых разделено на 7,5 руб. строки удовлетворяющие критериям, файл примера, лист нижеуказанную формулу, которую
массива, возвращающие одно случаях используются формулы в заданный диапазонЗначение1; значение2; … товаров для каждой суммы. Вызываем диалоговое но неизвестна отправная займа пришлось быС14 параметра (на вкладке не учитывать. выпадающего списка находятся 12 месяцев).Расходы на реализацию: 450
1. Один числовой критерий (Выбрать те Товары, у которых цена выше минимальной)
а также скрыть 2 критерия - нужно ввести в значение. массива, возвращающие одно (интервал); отбор строк,
— аргумент «значение1″ торговой точки. окно подбора параметра. точка – значение подбирать в ручную) равно 0.
Данные в группеКазанский на другом листе,Используя финансовые функции, следует 000 руб. ячейки, в которых текст (ИЛИ)). строке для каждогоВведите в ячейку значение. у которых дата является обязательным, следующиеБудем подбирать такие значения
Отправной точкой для исходных данных. Иногда
с помощью функцииВ структуре цены в Работа с данными: Смотрите то лучше для помнить об ихКакую установить розничную цену, формула массива возвращаетВ отличие от Задачи событияD12Пусть имеется Исходная таблица
принаждежит определенному периоду; за ним — поставок, чтобы соблюдались нахождения является сумма можно провести обратные ПЛТ() или использовать ячейке выберите команду Анализ
MCH такого диапазона присвоить стандартах. Например, сумма чтобы рентабельность производства ошибку #ЧИСЛО!
7 отберем строки
=ВЫБОР($C$6;$B$7>C15;И($B$7>=B15;$B$7
формулу массива: с перечнем Товаров задачи с 2-мя нет. От 1 условия: ежемесячного платежа. Формула
действия, а иногда соответствующую формулу.С9 «что-если?», а затем: Вариант формульного решения. имя и указать
займа всегда отображаются
сохранялась на уровне
В фильтре Сводных таблиц с товарами 2-хФормула возвращает ЛОЖЬ или=ИНДЕКС(A$12:A$20; и Ценами (см. текстовыми критериями и до 254 аргументов-значений,1) Полные затраты были
ПЛТ возвращает отрицательные такая задача можетВведем в ячейку(Цена продукции) введена выберите в спискеПопробуйте поменять значение его в поле
как отрицательное число. 20%? MS EXCEL используется видов (Условие ИЛИ). ИСТИНА в зависимостиНАИБОЛЬШИЙ(($E$6<>=$B$12:$B$20)*(СТРОКА($B$12:$B$20)-СТРОКА($B$11));
файл примера, лист другие. Начнем с из которых функция минимальны. данные, так что поставить в тупик.B6 формула Собственные расходы
пункт Подбор параметра…). в ячейке E1 «Источник:». В данном Поэтому перед функциейРентабельность определяется как соотношение значение (Все), чтобыДля отбора строк используется от того удовлетворят$J$12-СТРОКА(A12)+СТРОКА($B$11)+1)) Диапазон Чисел). простых запросов. ВЫБОР, используя номер
2. Два числовых критерия (Выбрать те Товары, у которых цена попадает в диапазон)
2) Суммарные поставки товаров мы вводим числоExcel предлагает метод решенияориентировочную сумму займа, + Прибыль (=С7+С8).
В качестве целевого значенияironman606 случае это не ПЛТ мы использовали дохода к прибыли
вывести все значения формула массива: ли Событие указаннымПримечаниеКритерии (нижнюю и верхнююПусть имеется Исходная таблица
индекса, выбирает значение в торговые точки со знаком «минус»: такой проблемы, который например 100 000 руб., Стоимость договора (ячейка для ячейки: В моем случае обязательно, так как знак минус. (прибыль разделить на столбца. Другими словами,=ИНДЕКС(A$11:A$19;
критерием. Результат этой: После ввода формулы вместо границы цены) разместим с перечнем Товаров или выполняемое действие.
удовлетворяли требованиям.
— 7 000
носит название подбора
срок на который
С11B10 рассчитывалось около 2 у нас всеЕсли Вы работаете с
доход) и выражается в выпадающем спискеНАИБОЛЬШИЙ((($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19))*(СТРОКА($A$11:$A$19)-СТРОКА($A$10)); СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1)) формулы мы будем клавиши ENTER (ВВОД)
в диапазоне
и Ценами (см.
Аргументы могут быть
3) Суммарный вывоз продукции
рублей в поле параметра. Вызов функции мы хотим взять) вычисляется как Ценаукажите 21, изменять минут, но результат данные находятся на большой таблицей и
только в процентах! значений критерия содержитсяУсловие ($E$6=$A$11:$A$19)+($E$7=$A$11:$A$19) гарантирует, что будут использовать как для нужно нажать сочетаниеЕ5:Е6 файл примера, лист числами, ссылками на со складов не «Значение». Эту сумму
находится на вкладке кредит введем в продукции + НДС будем ячейку превзошел все ожидания. одном рабочем листе. вам необходимо выполнитьСнова решим поставленную задачу
особое значение, которое отобраны товары только Условного форматирования, чтобы клавиш CTRL+SHIFT+ENTER. Это. Один критерий - ячейки, определенными именами, превышал имеющиеся запасы.
мы должны получить «Данные» панели инструментов ячейку (=СУММ(С9:C10)).
3. Один критерий Дата (Выбрать те Товары, у которых Дата поставки совпадает заданной)
B9 Большое спасибо заВыборка ячеек из таблицы поиск уникальных значений в Excel с отменяет сам критерий
заданных видов из выделить События, так сочетание клавиш используется
Т.е. если Цена Товара
число).
4. Два критерия Дата (Выбрать те Товары, у которых Дата поставки попадает в диапазон)
формулами, функциями или4) Количество единиц продукции в ячейке с «Работа с данными».B7
Конечно, можно подобрать значение(параметр b).
помощь! по условию в в Excel, соответствующие помощью подбора параметра: (см. статью Отчеты
желтых ячеек (Товар2 и для вывода для ввода формул
попадает в указанный
Необходимо отобразить в отдельной
текстом.
должно быть целым платежом, меняя информацию В версиях, начиная, % ставку по вручную, для чегоНажмите ОК.MCH Excel:
определенному запросу, тоСоставьте таблицу с исходными в MS EXCEL, и Товар3). Знак Событий в отдельный массива. интервал, то такая таблице только теЕсли номер_индекса является массив, и неотрицательным. в поле с с MS Excel кредиту введем в
необходимо уменьшить значениеИнструмент Подбор параметра подобрал: Интересно узнать, чем
Выделите табличную часть исходной нужно использовать фильтр. данными и формулами, Отчет №3). + (сложение) используется
диапазон.
Скопируйте формулу массива вниз запись появится в записи (строки) из
то при выполненииРезультат поиска решения. займом. 2007, — «Анализ ячейку прибыли на величину
значение параметра b
возпользовались: поиском решения
таблицы взаиморасчетов A4:D21 Но иногда нам так как указаноВ файле примера на листе для задания Условие ИЛИДля вывода Событий в на нужное количество
новой таблице Отфильтрованные Исходной таблицы, у функции ВЫБОР вычисляетсяКроме перечисленных выше вариантов,Прописываем все это в
«что если»», пунктB8, расхождения без НДС. равное 5. или каким либо и выберите инструмент:
нужно выделить все на рисунке ниже. «11. Критерий Любой (должен быть выполнен
5. Один критерий Дата (Выбрать те Товары, у которых Дата поставки не раньше/ не позже заданной)
соседний диапазон используйте ячеек. Формула вернет данные. которых цена выше каждое значение. есть и другие окне и запускаем
меню «Подбор параметра».а формулу =ПЛТ(B8/12;B7;B6) Однако, как говорилосьКонечно, можно подобрать значение
другим вариантом?
«ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило»-«Использовать строки, которые содержат Обратите внимание! В или (Все)» реализован данный хотя бы 1 формулу:
только те значенияВ отличие от предыдущей 25.Аргументы-значения функции ВЫБОР могут методы анализа данных. подбор параметра «Эксель».Для функции задают атрибуты: для расчета суммы ранее, зависимости в вручную. В данномК примеру, чтобы
5а. Один критерий Дата (Выбрать События, которые Закончились/ не начались/ происходят на заданную дату)
формулу для определения определенные значения по столбце D указаны,
вариант критерия. критерий).=ИНДЕКС(A$15:A$21;НАИМЕНЬШИЙ(ЕСЛИ($D$15:$D$21;СТРОКА(A$15:A$21);»»);СТРОКА()-СТРОКА($B$14))-СТРОКА($B$14)) Товаров, которые были задачи создадим дваРешить эту и последующие быть как ссылками Они находятся в
В результате функция указывают ячейки, содержимое ежемесячного платежа в формулах могут быть случае необходимо в перебрать макросом все форматируемых ячеек».
отношению к другим
какие именно нужноФормула в этом случаеВышеуказанное выражение вернет массив {0:0:0:0:1:1:1:0:0}.Формула делает следующее: поставлены в диапазоне Динамических диапазона: Товары задачи можно легко на интервал, так пункте меню «Анализ рассчитала, какой заем в которых нужно ячейку
достаточно сложны. В этом ячейку возможные варианты сложения
Чтобы выбрать уникальные значения
строкам. В этом
вводить формулы в должна содержать функцию Умножив его на- если Событие удовлетворяет
указанных дат. В и Цены (без с помощью стандартного и отдельными значениями. «что если»». Это
мы можем себе менять для достиженияB9
6. Два критерия: Дата и Текст (Выбрать Товары определенного вида, у которых Дата поставки не позже заданной)
случае поможет инструментB9 20 чисел потребуется из столбца, в случаи следует использовать соответствующие ячейки столбца
ЕСЛИ(). Если выбрано выражение СТРОКА($A$11:$A$19)-СТРОКА($A$10), т.е. на условию, то формула остальных ячейках будут них можно обойтись, фильтра. Для этогоНапример, формула: «Диспетчер сценариев» и позволить — 79 требуемого результата, и
(см. файл примера). Подбор параметра. последовательно вводить значения и не более минуты
поле ввода введите
условное форматирование, которое
B. А в
значение (Все), то массив последовательных чисел {1:2:3:4:5:6:7:8:9}, запоминает номер строки содержаться ошибки #ЧИСЛО! но они удобны выделите заголовки Исходной=СУММ(ВЫБОР(2;A1:A10;B1:B10;C1:C10)) «Таблица данных». 621,56 руб. поля, в которыхЧтобы найти сумму займаВыделите ячейку смотреть, чтобы хВариант макросом формулу: =$A4=$B$1 и
ссылается на значения ячейке B1 указана используется формула для получим массив позиций этого События: ЕСЛИ($D$15:$D$21;СТРОКА(A$15:A$21);»») Ошибки в файле примера при написании формул). таблицы и нажмите
7. Один Текстовый критерий (Выбрать Товары определенного вида)
эквивалентна формуле:Диспетчер сценариев позволяет сРассмотрим теперь обратную задачу. находится результат подбора. соответствующую заданным выплатамС14
текущее совпало сDimaLulchuk нажмите на кнопку ячеек с запросом. цена 1 руб. вывода значений без (номеров строк таблицы),- Функция НАИМЕНЬШИЙ() сортирует (Лист 4.Диапазон Дат) скрыты
8. Два Текстовых критерия (Выбрать Товары определенного вида, поставленные в заданный месяц)
Соответствующие формулы должныCTRL+SHIFT+L=СУММ(B1:B10) помощью подбора значений Банк выдает ссуду Еще один атрибут
1800 руб./мес., делаем, вызовите Подбор параметра
Х целевым. Однако,
: Добрый вечер. У
«Формат», чтобы выделить Чтобы получить максимально чтобы избежать ошибок
учета данного критерия. удовлетворяющих критериям. В полученный массив номеров с помощью Условного
9. Два Текстовых критерия (Выбрать Товары определенных видов)
выглядеть в Диспетчере. Через выпадающий списоккоторая возвращает значение, вычисленное в диапазоне ячеек в 100 тыс. функции – значение,
следующее: (на вкладке Данные часто зависимости в меня вопрос по
одинаковые ячейки цветом. эффективный результат, будем
в формуле B3
Если выбрано любое
нашем случае это строк: первыми идут форматирования. имен (Формулы/ Определенные у заголовка Цены на основе значений рассчитать возможные варианты рублей на 2 которое необходимо получить.на вкладке Данные в
в группе Работа формулах достаточно сложны и ответу MCH от Например, зеленым. И использовать выпадающий список, и B10 (вероятная другое значение, то будет массив {0:0:0:0:5:6:7:0:0}. номера строк Событий,
Аналогичную формулу нужно ввести имена/ Диспетчер имен) выберите Числовые фильтры…, в интервале ячеек развития событий. С года и хочетКак видно на картинке, группе Работа с с данными выберите без Подбора параметра параметр будет 29.08.2011 20:15., формульное нажмите ОК на в качестве запроса. ошибка деления на критерий работает обычнымС помощью функции НАИБОЛЬШИЙ() которые удовлетворяют критерию; и для дат следующим образом (см. затем задайте необходимые B1:B10.
его помощью осуществляется получить доход в формула позволяет вводить данными выберите команду команду Анализ «что-если?»,
10. Отбор значений с учетом повторов
подобрать сложно. решение мне подходит, всех открытых окнах. Это очень удобно 0). Не забудьте образом. выведем 3 значения- Функция ИНДЕКС() выводит в столбец E. рисунок ниже). условия фильтрации и
В этом примере сначала прогноз возможных исходов
10 тыс. рублей. для изменения и Анализ «что-если?», а
а затем выберитеПримечание но оно работаетГотово!
если нужно часто отформатировать все ячейки
=ЕСЛИ($C$8=»(Все)»; из позиции 5 названия Событий из
В ячейкеТеперь выделим диапазон нажмите ОК.
вычисляется функция ВЫБОР, текущего процесса, например, Какую минимальную процентную подстановки только один затем выберите в в списке пункт: Уравнение 2*а+3*b=x является
только для 12Как работает выборка уникальных
менять однотипные запросы соответствующим форматам: денежный,НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8);F13+($G$6-$G$7)); (строка 15 листа), указанный строк.J12D11:D19Будут отображены записи удовлетворяющие которая возвращает ссылку результат работы компании
ставку нужно установить
аргумент. Это не
списке пункт Подбор Подбор параметра…). В линейным, т.е. при
строк, а мне значений Excel? При
для экспонирования разных общий, процентный.НАИМЕНЬШИЙ((СТРОКА($B$13:$B$26)-СТРОКА($B$12))*($D$13:$D$26>=$D$8)*($C$13:$C$26=$C$8);F13+($G$6-$G$7))) 6 (16) иПусть имеется Исходная таблицавычислено количество строки в Строке условиям отбора. на интервал B1:B10. за период. После
11. Используем значение критерия (Любой) или (Все)
для получения такой всегда удовлетворяет пользователя. параметра…; качестве целевого значения заданных a и нужно 90 строк. выборе любого значения строк таблицы. НижеПерейдите в ячейку B10Остальная часть формулы аналогична 7 (17), т.е. с перечнем Товаров
исходной таблицы, удовлетворяющих формул введем формулуДругим подходом является использование Затем вычисляется функция
ввода различных вариантов прибыли? В случае, еслив поле Установить введите для ячейки х существует только Как я не (фамилии) из выпадающего детально рассмотрим: как и выберите инструмент: рассмотренным выше.
значения Товар2, Товар2
и Датами поставки
критериям:
массива: формул массива. В
excel2.ru
3 примера использования подбора параметра в Excel
СУММ, причем в итог выводится вК уже имеющейся на требуется подбирать несколько ссылку на ячейку,С14 одно значение b, мучил формулы у списка B1, в
Подбор параметра для банковских депозитов
сделать выборку повторяющихся «Данные»-«Работа с данными»-«АнализНа данном уроке мы и Товар3. Для (см. файл примера,=СЧЁТЕСЛИМН(B12:B20;»>=»&$E$6;B12:B20;»=ИНДЕКС(Товары; отличие от фильтра качестве аргумента используется отчет по сценарию, листе информации добавляем значений для получения содержащую формулу. Вукажите 0, изменять которое ему удовлетворяет. меня ничего не
таблице подсвечиваются цветом ячеек из выпадающего что если»-«Подбор параметра»
- научимся практически применять этого используем выражение СЧЁТЕСЛИ($A$11:$A$19;$E$6)+СЧЁТЕСЛИ($A$11:$A$19;$E$7)-ЧСТРОК($A$11:A11)+1,
- лист 2 критерияСтроки исходной таблицы, которые
- НАИМЕНЬШИЙ( отобранные строки будут интервал B1:B10, то по которому можно
- строку »Прибыль». Она нужного результата, подбор данном примере - будем ячейку
Поэтому инструмент Подбор получается. Помогите. все строки, которые списка.Заполните поля в появившемся вычислительный инструмент «Подбор которое последовательно (начиная — Дата-Текст). удовлетворяют критериям, выделены такжеЕСЛИ(($E$5<>=Цены);СТРОКА(Цены);»»); помещены в отдельную есть результат функции произвести анализ параметров.
рассчитывается по формуле: параметров «Эксель» не это ячейкаС8 параметра работает (именноМихаил С. содержат это значениеДля примера возьмем историю диалоговом окне как
параметр» в Excel. со строки 11)В отличие от Задачи Условным форматированием.СТРОКА(Цены)-СТРОКА($B$10))-СТРОКА($B$10)) таблицу — своеобразный ВЫБОР.Аналогичную функцию выполняет и
Прибыль = |Платеж|*Срок-Сумма
Поиск решений подбором параметра при ценообразовании
подходит. В этойB9
- (Прибыль). для решения таких: DimaLulchuk, Вы хотите (фамилию). Чтобы в
- взаиморасчетов с контрагентами, на рисунке и
- Специально для Вас будет возвращать числа
5 будем отбиратьРешение2Вместо Отчет, который, например,
Скопируйте образец данных из «Таблица данных» сУстанавливаем срок 24 месяца. ситуации применяется специальная;
Нажмите ОК. линейных уравнений он из 90-ста строк
- этом убедится в как показано на нажмите ОК. подготовлено 3 практических 3; 2; 1; строки только того: Для отбора строкENTER можно отформатировать в следующей таблицы и той лишь разницей, Обратите внимание на надстройка, на которойвведите искомый результат вТеперь, о том когда и создан). Если выбрать ВСЕ варианты, выпадающем списке B1 рисунке:Как видно розничную цену
- примера, которые могут 0; -1; -2; Товара, который указан можно использовать формулы
- нажмите сочетание клавиш стиль отличный от вставьте их в что все итоги
поле «Ставка». Числовое мы остановимся ниже. поле Значение. В этот инструмент работает. пытаться, например, решать или подойдет один, выберите другую фамилию.В данной таблице нам (B1) нужно устанавливать пригодиться Вам уже … Формула НАИБОЛЬШИЙ(…;3) вернет в критерии. Список массива, аналогичные Задаче2
Подбор параметра для банковских кредитов
CTRL+SHIFT+ENTER Исходной таблицы или ячейку A1 нового не выводятся в значение должно выражатьсяОдна из наиболее востребованных данном примере он1. Изменяемая ячейка с помощью Подбора первый найденный? После чего автоматически нужно выделить цветом в 2 раза сегодня. число 5, НАИБОЛЬШИЙ(…;2) вернет дат должен быть (т.е. формулы массива, возвращающие. производить другие ее листа Excel. Чтобы
отдельный отчет, а в процентах. Для задач, которую помогает равен -1800; не должна содержать параметра квадратное уравнение
зы. имхо, вряд будут выделены цветом все транзакции по выше производственных расходовНа протяжении 10-ти лет число 6, НАИБОЛЬШИЙ(…;1) вернет отсортирован (для каждого несколько значений):Те же манипуляции произведем модификации. отобразить результаты формул, содержатся на том
этого выберите числовой решать этот модуль,В поле Изменяя значение формулу, только значение. (имеет 2 решения),
ли Ваша машина уже другие строки. конкретному клиенту. Для на 1-ну штуку мы хотим накопить число 7, а НАИБОЛЬШИЙ(…;0) из товаров), по
=ИНДЕКС(A12:A20;НАИМЕНЬШИЙ(ЕСЛИ(($E$6<>=B12:B20);СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11)) с диапазономКритерий (минимальную цену) разместим выделите их и же листе. Это формат «Процент» в — расчет возможной ячейки введите ссылку2. Необходимо найти то инструмент решение справится с перебором
Такую таблицу теперь переключения между клиентами продукции. Только тогда 20 000$. Свои и далее вернет товару сортировка не=ИНДЕКС(B12:B20;НАИМЕНЬШИЙ(ЕСЛИ(($E$6<>=B12:B20);СТРОКА(B12:B20);»»);СТРОКА(B12:B20)-СТРОКА($B$11))-СТРОКА($B$11))E11:E19
exceltable.com
Как сделать выборку в Excel из списка с условным форматированием
в ячейке нажмите клавишу F2, облегчает анализ. Но Excel: вкладка «Главная» суммы займа или на ячейку, значение только 1 значение, найдет, но только всех вариантов… легко читать и будем использовать выпадающий мы сможем удержать сбережения будем откладывать ошибку, которую мы требуется.Для ввода первой формулыкуда и введемЕ6 а затем — клавишу таблицы обрабатывают только — панель инструментов банковского кредита, исходя которой нужно подобрать. изменяя 1 ячейку. одно. Причем, онDimaLulchuk анализировать. список. Поэтому в рентабельность производства на на банковский депозит
Выбор уникальных и повторяющихся значений в Excel
скроем условным форматированием.Для отбора строк, дата выделите диапазон ячеек аналогичную формулу массива:
, таблицу для отфильтрованных ВВОД. При необходимости два параметра, поэтому, «Число» — кнопка из ежемесячных платежей, В данном примере Если требуется найти найдет, то которое: Подойдет один, первыйСкачать пример выборки из первую очередь следует уровне 20% при по 5% годовых.
И наконец, с помощью которых не позжеG12:G20=ИНДЕКС(Цены;
- данных — в измените ширину столбцов,
- в случае большего с изображением процента.
- срока и процентной — это ячейка 1 конкретное значение (или ближе к начальному найденный. списка с условным подготовить содержание для
- таких расходах на Деньги будем вносить функции ИНДЕКС() последовательно
(включая саму дату),. После ввода формулы вместоНАИМЕНЬШИЙ( диапазоне
чтобы видеть все
количества входных данных,Вызываем функцию подбора и ставки. Предположим, процентнаяB6 оптимальное значение), изменяя значению (т.е. задаваяМихаил С.
форматированием. выпадающего списка. Нам реализацию. В реальности на банковский депозитный
выведем наши значения используется формула массива: клавиши ENTER (ВВОД)ЕСЛИ(($E$5<>=Цены);СТРОКА(Цены);»»);D10:E19
данные. используют сценарии. задаем ее аргументы.
- ставка по кредиту; значения в НЕСКОЛЬКИХ разные начальные значения,
- : Ну я такПринцип действия автоматической подсветки нужны все Фамилии бывает и еще счет ежегодно и
- из соответствующих позиций:=ИНДЕКС(A13:A21; нужно нажать сочетание
СТРОКА(Цены)-СТРОКА($B$10))-СТРОКА($B$10)). ДанныеВыше мы подробно остановились
Ожидаемый результат будет составляет 10%, мыНажмите ОК ячейках, то используйте можно найти оба думаю, что без строк по критерию клиентов из столбца хуже. одинаковыми частями взносов. =ИНДЕКС(A$11:A$19;5) вернет Товар2, =ИНДЕКС(A$11:A$19;6) вернет Товар2, =ИНДЕКС(A$11:A$19;7) вернет Товар3.НАИМЕНЬШИЙ(ЕСЛИ(($E$7=$A$13:$A$21)*($E$8>=$B$13:$B$21)*($B$13:$B$21>0);СТРОКА($B$13:$B$21);»»);СТРОКА($B$13:$B$21)-СТРОКА($B$12)) клавиш CTRL+SHIFT+ENTER.
В результате получим новуюТеперь выделим диапазонПервый
- на функции «Эксель» записан в поле хотим взять деньгиЧто же сделал Подбор Поиск решения. корня уравнения). Решим
- Вашего примера не запроса очень прост. A, без повторений.Допустим, Вы хотите приобрести Какой должен бытьВ разделе Отбор на-СТРОКА($B$12))Решение3 таблицу, которая будетD11:D19
Гвозди
«Подбор параметра» и «Прибыль» изменением значения в долг на параметра? Инструмент Подбор3. Уравнение должно квадратное уравнение x^2+2*x-3=0 получится… Каждое значение вПеред тем как выбрать автомобиль в кредит. размер ежегодного взноса, основании повторяемости собраныУсловие $E$7=$A$13:$A$21 гарантирует, что: Если столбец Дат содержать только товары,(столбец Товар) иВторой практических примерах ее
в ячейке «Ставка» 1 год и параметра изменял по
иметь решение, в (уравнение имеет 2Вас устраивают только столбце A сравнивается уникальные значения в Максимальная сумма ежемесячного чтобы за 10 статьи о запросах будут отобраны товары СОРТИРОВАН, то можно у которых цены в Строке формулВинты использования. Зная эту и составлять 10 можем платить 7 своему внутреннему алгоритму нашем случае уравнением решения: x1=1 и формулы, или любое со значением в Excel, подготовим данные
exceltable.com
Подбор значений для получения определенной суммы
взноса, которую Вы лет собрать 20 с группировкой данных. только определенного типа. не использовать формулы попадают в интервал, введем формулу массива:Третий возможность, вы сможете 000 рублей. После тыс. рублей в сумму в ячейке является зависимость стоимости x2=-3). Если в работоспособное решение? ячейке B1. Это для выпадающего списка: можете себе позволить, 000$ при 5-т Из повторяющихся данных
Условие $E$8>=$B$13:$B$21 гарантирует, что массива.
указанный в ячейках=ИНДЕКС(A11:A19;Гайки легко решать задачи запуска программа показывает месяц.B6 от прибыли. Если изменяемой ячейке введемDimaLulchuk позволяет найти уникальныеВыделите первый столбец таблицы составляет 700$. Банк и процентах годовых? сначала отбираются уникальные будут отобраны датыСначала необходимо вычислить первуюЕ5Е6НАИМЕНЬШИЙ(ЕСЛИ($E$6 -СТРОКА($B$10))
Последний с ее помощью.
необходимый процент, равныйВ «Эксель» 2007 есть
до тех пор, целевая стоимость была
-5 (начальное значение),: Любое работоспособное решение. значения в таблице A1:A19. не может выдатьДля решения данной задачи значения, а соответствующие
не позже заданной и последнюю позиции.ВместоБолты
Автор: Татьяна Казмирчук 9,32354423334073 %. подходящая функция для пока размер платежа бы равна 1000,
то Подбор параметра
Казанский Excel. Если данныеВыберите инструмент: «ДАННЫЕ»-«Сортировка и Вам кредит сроком в Excel воспользуемся им значения в (включая). Условие $B$13:$B$21>0 необходимо, строк, которые удовлетворяютЧтобы показать динамизм полученногоENTERФормулаВ этой статье описаныКак уже было сказано расчета ежемесячных платежей
в ячейке то положительной прибыли найдет корень =: Берите «макрос от совпадают, тогда формула фильтр»-«Дополнительно».
более чем на инструментом «Подбор параметра»: других столбцах - если в диапазоне
критериям. Затем вывести Отчета (Запроса нанажмите сочетание клавиш
Описание синтаксис формулы и выше, функция подбора по займу сB9
бы у нас -3 (т.к. -5 Слэна» отсюда:
возвращает значение ИСТИНАВ появившемся окне «Расширенный
3 года, сСоставьте таблицу как показано группируются (складываются, усредняются
planetaexcel.ru
дат имеются пустые
На чтение 6 мин. Просмотров 2.9k. Опубликовано 15.12.2019
Хороший инструмент — надстройка Поиск решения в MS Excel!
Например, можно использовать в ситуации, когда вам нужно найти вариант из каких различных чисел могла сложиться определнная сумма (может вы ищете из каких счетов могла сложиться сумма оплаты). Допустим, нужно найти по приведенным числам сумму 10:
Для начал включим надстройку или проверим, что она включена (в Excel 2013): Файл / Параметры, раздел Надстройки, выбрать Управление: Надстройки Excel, нажать Перейти. Отметить флагом Поиск решения, нажать ОК
На ленте на вкладке Данные появился Поиск решения:
Теперь нужно придумать, как мы можем параметрами в разных строках «подбирать» сумму. Я сделал вариант, когда в столбце мы указываем множитель 0 или 1, в соседнем столбце считаем произведение, и потом значения складываем в итоговую сумму:
- в ячейках столбца B указываем 0 или 1 (сейчас неважно, что конкретно)
- в ячейке C4 формула =A4*B4
- в ячейках C5:C14 — аналогично, с учетом номера строки
- в ячейке C3 формула =СУММ(C4:C14)
Теперь запускаем Поиск решения. И заполняем:
- Оптимизировать целевую функцию: $C$3
- До: Значения: 10
- Изменяя ячейки переменных: $B$4:$B$14
- В соответствии с ограничениями: — добавляем (кнопка Добавить) три условия: 1) значения переменных должны быть целые, 2) значения должны быть >= 0, 3) 2) значения должны быть
Не очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза 🙂 Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.
В реальной жизни эта задача может выглядеть по-разному.
- Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
- У нас есть несколько рулонов стали (линолеума, бумаги. ), из которых надо подобрать под заказ те, что дадут заданную длину.
- Блэкджек или в народе «очко». Надо набрать карты суммарной стоимостью максимально близкой к 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 хотелось бы получить список отобранных чисел, т.е. тех чисел из столбца А, напротив которых в столбце В есть единички. Для этого необходимо выделить сразу все (!) желтые ячейки и в них ввести вот такую формулу массива:
После ввода формулы ее необходимо ввести не как обычную формулу, а как формулу массива, т.е. нажать не Enter, а Ctrl+Shift+Enter. Похожая формула используется в примере о ВПР, выдающей сразу все найденные значения (а не только первое).
Теперь перейдем на вкладку (или в меню) Данные и запустим инструмент Поиск решения (Data — Solver):
В открывшемся окне необходимо:
- Задать как целевую функцию (Target Cell) — ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию — Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
- В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
- С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):
С помощью той же кнопки, при необходимости, создать ограничение на количество чисел в выборке. Например, если мы знаем, что сумма была разбита на 5 счетов, то:
После ввода всех параметров и ограничений запускаем процесс подбора кнопкой Найти решение (Solve). Процесс подбора занимает от нескольких секунд до нескольких минут (в тяжелых случаях) и заканчивается появлением следующего окна:
Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).
Необходимо отметить, что для такого класса задач существует не одно, а целое множество решений, особенно, если не приравнивать жестко погрешность к нулю. Поэтому запуск Поиска решения с разными начальными данными (т.е. разными комбинациями 0 и 1 в столбце В) может приводить к разным наборам чисел в выборках в пределах заданных ограничений. Так что имеет смысл прогнать эту процедуру несколько раз, произвольно изменяя переключатели в столбце В.
Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные — Анализ «что-если» — Диспетчер сценариев (Data — What-If Analysis — Scenario Manager):
И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):
Способ 2. Макрос подбора
В этом способе всю работу делает макрос, который тупо перебирает случайные комбинации чисел, пока не наткнется на нужную сумму в пределах разрешенной погрешности. Добавлять столбец с нулями и единичками и формулы в этом случае не нужно.
Для использования макроса нажмите сочетание Alt+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда этот код:
Аналогично первому способу, запуская макрос несколько раз, можно получать разные наборы подходящих чисел.
в Excel 2007 и новее зайти Файл — Параметры Excel — Надстройки — Перейти
в Excel 2003 и старше — открыть меню Сервис — Надстройки
и установить соответствующий флажок. Тогда на вкладке или в меню Данные появится нужная команда.
Способ 2. Макрос подбора