Функция ДМАКС() , английский вариант DMAX(), находит в столбце максимальное значение, удовлетворяющее заданным условиям.
Функция ДМАКС() относится к той же группе функций, что и БДСУММ() , БСЧЁТ() и др. Поэтому составление формул и задание критериев производится для ДМАКС() аналогично этим функциям.
Для использования этой функции требуется чтобы:
ДМАКС( база_данных;поле;условия ) База_данных представляет собой диапазон ячеек с данными связанными логически, т.е. таблицу. Верхняя строка таблицы должна содержать заголовки всех столбцов. В Базе_данных строки называются записями, а столбцы — полями. Поле — заголовок столбца, в котором ищется максимальное значение, если выполняется условие. Существует несколько вариантов заполнения аргумента Поле :
Условия — интервал ячеек, который содержит задаваемые условия (т.е. таблица критериев). Структура таблицы с критериями отбора для ДМАКС() аналогична структуре для Расширенного фильтра и, например, функции БДСУММ() .
Предположим, что в диапазоне A 5:D11 имеется таблица продаж ( База_данных ), содержащая Поля (столбцы) Товар , Продавец, Продажи и Дата (см. файл примера и рисунок выше).
Сформулируем задачи в виде вопросов.
Вопрос 1 (Определить максимальные продажи Белова ). Т.е. найдем строки, в которой в столбце Продавец содержится значение Белов . Если такие строки есть в таблице, то для них выведем максимальное значение из столбца Продажи .
Алгоритм следующий:
Предполагаем, что База_данных (исходная таблица) находится в 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) , которая возвращает ошибку #ЧИСЛО! в случае, если ни одна строка не удовлетворяет критерию.
© Copyright 2013 - 2025 Excel2.ru. All Rights Reserved
Комментарии