Поиск минимального или максимального значения по условию
В Microsoft Excel давно есть в стандартном наборе функции СЧЁТЕСЛИ (COUNTIF), СУММЕСЛИ (SUMIF) и СРЗНАЧЕСЛИ (AVERAGEIF) и их аналоги, позволяющие искать количество, сумму и среднее в таблице по одному или нескольким условиям. Но что если нужно найти не сумму или среднее, а минимум или максимум по условию(ям)?
Предположим, нам нужно найти минимальную цену для каждого товара в базе данных по поставщикам:
Таким образом, условием будет наименование товара (бумага, карандаши, ручки), а диапазоном для выборки — столбец с ценами.
Для будущего удобства, конвертируем исходный диапазон с ценами в «умную таблицу». Для этого выделите его и выберите на вкладке Главная — Форматировать как таблицу (Home — Format as Table) или нажмите Ctrl+T. Наша «поумневшая» таблица автоматически получит имя Таблица1, а к столбцам можно будет, соответственно, обращаться по их именам, используя выражения типа Таблица1[Товар] или Таблица1[Цена]. При желании, стандартное имя Таблица1 можно подкорректировать на вкладке Конструктор (Design), которая появляется, если щелкнуть в любую ячейку нашей «умной» таблицы. Подробнее о таких таблицах и их скрытых возможностях можно почитать здесь.
Способ 1. Функции МИНЕСЛИ и МАКСЕСЛИ в Excel 2016
Начиная с версии Excel 2016 в наборе функции Microsoft Excel наконец появились функции, которые легко решают нашу задачу — это функции МИНЕСЛИ (MINIFS) и МАКСЕСЛИ (MAXIFS). Синтаксис этих функции очень похож на СУММЕСЛИМН (SUMIFS):
=МИНЕСЛИ(Диапазон_чисел; Диапазон_проверки1; Условие1; Диапазон_проверки2; Условие2 … )
где
- Диапазон_чисел — диапазон с числами, из которых выбирается минимальное или максимальное
- Диапазон_проверки — диапазон, который проверяется на выполнение условия
- Условие — критерий отбора
Например, в нашем случае:
Просто, красиво, изящно. Одна проблема — функции МИНЕСЛИ и МАКСЕСЛИ появились только начиная с 2016 версии Excel. Если у вас (или тех, кто будет потом работать с вашим файлом) более старые версии, то придется шаманить другими способами.
Способ 2. Формула массива
В английской версии это будет, соответственно =MIN(IF(Table1[Товар]=F4;Table1[Цена]))
Не забудьте после ввода этой формулы в первую зеленую ячейку G4 нажать не Enter, а Ctrl+Shift+Enter, чтобы ввести ее как формулу массива. Затем формулу можно скопировать на остальные товары в ячейки G5:G6.
Давайте разберем логику работы этой формулы поподробнее. Функция ЕСЛИ проверяет каждую ячейку массива из столбца Товар на предмет равенства текущему товару (Бумага). Если это так, то выдается соответствующее ему значение из столбца Цена. В противном случае – логическое значение ЛОЖЬ (FALSE).
Таким образом внешняя функция МИН (MIN) выбирает минимальное не из всех значений цен, а только из тех, где товар был Бумага, т.к. ЛОЖЬ функцией МИН игнорируется. При желании, можно выделить мышью всю функцию ЕСЛИ(…) в строке формул
… и нажать на клавиатуре F9, чтобы наглядно увидеть тот самый результирующий массив, из которого потом функция МИН и выбирает минимальное значение:
Способ 3. Функция баз данных ДМИН
Этот вариант использует малоизвестную (и многими, к сожалению, недооцененную) функцию ДМИН (DMIN) из категории Работа с базой данных (Database) и требует небольшого изменения результирующей таблицы:
Как видите, зеленые ячейки с результатами транспонированы из столбца в строку и над ними добавлена мини-таблица (F4:H5) с условиями. Логика работы этой функции следующая:
- База_данных — вся наша таблица вместе с заголовками.
- Поле — название столбца из шапки таблицы, из которого выбирается минимальное значение.
- Критерий — таблица с условиями отбора, состоящая (минимально) из двух ячеек: названия столбца, по которому идет проверка (Товар) и критерия (Бумага, Карандаши, Ручки).
Это обычная формула (не формула массива), т.е. можно вводить и использовать ее привычным образом. Кроме того, в той же категории можно найти функции БДСУММ (DSUM), ДМАКС (DMAX), БСЧЁТ (DCOUNT), которые используются совершенно аналогично, но умеют находить не только минимум, но и сумму, максимум и количество значений по условию.
Способ 4. Сводная таблица
Если в исходной таблице очень много строк, но данные меняются не часто, то удобнее будет использовать сводную таблицу, т.к. формула массива и функция ДМИН могут сильно тормозить Excel.
Установите активную ячейку в любое место нашей умной таблицы и выберите на вкладке Вставка — Сводная таблица (Insert — Pivot Table). В появившемся окне нажмите ОК:
В конструкторе сводной таблицы перетащите поле Товар в область строк, а Цену в область значений. Чтобы заставить сводную вычислять не сумму (или количество), а минимум щелкните правой кнопкой мыши по любому числу и выберите в контекстном меню команду Итоги по — Минимум:
Вытаскивать данные из сводной в дальнейшие расчеты теперь можно с помощью функции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GET.PIVOT.DATA), которую мы подробно разбирали ранее:
Ссылки по теме
- Зачем нужна функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ
- Выборочное вычисление суммы, среднего и т.д. по одному или нескольким критериям
- Что такое «умные таблицы» в Excel и как с ними работать
Найти минимальную/максимальную дату по условию |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Функция
ДМАКС()
, английский вариант DMAX(),
находит в столбце максимальное значение, удовлетворяющее заданным условиям.
Функция
ДМАКС()
относится к той же группе функций, что и
БДСУММ()
,
БСЧЁТ()
и др. Поэтому составление формул и задание критериев производится для
ДМАКС()
аналогично этим функциям.
Синтаксис функции
ДМАКС()
Для использования этой функции требуется чтобы:
- исходная таблица имела заголовки столбцов;
- критерии должны были оформлены в виде небольшой таблицы с заголовками;
- заголовки таблицы критериев совпадали с заголовками исходной таблицы (если критерий не задается формулой).
ДМАКС(
база_данных;поле;условия
)
База_данных
представляет собой диапазон ячеек с данными связанными логически, т.е. таблицу. Верхняя строка таблицы должна содержать заголовки всех столбцов. В
Базе_данных
строки называются записями, а столбцы — полями.
Поле
— заголовок столбца, в котором ищется максимальное значение, если выполняется условие. Существует несколько вариантов заполнения аргумента
Поле
:
-
можно ввести текстовое значение, представляющий собой название одного из заголовков
Базы_данных
(исходной таблицы) . Текст указывается в двойных кавычках, например «Возраст» или «Урожай», -
можно ввести число (без кавычек), задающее положение столбца в
Базе_данных
: 1 — для первого столбца, 2 — для второго и т.д. - можно ввести ссылку на ячейку, содержащую заголовок столбца.
Условия
— интервал ячеек, который содержит задаваемые условия (т.е. таблица критериев). Структура таблицы с критериями отбора для
ДМАКС()
аналогична структуре для
Расширенного фильтра
и, например, функции
БДСУММ()
.
Задачи
Предположим, что в диапазоне
A
5:D11
имеется таблица продаж (
База_данных
), содержащая
Поля
(столбцы)
Товар
,
Продавец,
Продажи
и
Дата
(см.
файл примера
и рисунок выше).
Сформулируем задачи в виде вопросов.
Вопрос
1 (Определить максимальные продажи
Белова
).
Т.е. найдем строки, в которой в столбце
Продавец
содержится значение
Белов
. Если такие строки есть в таблице, то для них выведем максимальное значение из столбца
Продажи
.
Алгоритм следующий:
-
Создадим в диапазоне
G5:G6
табличку критериев (желательно над исходной таблицей или сбоку, чтобы она не мешала добавлению новых данных в таблицу), состоящую из заголовка (совпадает с названием заголовка столбца исходной таблицы, к которому применяется критерий) и собственно критерия (условия отбора); -
Условия отбора должны быть записаны в специальном формате: =»=Белов» (будет производиться поиск в столбце
Продавец
только значений
точно совпадающих
со словом
Белов
(или
белов
,
БЕЛОВ
, т.е. без учетарегистра
). Если написать условие не в виде =»=Белов», а просто ввести в ячейку значение
Белов
, то условию будут удовлетворять текстовые строки, которые
содержат
слово
Белов
, например, «
Белов Иван», «Иван Белов»
и пр.)
Предполагаем, что
База_данных
(исходная таблица) находится в
A
5:D11
.
С5
– это ссылка на заголовок столбца, в котором ищется максимальное значение, если выполняется условие.
G5:G6
– ссылка на табличку критериев (см. рисунок выше).
Итоговая формула выглядит так
=ДМАКС(B5:C11;C5;G5:G6)
Как видно из исходной таблицы, условиям удовлетворяет 3 строки, поэтому результатом будет максимальное значение из массива (450; 6544; 1245), т.е. 6544.
Альтернативное решение — формула
=НАИБОЛЬШИЙ(ЕСЛИ(B6:B11=G6;C6:C11;»»);1)
, которая вводится как
формула массива
(
подробнее см. здесь
). В случае, когда ни одна строка не удовлетворяет условиям, то формула вернет ошибку #ЧИСЛО! в отличие от
ДМАКС()
, которая вернет 0 (это может ввести в заблуждение, т.к. не понятно есть ли в исходной таблице строки, удоблетворяющие критерию или нет. См. раздел
Недостаток функции
).
Вопрос 2 (Последняя продажа Белова).
В какой день Белов продал последнюю партию товара?
=ДМАКС(B5:D11;D5;G5:G6)
Решение аналогично предыдущей задаче, только максимальное значение ищется не в столбце
С
(
Продажи
), а в столбце
D
(
Дата
).
Вопрос 3 (Максимальные продажи Мяса продавцом Белов)
=ДМАКС(A5:C11;C5;F5:G6)
В данном случае таблица критериев представляет собой 2 столбца
Товар
и
Продавец
.
Вопрос 4 (Максимальные продажи среди продаж Белова или Батурина)
=ДМАКС(B5:C11;C5;G5:G7)
В данном случае таблица критериев представляет собой 1 столбец
Продавец
с 2-мя строками (с фамилиями продацов
Белов
и
Батурин
).
В
файле примера
приведено решение и других задач.
Недостаток функции
В случае, когда ни одна строка не удовлетворяет условиям, то функция
ДМАКС()
вернет 0. Это может ввести в заблуждение, т.к. не понятно: есть ли на самом деле строки, удовлетворяющие критерию и максимальное значение =0 или в исходной таблице отстутствуют строки, удоблетворяющие критерию.
Как показано на рисунке выше,
Параметр3
вообще отстутствует в исходной таблице, но «максимальным» значением является 0!
Лучше использовать альтернативную формулу
=НАИБОЛЬШИЙ(ЕСЛИ(A6:A15=D6;B6:B15;»»);1)
, которая возвращает ошибку #ЧИСЛО! в случае, если ни одна строка не удовлетворяет критерию.
На чтение 6 мин. Просмотров 2.6k. Опубликовано 20.05.2021
В столбце дат нелегко быстро определить самую раннюю и самую позднюю дату, если вы не можете отсортировать даты. На самом деле, есть несколько хитрых способов легко и удобно узнать самые ранние и последние даты в Excel.
- Находите самые ранние и самые последние даты с помощью функций
- Найдите самые ранние и самые свежие даты с помощью Kutools for Excel
- Найдите самую раннюю и самую позднюю даты в каждой строке/столбце Excel.
- Найдите самую раннюю или самую позднюю даты на основе критериев в другом столбце (по группе)
Содержание
- Легко находите максимальные/минимальные даты в диапазоне или в каждой строке/столбце диапазона в Excel
- Поиск самых ранних и последних дат с помощью функций
- Найдите самые ранние и последние даты с помощью Kutools for Excel
- Найдите самые ранние или самые поздние даты в каждой строке/столбце в Excel
- Демо: поиск самых ранних и последних дат в диапазоне или каждой строке/столбце диапазона
- Легко найти максимальное/минимальное значение на основе критериев в других столбец (по группам) в Excel
- Статьи по теме:
Легко находите максимальные/минимальные даты в диапазоне или в каждой строке/столбце диапазона в Excel
Kutools for Excel ‘ Функция выбора ячеек с максимальным и минимальным значением может помочь вам быстро найти все максимальные/минимальные значения в указанном диапазоне или выбрать максимальные/минимальные даты в каждом строка/столбец диапазона в Excel. 30-дневная бесплатная пробная версия полнофункциональной версии!
Вкладка Office Включает редактирование и просмотр с вкладками в Office и делает вашу работу намного проще …
Подробнее … Скачать бесплатно …
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Повторное использование чего угодно: добавляйте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное и быстро используйте их в будущем.
- Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
- Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
- Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
- Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
- Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
- Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.
Подробнее … Бесплатная загрузка …
->
Поиск самых ранних и последних дат с помощью функций
Предположим, вы хотите узнать самую раннюю дату и самую позднюю дату в диапазоне A1: D7, см. Следующий снимок экрана:
1. Функция Min для поиска самой ранней даты
В пустой ячейке введите формулу = MIN (A1: D7) и нажмите клавишу Enter .. Он вернет самые ранние даты в активной ячейке как можно скорее.
2. Небольшая функция для поиска самой ранней даты
Вы также можете применить формулу = МАЛЕНЬКИЙ (A1: D7,1), чтобы быстро получить самые ранние даты.
3. Функция Max для поиска последней даты
Если вы хотите узнать последние даты в диапазоне, вы можете ввести формулу = MAX (A1: D7) и нажать Enter .
4. Большая функция для поиска последней даты
Эта формула = LARGE (A1: D7,1) поможет вам быстро получить последние даты.
Найдите самые ранние и последние даты с помощью Kutools for Excel
Если у вас есть Kutools для Если установлен Excel , его инструмент S elect Cells with Max или Min Value может помочь вам быстро узнать самую раннюю дату и самые последние даты, не запоминая функции.
Kutools for Excel – Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!
Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel
Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce
->
1. Выберите диапазон, в котором вы выберете самую последнюю или самую раннюю форму даты. В этом случае выберите диапазон A1: D7 и нажмите Kutools > Выбрать > Выбрать ячейки с максимальными или минимальными значениями.
2. Задайте настройки, как показано на следующем снимке экрана:
(1) Если вы хотите узнать последнюю дату, установите флажок Максимальное значение ; или установите флажок Минимальное значение для самой ранней даты;
(2) Установите флажок Ячейка и Только первая ячейка вариант.
3. Нажмите ОК . Тогда ячейка с последней датой или самой ранней датой в выделении будет выбрана сразу.
Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Получить сейчас
Найдите самые ранние или самые поздние даты в каждой строке/столбце в Excel
Этот S выбирает ячейки с максимальным или минимальным значением утилиты Kutools for Excel также поддерживает простой выбор максимального или минимального значения в каждом столбце или в каждой строке. :
– включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия!
Kutools for Excel – объединяет более 300 дополнительных функций и инструментов для Microsoft Excel
Перейти к загрузке
Бесплатная пробная версия 60 днейПокупка
PayPal/MyCommerce
->
Выберите диапазон, который вы получите самая последняя или самая ранняя дата от и нажмите Kutools > Выбрать > Выбрать ячейки с максимальным или минимальным значением , а затем укажите параметры, как показано на скриншоте ниже:
Установите флажок Вся строка , чтобы найти последнюю дату в каждой строке:
Установите флажок Весь столбец , чтобы найти последнюю дату в каждом строка:
Kutools for Excel – включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Получить сейчас
Демо: поиск самых ранних и последних дат в диапазоне или каждой строке/столбце диапазона
Kutools for Excel включает более 300 удобных инструментов для Excel, которые можно бесплатно попробовать без ограничений в течение 30 дней. Загрузить и бесплатную пробную версию !
Легко найти максимальное/минимальное значение на основе критериев в других столбец (по группам) в Excel
Kutools for Excel Утилита Advanced Combine Rows может помочь пользователям Excel быстро определить максимальное значение минимального значения каждого элемента в другом колонка с легкостью. 30-дневная бесплатная пробная версия полнофункциональной версии!
Эта расширенная Утилита Combine Rows также может объединять строки и разделять значения по указанным меткам или объединять строки и вычислять их суммы, количество вхождений, максимальные/минимальные значения, средние значения и т. Д.
Статьи по теме:
- Выберите максимальное количество данных с помощью функции max
- Выберите максимальное значение и наименьшее значение
- Выбрать минимум данных с помощью функции min
Подсчет максимального и минимального значения выполняется известными функциями МАКС и МИН. Бывает, что вычисления нужно произвести по группам или в зависимости от условия, как в СУММЕСЛИ.
Долгое время в Excel не было аналога СУММЕСЛИ или СРЗНАЧЕСЛИ для расчета максимального и минимального значения, поэтому использовали формулу массивов.
Пусть имеются данные
Нужно подсчитать максимальное значение в указанной группе. Название группы (критерий) введем в отдельную ячейку (D2). Пусть для начала это будет группа Б. Рядом введем следующую формулу:
=МАКС(ЕСЛИ(A2:A13=D2;B2:B13))
Это формула массивов, поэтому ввести ее нужно комбинацией Ctrl + Shift + Enter.
Теперь, меняя название группы, можно без всяких фильтров и сводных таблиц видеть максимальное значение внутри этой группы.
Как это работает? Очень просто. Первым делом нужно указать диапазон, который будет использоваться в качестве аргумента функции МАКС, то есть только те ячейки, которые соответствуют указанной группе. Так как мы заранее позаботились об удобстве использования функции, то название группы указали не внутри формулы, а в отдельной ячейке (гораздо легче менять группу). Тогда формула для нужного диапазона выглядит так.
ЕСЛИ(A2:A13=D2;B2:B13)
Указанное выражение отбирает только те значения, для которых название группы совпадает с условием в ячейке D2. Вот, как это видит Excel
На следующем этапе укажем функцию МАКС, аргументом которой выступает полученный выше массив. Excel воспринимает примерно так.
Видно, что максимальное значение внутри массива равно 31. Его и мы и увидим в ячейке с формулой. Нужно только не забыть итоговую функцию ввести комбинацией клавиш Ctrl + Shift + Enter, иначе ничего не получится. В строке формул формула массива отображается внутри фигурных скобок. Добавляются сами, специально дорисовывать не нужно.
Если функцию МАКС заменить на МИН, то по указанному условию (названию группы) будет выдаваться минимальное значение.
Функции Excel 2016 МАКСЕСЛИ (MAXIFS) и МИНЕСЛИ (MINIFS)
В MS Excel добавили новые статистические функции — МАКСЕСЛИ и МИНЕСЛИ. Обе функции имеют возможность учитывать несколько условий и некоторое время в их названиях в конце были буквы -МН. Потом убрали, хотя в скриншотах ниже используется вариант названий с -МН.
Есть ряд значений, каждое из которых входит в некоторую группу. Нужно рассчитать максимальное значение по группе А. Используем формулу МАКСЕСЛИ.
Все очень просто. Как и у СУММЕСЛИМН вначале указываем диапазон, где находится искомое максимальное значение (колонка В), затем диапазон с критериями (колонка А) и далее сам критерий (в ячейке D2). Можно указать сразу несколько условий. Таким же способом легко рассчитать минимальное значение по условию. Найдем, к примеру, минимум внутри группы Б.
Ниже показан
ролик, как рассчитать максимальное и минимальное значение по условию.
Поделиться в социальных сетях: