Выбрать 10 максимальных значений эксель

Обновлено: 08.07.2024

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

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

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

Итак, первым делом мы по-прежнему должны определить максимальный возраст. Для этого вполне подойдет функция МАКС , которую мы уже использовали ранее.

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

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

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

Формула массива является частью стандартного функционала Экселя и многие даже не догадываются об ее существовании.

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

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

Итак, давайте решим задачу.

Как и в прошлый раз , воспользуемся функцией ИНДЕКС , которая возвращает значение ячейки, заданного номером строки и номером столбца.

Первый ее аргумент - массив значений. Выбираем все ячейки с именами сотрудников.

Нахождение максимального/ минимального значения - простая задача, но она несколько усложняется, если МАКС/ МИН нужно найти не среди всех значений диапазона, а только среди тех, которые удовлетворяют определенному условию.

Пусть имеется таблица с двумя столбцами: текстовым и числовым.


Для удобства понимания формул создадим два именованных диапазона для каждого из столбцов: Текст ( A 6: A 30 ) и Числа ( B6:B30 ). (см. файл примера ).

Рассмотрим несколько задач:

А. Найдем максимальное значение среди тех чисел, которые соответствуют значению Текст1 (критерий введем в ячейку E6 ).Т.е. будем искать максимальное значение не среди всех значений столбца Числовые значения , а только среди тех, у которых в той же строке в столбце А текстовое значение равно Текст1 . Напишем формулу массива (не забудьте при вводе формулы нажать CTRL+SHIFT+ENTER ): =НАИБОЛЬШИЙ(ЕСЛИ(A6:A30=E6;B6:B30;"");1)

или с Именованными диапазонами :

Часть формулы Текст=E6 , вернет массив (для просмотра результата выделите эту часть формулы в Строке формул и нажмите клавишу F9 ). ИСТИНА соответствует строкам, у которых в столбце Текстовые значения содержится значение Текст1 .

Часть формулы ЕСЛИ(Текст=E6;Числа;"") , вернет массив , где вместо ИСТИНА подставлено значение из числового столбца, а вместо ЛОЖЬ - значение Пустой текст . Вместо "" можно было бы использовать любой текстовый символ (букву) или вообще опустить (в этом случае массив будет выглядеть так ).

Б. Найдем максимальное значение только среди чисел принадлежащих определенному интервалу значений, например от 5 до 50. Границы можно ввести в ячейки I 14 и J14 . Решением является формула массива := НАИБОЛЬШИЙ(ЕСЛИ((Числа>=I14)*(Числа<=J14);Числа);1)

В. Найдем с помощью формулы массива минимальное значение среди тех, которые соответствуют значению Текст3 := МИН(ЕСЛИ((Текст=E7);Числа;"");1)

Т.е. если в столбце А значение = Текст3 , то учитывается значение в столбце B , если значение <> Текст3 , то учитывается максимальное значение+1, т.е. заведомо НЕ минимальное. Далее функция МИН() возвращает минимальное значение из полученного массива, причем понятно, что ни одно из значений, где <> Текст3, не исказит результат (см. задачу А).

Другое решение с помощью формулы ДМИН() , которая не является формулой массива . =ДМИН(A5:B30;B5;I8:I9)

где в диапазоне I8:I9 содержится табличка с критерием (см. файл примера ). Подробнее о функции ДМИН() см. статью Функция ДМИН() - нахождение минимального значения по условию в MS EXCEL .

Г. Найдем минимальное значение, среди тех, которые больше среднего : =ДМИН(A5:B30;B5;I10:I11) где в диапазоне I10:I11 содержится критерий =B6>СРЗНАЧ(Числа)

Д. Найдем максимальное значение по модулю. Из рисунка выше видно, что это -99. Для этого используйте формулу массива :

Е. Найдем минимальное положительное число:

= НАИМЕНЬШИЙ(Числа;СЧЁТЕСЛИ(Числа;"<=0")+1) - обычная формула!

= НАИМЕНЬШИЙ(ЕСЛИ(Числа>0;Числа);1) - формула массива .

СОВЕТ:

Все вышеуказанные задачи можно решить без использования формул массива и функции ДМИН() . Для этого потребуется создать дополнительный столбец, в котором будут выведены только те значения, которые удовлетворяют критериям. Затем, среди отобранных значений с помощью функций МАКС() или МИН() , определить соответственно максимальное или минимальное значение (см. файл примера Лист без формул массива).


Множественные условия

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


В этом случае придется записать более сложную формулу массива :

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

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

Подсчет максимального и минимального значения выполняется известными функциями МАКС и МИН. Бывает, что вычисления нужно произвести по группам или в зависимости от условия, как в СУММЕСЛИ.

Долгое время в Excel не было аналога СУММЕСЛИ или СРЗНАЧЕСЛИ для расчета максимального и минимального значения, поэтому использовали формулу массивов.

Пусть имеются данные

Нужно подсчитать максимальное значение в указанной группе. Название группы (критерий) введем в отдельную ячейку (D2). Пусть для начала это будет группа Б. Рядом введем следующую формулу:

Это формула массивов, поэтому ввести ее нужно комбинацией Ctrl + Shift + Enter.

Максимальное значение по условию

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

Как это работает? Очень просто. Первым делом нужно указать диапазон, который будет использоваться в качестве аргумента функции МАКС, то есть только те ячейки, которые соответствуют указанной группе. Так как мы заранее позаботились об удобстве использования функции, то название группы указали не внутри формулы, а в отдельной ячейке (гораздо легче менять группу). Тогда формула для нужного диапазона выглядит так.

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

Создание массива для функции МАКС

На следующем этапе укажем функцию МАКС, аргументом которой выступает полученный выше массив. Excel воспринимает примерно так.

Массив внутри функции МАКС

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

Если функцию МАКС заменить на МИН, то по указанному условию (названию группы) будет выдаваться минимальное значение.

Функции Excel 2016 МАКСЕСЛИ (MAXIFS) и МИНЕСЛИ (MINIFS)

Есть ряд значений, каждое из которых входит в некоторую группу. Нужно рассчитать максимальное значение по группе А. Используем формулу МАКСЕСЛИ.

Функция МАКСЕСЛИМН

Все очень просто. Как и у СУММЕСЛИМН вначале указываем диапазон, где находится искомое максимальное значение (колонка В), затем диапазон с критериями (колонка А) и далее сам критерий (в ячейке D2). Можно указать сразу несколько условий. Таким же способом легко рассчитать минимальное значение по условию. Найдем, к примеру, минимум внутри группы Б.

Функция МИНЕСЛИМН

Ниже показан ролик, как рассчитать максимальное и минимальное значение по условию.

Подcвечивать максимум (минимум) автоматически

coffee

В стандартных инструментах условного форматирования EXCEL отсутствует возможность АВТОМАТИЧЕСКИ форматировать только те ячейки, которые содержат максимальные или минимальные значения.

Для того, чтобы это сделать, необходимо создать определенное выражение (формулу), результатом которого будет являться либо пара ИСТИНА/ЛОЖЬ , либо значения 1/0 и поместить его в модуль настройки условного форматирования.

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

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

Для этого:

1. Будем использовать вариант с результатом ИСТИНА/ЛОЖЬ , и в ячейку B1 (может быть любая другая) внесем следующее выражение:

1

=B3=МАКС($B$3:$B$35)

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

=B3=МАКС($B$3:$B$35) – фукнция максимума, выдающая (или как говорят – «возвращающая») максимум из диапазон, содержащего все значения к-ва чашек.

Фиксация необходима для того, чтобы адреса диапазонов не «съехали» при применении форматирования на весь диапазон.

Скопируем полностью выражение из строки формул в буфер обмена.

2. Выделим весь диапазон со значениями (от B3 до B35), и на вкладке «Главная», нажмем кнопку «Условное форматирование»

2

3. В открывшемся меню выберем «Создать правило» .

3

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

4

5. В поле формул вставим скопированное выражение и, нажав кнопку «Формат» настроим желаемое форматирование максимального значения (в нашем случае – это будет заливка желтым).

5

6. Сохраним изменения в каждом окне, нажав на «ОК» .

6

7. В результате максимальное значение будет подсвечено желтым цветом.

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


Если материал Вам понравился или даже пригодился, Вы можете поблагодарить автора, переведя определенную сумму по кнопке ниже:
(для перевода по карте нажмите на VISA и далее "перевести")

Читайте также: