Как в excel задать формулу выбора приближенного варианта
Функция ВЫБОР идеально подходит для одновременного использования нескольких формул в одной ячейке. Благодаря этому пользователь имеет возможность переключатся между формулами и выбирать ту, которая должна быть выполнена.
Примеры выбора выполнения формулы по условию пользователя
Ниже на рисунке представлен отчет по продажам и три способа агрегирования данных. Для удобства создан выпадающий список, из которого пользователь выбирает метод агрегирования:
Синтаксис функции ВЫБОР:
Первый аргумент функции ВЫБОР называется «Номер индекса» и определяет, который из очередных аргументов должен быть возвращен через функцию. Данный аргумент может принимать числовые значения от 1-го и до максимального количества последующих аргументов, то есть до 254. Очередные последующие 254 аргумента содержат значения, которое и будет возвращать функция. Если аргумент «Номер индекса» содержит число 1, функция будет возвращать содержимое второго аргумента. А если номер индекса = 2, будет возвращен третий аргумент и т.д.
Последующие аргументы после первого «Номер индекса» называются «Значение1»;«Значение2»… «Значение254». В выше приведенной формуле они определяют 3 способа агрегирования данных по продажам, которые может выбирать пользователь:
- Функция СУММ – суммирует числа в диапазоне ячеек.
- СЧЁТ – подсчитывает количество непустых ячеек с числами.
- СРЗНАЧ – выводит среднее арифметическое значение для диапазона чисел в ячейках.
Значение в первом аргументе функции ВЫБОР вычисляется функцией ПОИСКПОЗ, которая в данном примере возвращает число 1, 2 или 3 в зависимости от того какую позицию в выпадающем списке выберет пользователь в ячейке E6:
Сам выпадающий список заполняется значениями ссылаясь на диапазон ячеек E2:E4.
Если пользователь выберет из выпадающего списка опцию «Сумма», функция ПОИСКПОЗ вернет в результате вычисления число 1 для первого аргумента функции ВЫБОР. В итоге целая формула вернет результат вычисления функции СУММ, которая находится во втором аргументе. Если же пользователь выберет опцию «Количество», то ПОИСКПОЗ вернет число 2, а целая формула результат вычисления СЧЁТ из третьего аргумента.
Как показано выше на рисунке пользователь выбрал опцию «Среднее», поэтому функция ПОИСКПОЗ вернула число 3, а потом ВЫБОР выполнила функцию СРЗНАЧ из четвертого аргумента. В результате целая формула вернула ее среднее значение.
Пример использования формул ПРОМЕЖУТОЧНЫЕ.ИТОГИ и ВЫБОР в Excel
Альтернативным способом применения в формулах функций ВЫБОР и ПОИСКПОЗ является использования их вместе с функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ. Данная функция очень универсальная и позволяет выполнять сразу несколько методов агрегации данных, которые можно применять к одному и тому же диапазону ячеек. Когда первый аргумент функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ содержит значение 1 – выводится среднее арифметическое чисел в ячейках того же диапазона:
Например, если первый аргумент функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ равен числу 9, значения диапазона ячеек будут просуммированы. Если же первый аргумент = 2, тогда подсчитывается количество ячеек этого же диапазона:
Внутри функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ можно использовать функции ВЫБОР и ПОИСКПОЗ, для определения метода агрегации данных. Данный способ составления формулы более рестрикционный, чем обычное размещение формул внутри функции ВЫБОР. Ведь количество методов обработки диапазонов данных функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ ограничено до 22-х.
«Подбор параметра» - ограниченный по функционалу вариант надстройки «Поиск решения». Это часть блока задач инструмента «Анализ «Что-Если»».
В упрощенном виде его назначение можно сформулировать так: найти значения, которые нужно ввести в одиночную формулу, чтобы получить желаемый (известный) результат.
Где находится «Подбор параметра» в Excel
Известен результат некой формулы. Имеются также входные данные. Кроме одного. Неизвестное входное значение мы и будем искать. Рассмотрим функцию «Подбора параметров» в Excel на примере.
Необходимо подобрать процентную ставку по займу, если известна сумма и срок. Заполняем таблицу входными данными.
Процентная ставка неизвестна, поэтому ячейка пустая. Для расчета ежемесячных платежей используем функцию ПЛТ.
Когда условия задачи записаны, переходим на вкладку «Данные». «Работа с данными» - «Анализ «Что-Если»» - «Подбор параметра».
В поле «Установить в ячейке» задаем ссылку на ячейку с расчетной формулой (B4). Поле «Значение» предназначено для введения желаемого результата формулы. В нашем примере это сумма ежемесячных платежей. Допустим, -5 000 (чтобы формула работала правильно, ставим знак «минус», ведь эти деньги будут отдаваться). В поле «Изменяя значение ячейки» - абсолютная ссылка на ячейку с искомым параметром ($B$3).
После нажатия ОК на экране появится окно результата.
Чтобы сохранить, нажимаем ОК или ВВОД.
Функция «Подбор параметра» изменяет значение в ячейке В3 до тех пор, пока не получит заданный пользователем результат формулы, записанной в ячейке В4. Команда выдает только одно решение задачи.
Решение уравнений методом «Подбора параметров» в Excel
Функция «Подбор параметра» идеально подходит для решения уравнений с одним неизвестным. Возьмем для примера выражение: 20 * х – 20 / х = 25. Аргумент х – искомый параметр. Пусть функция поможет решить уравнение подбором параметра и отобразит найденное значение в ячейке Е2.
В ячейку Е3 введем формулу: = 20 * Е2 – 20 / Е2.
А в ячейку Е2 поставим любое число, которое находится в области определения функции. Пусть это будет 2.
Запускам инструмент и заполняем поля:
«Установить в ячейке» - Е3 (ячейка с формулой);
«Значение» - 25 (результат уравнения);
«Изменяя значение ячейки» - $Е$2 (ячейка, назначенная для аргумента х).
Найденный аргумент отобразится в зарезервированной для него ячейке.
Решение уравнения: х = 1,80.
Функция «Подбор параметра» возвращает в качестве результата поиска первое найденное значение. Вне зависимости от того, сколько уравнение имеет решений.
Если, например, в ячейку Е2 мы поставим начальное число -2, то решение будет иным.
Примеры подбора параметра в Excel
Функция «Подбор параметра» в Excel применяется тогда, когда известен результат формулы, но начальный параметр для получения результата неизвестен. Чтобы не подбирать входные значения, используется встроенная команда.
Пример 1. Метод подбора начальной суммы инвестиций (вклада).
- срок – 10 лет;
- доходность – 10%;
- коэффициент наращения – расчетная величина;
- сумма выплат в конце срока – желаемая цифра (500 000 рублей).
Внесем входные данные в таблицу:
Начальные инвестиции – искомая величина. В ячейке В4 (коэффициент наращения) – формула =(1+B3)^B2.
Вызываем окно команды «Подбор параметра». Заполняем поля:
После выполнения команды Excel выдает результат:
Чтобы через 10 лет получить 500 000 рублей при 10% годовых, требуется внести 192 772 рубля.
Пример 2. Рассчитаем возможную прибавку к пенсии по старости за счет участия в государственной программе софинансирования.
- ежемесячные отчисления – 1000 руб.;
- период уплаты дополнительных страховых взносов – расчетная величина (пенсионный возраст (в примере – для мужчины) минус возраст участника программы на момент вступления);
- пенсионные накопления – расчетная величина (накопленная за период участником сумма, увеличенная государством в 2 раза);
- ожидаемый период выплаты трудовой пенсии – 228 мес.;
- желаемая прибавка к пенсии – 2000 руб.
С какого возраста необходимо уплачивать по 1000 рублей в качестве дополнительных страховых взносов, чтобы получить прибавку к пенсии в 2000 рублей:
- Ячейка с формулой расчета прибавки к пенсии активна – вызываем команду «Подбор параметра». Заполняем поля в открывшемся меню.
- Нажимаем ОК – получаем результат подбора.
Чтобы получить прибавку в 2000 руб., необходимо ежемесячно переводить на накопительную часть пенсии по 1000 рублей с 41 года.
Не очень частый, но и не экзотический случай. На моих тренингах такой вопрос задавали не один и не два раза :) Суть в том, что мы имеем конечный набор каких-то чисел, из которых надо выбрать те, что дадут в сумме заданное значение.
В реальной жизни эта задача может выглядеть по-разному.
- Например, мы выгрузили из интернет-банка все платежи, которые поступили на наш счет за последний месяц. Один из клиентов разбивает сумму своего платежа на несколько отдельных счетов и платит частями. Мы знаем общую сумму оплаты и количество счетов, но не знаем их сумм. Надо подобрать те суммы в истории платежей, которые дадут в общем заданное значение.
- У нас есть несколько рулонов стали (линолеума, бумаги. ), из которых надо подобрать под заказ те, что дадут заданную длину.
- Блэкджек или в народе "очко". Надо набрать карты суммарной стоимостью максимально близкой к 21 баллу, но не превысить этот порог.
В некоторых случаях может быть известна разрешенная погрешность допуска. Она может быть как нулевой (в случае подбора счетов), так и ненулевой (в случае подбора рулонов), или ограниченной снизу или сверху (в случае блэкджека).
Давайте рассмотрим несколько способов решения такой задачи в Excel.
Способ 1. Надстройка Поиск решения (Solver)
Эта надстройка входит в стандартный набор пакета Microsoft Office вместе с Excel и предназначена, в общем случае, для решения линейных и нелинейных задач оптимизации при наличии списка ограничений. Чтобы ее подключить, необходимо:
- в Excel 2007 и новее зайти Файл - Параметры Excel - Надстройки - Перейти (File - Excel Options - Add-ins - Go)
- в Excel 2003 и старше - открыть меню Сервис - Надстройки (Tools - Add-ins)
и установить соответствующий флажок. Тогда на вкладке или в меню Данные (Data) появится нужная нам команда.
Чтобы использовать надстройку Поиск решения для нашей задачи необходимо будет слегка модернизировать наш пример, добавив к списку подбираемых сумм несколько вспомогательных ячеек и формул:
- Диапазон A1:A20 содержит наши числа, из которых мы будем выбирать нужные, чтобы "вписаться" в заданную сумму.
- Диапазон В1:B20 будет своего рода набором переключателей, т.е. будет содержать нули или единички, показывая, отбираем мы данное число в выборку или нет.
- В ячейке E2 стоит обычная автосумма всех единичек по столбцу B, подсчитывающая кол-во выбранных чисел.
- В ячейке E3 с помощью функции СУММПРОИЗВ (SUMPRODUCT) считается сумма попарных произведений ячеек из столбцов А и B (то есть A1*B1+A2*B2+A3*B3+. ). Фактически, здесь подсчитывается сумма чисел из столбца А, отобранных единичками из столбца В.
- В розовую ячейку E4 пользователь вводит желаемую сумму для подбора.
- В ячейке E5 вычисляется абсолютное по модулю значение погрешности подбора с целью ее будущей минимизации.
- Все желтых ячейках Е8:E17 хотелось бы получить список отобранных чисел, т.е. тех чисел из столбца А, напротив которых в столбце В есть единички. Для этого необходимо выделить сразу все (!) желтые ячейки и в них ввести вот такую формулу массива:
=ЕСЛИОШИБКА(ИНДЕКС($A$1:$A$20;НАИМЕНЬШИЙ(ЕСЛИ(B1:B20=1;СТРОКА(B1:B20);"");СТРОКА()-СТРОКА($E$8)+1));"")
=IFERROR(INDEX($A$1:$A$20;SMALL(IF(B1:B20=1;ROW(B1:B20);"");ROW()-ROW($E$8)+1));"")
После ввода формулы ее необходимо ввести не как обычную формулу, а как формулу массива, т.е. нажать не Enter, а Ctrl+Shift+Enter. Похожая формула используется в примере о ВПР, выдающей сразу все найденные значения (а не только первое).
Теперь перейдем на вкладку (или в меню) Данные и запустим инструмент Поиск решения (Data - Solver):
В открывшемся окне необходимо:
- Задать как целевую функцию (Target Cell) - ячейку вычисления погрешности подбора E5. Чуть ниже выбрать опцию - Минимум, т.к. мы хотим подобрать числа под заданную сумму с минимальной (а лучше даже нулевой) погрешностью.
- В качестве изменяемых ячеек переменных (Changing cells) задать диапазон столбца переключателей B1:B20.
- С помощью кнопки Добавить (Add) создать дополнительное условие на то, что ячейки диапазона B1:B20 должны быть бинарными (т.е. содержать только 0 или 1):
После ввода всех параметров и ограничений запускаем процесс подбора кнопкой Найти решение (Solve). Процесс подбора занимает от нескольких секунд до нескольких минут (в тяжелых случаях) и заканчивается появлением следующего окна:
Теперь можно либо оставить найденное решение подбора (Сохранить найденное решение), либо откатиться к прежним значениям (Восстановить исходные значения).
Необходимо отметить, что для такого класса задач существует не одно, а целое множество решений, особенно, если не приравнивать жестко погрешность к нулю. Поэтому запуск Поиска решения с разными начальными данными (т.е. разными комбинациями 0 и 1 в столбце В) может приводить к разным наборам чисел в выборках в пределах заданных ограничений. Так что имеет смысл прогнать эту процедуру несколько раз, произвольно изменяя переключатели в столбце В.
Найденные комбинации можно сохранять виде сценариев (кнопка Сохранить сценарий), чтобы вернуться к нем позднее с помощью команды Данные - Анализ "что-если" - Диспетчер сценариев (Data - What-If Analysis - Scenario Manager):
И весьма удобно будет вывести все найденные решения, сохраненные в виде сценариев, в одной сравнительной таблице с помощью кнопки Отчет (Summary):
Способ 2. Макрос подбора
В этом способе всю работу делает макрос, который тупо перебирает случайные комбинации чисел, пока не наткнется на нужную сумму в пределах разрешенной погрешности. Добавлять столбец с нулями и единичками и формулы в этом случае не нужно.
Для использования макроса нажмите сочетание Alt+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert - Module и скопируйте туда этот код:
Аналогично первому способу, запуская макрос несколько раз, можно получать разные наборы подходящих чисел.
P.S. Сейчас набегут энтузиасты с мехмата МГУ с криками "Тупой перебор - это неэстетично!" Да, я в курсе, что прямой перебор вариантов - это не самый оптимальный способ поиска. Да, существует много умных алгоритмов поиска решения таких задач, которые сокращают время поиска и находят нужную комбинацию заметно быстрее. Могу даже рассказать про парочку. Но мне на данном этапе существующей скорости "тупого перебора" вполне достаточно - обработка массива из 1000 ячеек идет меньше секунды. Готов подождать :)
При работе с таблицами Excel довольно часто приходится проводить отбор в них по определенному критерию или по нескольким условиям. В программе сделать это можно различными способами при помощи ряда инструментов. Давайте выясним, как произвести выборку в Экселе, используя разнообразные варианты.
Выполнение выборки
Выборка данных состоит в процедуре отбора из общего массива тех результатов, которые удовлетворяют заданным условиям, с последующим выводом их на листе отдельным списком или в исходном диапазоне.
Способ 1: применение расширенного автофильтра
Наиболее простым способом произвести отбор является применение расширенного автофильтра. Рассмотрим, как это сделать на конкретном примере.
-
Выделяем область на листе, среди данных которой нужно произвести выборку. Во вкладке «Главная» щелкаем по кнопке «Сортировка и фильтр». Она размещается в блоке настроек «Редактирование». В открывшемся после этого списка выполняем щелчок по кнопке «Фильтр».
- равно;
- не равно;
- больше;
- больше или равно;
- меньше.
При использовании любого из двух вышеуказанных методов фильтрация будет удалена, а результаты выборки – очищены. То есть, в таблице будет показан весь массив данных, которыми она располагает.
Способ 2: применение формулы массива
Сделать отбор можно также применив сложную формулу массива. В отличие от предыдущего варианта, данный метод предусматривает вывод результата в отдельную таблицу.
-
На том же листе создаем пустую таблицу с такими же наименованиями столбцов в шапке, что и у исходника.
Опять набираем сочетание клавиш Ctrl+Shift+Enter.
Теперь у нас имеется готовая выборка по указанному ограничению в отдельной надлежащим образом оформленной таблице.
Способ 3: выборка по нескольким условиям с помощью формулы
Так же, как и при использовании фильтра, с помощью формулы можно осуществлять выборку по нескольким условиям. Для примера возьмем всю ту же исходную таблицу, а также пустую таблицу, где будут выводиться результаты, с уже выполненным числовым и условным форматированием. Установим первым ограничением нижнюю границу отбора по выручке в 15000 рублей, а вторым условием верхнюю границу в 20000 рублей.
-
Вписываем в отдельном столбце граничные условия для выборки.
В последующие колонки вписываем точно такие же формулы, только изменив координаты сразу после наименования оператора ИНДЕКС на соответствующие нужным нам столбцам, по аналогии с предыдущим способом.
Способ 4: случайная выборка
В Экселе с помощью специальной формулы СЛЧИС можно также применять случайный отбор. Его требуется производить в некоторых случаях при работе с большим объемом данных, когда нужно представить общую картину без комплексного анализа всех данных массива.
-
Слева от таблицы пропускаем один столбец. В ячейке следующего столбца, которая находится напротив первой ячейки с данными таблицы, вписываем формулу:
Как видим, выборку в таблице Excel можно произвести, как с помощью автофильтра, так и применив специальные формулы. В первом случае результат будет выводиться в исходную таблицу, а во втором – в отдельную область. Имеется возможность производить отбор, как по одному условию, так и по нескольким. Кроме того, можно осуществлять случайную выборку, использовав функцию СЛЧИС.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
Еще статьи по данной теме:
Все это конечно здорово.
Фильтр ставится и по другому быть не может.
Однако не понятно как работать с этими данными.
Допустим я дошел до пункта 6. и у меня набор выручек подходящих по условиям. теперь мне нужно сосчитать какова сумма выручек ЭТОЙ ВЫБОРКИ, какая среднедневная выручка ЭТОЙ ВЫБОРКИ и каков средний вес ЭТОЙ ВЫБОРКИ в общей сумме выручек.
При попытке высчитать сумму выручек ЭТОЙ ВЫБОРКИ — стандартными средствами( формула сумм)- получаем просто сумму ВСЕХ выручек.
о следующих шагах говорить вообще не имеет смысла тогда.
Спасибо очень занимательно, а то я вечно забываю как ставить фильтр в таблицах)
Использование оператора ВЫБОР
Функция ВЫБОР относится к категории операторов «Ссылки и массивы». Её целью является выведение определенного значения в указанную ячейку, которому соответствует номер индекса в другом элементе на листе. Синтаксис этого оператора следующий:
Аргумент «Номер индекса» содержит ссылку на ячейку, где находится порядковый номер элемента, которому следующей группой операторов присваивается определенное значение. Этот порядковый номер может варьироваться от 1 до 254. Если задать индекс, превышающий данное число, то оператор выведет в ячейку ошибку. Если в качестве данного аргумента ввести дробное значение, то функция воспримет его, как ближайшее к данному числу меньшее целое значение. Если задать «Номер индекса», для которого нет соответствующего аргумента «Значение», то оператор будет возвращать в ячейку ошибку.
Следующая группа аргументов «Значение». Она может достигать количества 254 элементов. При этом обязательным является аргумент «Значение1». В данной группе аргументов указываются те значения, которым будет соответствовать номер индекса предыдущего аргумента. То есть, если в качестве аргумента «Номер индекса» выступает число «3», то ему будет соответствовать значение, которое внесено, как аргумент «Значение3».
В качестве значений могут выступать разнообразные виды данных:
- Ссылки;
- Числа;
- Текст;
- Формулы;
- Функции и т. д.
Теперь давайте рассмотрим конкретные примеры применения данного оператора.
Пример 1: последовательный порядок расположения элементов
Давайте посмотрим, как действует данная функция на простейшем примере. У нас имеется таблица с нумерацией от 1 до 12. Нужно согласно данным порядковым номерам с помощью функции ВЫБОР указать наименование соответствующего месяца во второй колонке таблицы.
-
Выделяем первую пустую ячейку столбца «Наименование месяца». Кликаем по значку «Вставить функцию» около строки формул.
После этого нам предстоит вручную вбить в группу полей «Значение» наименование месяцев. Причем каждому полю должен соответствовать отдельный месяц, то есть, в поле «Значение1» записываем «Январь», в поле «Значение2» — «Февраль» и т. д.
Пример 2: произвольный порядок расположения элементов
В предыдущем случае мы применили формулу ВЫБОР, когда все значения номеров индекса были расставлены по порядку. Но как работает данный оператор в случае, если указанные значения перемешаны и повторяются? Давайте рассмотрим это на примере таблицы с успеваемостью школьников. В первом столбце таблицы указана фамилия ученика, во втором оценка (от 1 до 5 баллов), а в третьем нам предстоит с помощью функции ВЫБОР дать данной оценке соответствующую характеристику («очень плохо», «плохо», «удовлетворительно», «хорошо», «отлично»).
-
Выделяем первую ячейку в колонке «Описание» и переходим при помощи того способа, о котором уже шел разговор выше, в окно аргументов оператора ВЫБОР.
В поле «Номер индекса» указываем ссылку на первую ячейку столбца «Оценка», в которой содержится балл.
Группу полей «Значение» заполняем следующим образом:
- «Значение1» — «Очень плохо»;
- «Значение2» — «Плохо»;
- «Значение3» — «Удовлетворительно»;
- «Значение4» — «Хорошо»;
- «Значение5» — «Отлично».
Пример 3: использование в комбинации с другими операторами
Но гораздо продуктивнее оператор ВЫБОР можно использовать в комбинации с другими функциями. Посмотрим, как это делается на примере применения операторов ВЫБОР и СУММ.
Имеется таблица реализации продукции по торговым точкам. Она разбита на четыре столбца, каждый из которых соответствует определенной торговой точке. Выручка указана отдельно за определенную дату построчно. Наша задача — сделать так, чтобы после ввода номера торговой точки в определенную ячейку листа отображалась сумма выручки за все дни работы указанного магазина. Для этого мы и будем использовать комбинацию операторов СУММ и ВЫБОР.
-
Выделяем ячейку, в которой будет выводиться результат в виде суммы. После этого щелкаем по уже знакомому нам значку «Вставить функцию».
То есть, аргументами данного оператора обычно являются либо числа, либо, еще чаще, ссылки на ячейки, где содержаться числа, которые необходимо просуммировать. Но в нашем случае в виде единственного аргумента выступит не число и не ссылка, а содержимое функции ВЫБОР.
В поле «Значение1» нужно вписать координаты столбца «1 торговая точка». Сделать это довольно просто. Устанавливаем курсор в указанное поле. Затем, зажав левую кнопку мыши, выделяем весь диапазон ячеек столбца «1 торговая точка». Адрес тут же отобразится в окне аргументов.
Аналогичным образом в поле «Значение2» добавляем координаты столбца «2 торговая точка», в поле «Значение3» — «3 торговая точка», а в поле «Значение4» — «4 торговая точка».
Важно учесть, что вводить можно только числа от 1 до 4, которые будут соответствовать номеру торговой точки. Если вы введете любое другое число, то формула опять выдаст ошибку.
Как видим, функция ВЫБОР при правильном её применении, может стать очень хорошим помощником для выполнения поставленных задач. При использовании её в комбинации с другими операторами возможности существенно увеличиваются.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Читайте также: