MIN и MAX в Excel: 7 способов найти экстремумы в данных (с примерами)

Почему поиск минимума и максимума — ключевая задача в Excel

Работаете с большими массивами данных, финансовыми отчётами или статистикой? Тогда функции MIN и MAX в Microsoft Excel станут вашими верными помощниками. Эти простые, но мощные инструменты позволяют за секунды определить крайние значения в диапазоне — будь то минимальная цена товара, максимальная температура за месяц или рекордные продажи за квартал.

На первый взгляд, всё элементарно: ввёл формулу — получил результат. Но на практике пользователи сталкиваются с нюансами: как игнорировать пустые ячейки? Как найти экстремумы с учётом условий? Почему функция возвращает ошибку #ЗНАЧ!? В этой статье разберём все актуальные способы поиска MIN/MAX в Excel 2019–2026, включая скрытые фишки, о которых не пишут в стандартных руководствах.

Базовые функции: МИН и МАКС для начинающих

Начнём с азов. Функции МИН (MIN) и МАКС (MAX) входят в топ-10 самых используемых формул Excel. Их синтаксис одинаков:

=МИН(число1; [число2];...)

=MAX(number1; [number2];...)

Где число1 — обязательный аргумент (может быть числом, ссылкой на ячейку или диапазоном), а [число2] — необязательные дополнительные аргументы (до 255). Например, формула =МАКС(B2:B100) вернёт из столбца B со 2-й по 100-ю строку.

  • 📌 Диапазоны vs отдельные ячейки: можно указывать как целые столбцы (A:A), так и конкретные адреса (A1; C5; E9). Но помните: обработка всего столбца замедляет расчёты в больших файлах.
  • 🔢 Типы данных: функции игнорируют текстовые значения и пустые ячейки, но учитывают логические ИСТИНА (1) и ЛОЖЬ (0).
  • Быстрый ввод: вместо ручного набора используйте мастер функций (Формулы → Вставить функцию), чтобы избежать опечаток.
⚠️ Внимание: если в диапазоне нет числовых значений, Excel вернёт #ЗНАЧ!. Чтобы избежать ошибки, добавьте обработчик: =ЕСЛИОШИБКА(МАКС(A1:A10);"Нет данных").
📊 Как часто вы используете функции МИН/МАКС в Excel?
Ежедневно
Несколько раз в неделю
Редее, чем раз в месяц
Никогда не пользовался

MIN и MAX с условиями: функции МИНЕСЛИ и МАКСЕСЛИ

Что делать, если нужно найти максимальную цену только для товаров категории"Электроника" или минимальный балл среди студентов группы"Б"? Здесь на помощь приходят условные функции:

  • 🔍 МИНЕСЛИ (MINIFS) — ищет минимум с учётом одного или нескольких критериев.
  • 🔝 МАКСЕСЛИ (MAXIFS) — аналогично для максимума.

Синтаксис:

=МИНЕСЛИ(диапазон_поиска; диапазон_условия1; условие1;...)

=MAXIFS(max_range, criteria_range1, criteria1,...)

Пример: найдём максимальную зарплату среди сотрудников отдела"Маркетинг" (столбец A — отдел, столбец B — зарплата):

=МАКСЕСЛИ(B2:B100; A2:A100;"Маркетинг")
ФункцияПримерРезультат
МИНЕСЛИ=МИНЕСЛИ(C2:C100; B2:B100;">50")Минимальное значение в столбце C, где в столбце B числа > 50
МАКСЕСЛИ=МАКСЕСЛИ(D2:D100; A2:A100;"Да"; B2:B100;"<100")Максимум в D, где A="Да" И B<100
МИН+ЕСЛИ{=МИН(ЕСЛИ(A2:A100="Да"; B2:B100))}Альтернатива для Excel 2016 и старше (вводится как формула массива)
⚠️ Внимание: функции МИНЕСЛИ/МАКСЕСЛИ появились только в Excel 2019+. Для старых версий используйте комбинацию МИН(ЕСЛИ(...)) с подтверждением клавишами Ctrl+Shift+Enter.

Убедитесь, что диапазоны условия и поиска одинаковой длины

Проверьте регистр текста в условиях (Excel чувствителен к"Да" vs"да")

Исключите скрытые символы (пробелы, неразрывные пробелы) в критериях

Тестируйте формулу на небольшом диапазоне перед применением ко всему столбцу-->

Поиск MIN/MAX в фильтрованных данных

Если вы работаете с отфильтрованными таблицами (например, через Фильтр или Срезы), стандартные функции МИН/МАКС вернут значения для ВСЕХ данных, а не только для видимых строк. Чтобы учитывать только отображаемые ячейки, используйте:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(5; диапазон) // для MAX

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4; диапазон) // для MIN

Где 5 — код функции МАКС, а 4 — код МИН в списке операций Промежуточные итоги. Пример:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(5; B2:B100)

Эта формула автоматически проигнорирует скрытые строки. Аналогичный подход работает для функций СЧЁТ, СРЗНАЧ и других.

Почему ПРОМЕЖУТОЧНЫЕ.ИТОГИ медленнее стандартных функций?

Функция пересчитывает результаты при каждом изменении видимости строк (фильтрации, скрытии), что требует дополнительных ресурсов. В больших таблицах (>100к строк) это может замедлить работу книги. Решение: используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ только для финальных отчётов, а не в промежуточных расчётах.

MIN и MAX для дат и времени

Excel хранит даты и время как числа (например, 45000 — это 11 марта 2023 года), поэтому функции МИН/МАКС отлично работают и с ними. Но есть нюансы:

  • 📅 Даты: функция вернёт самую раннюю (МИН) или позднюю (МАКС) дату в диапазоне. Формат ячейки с результатом должен быть Дата, иначе вы увидите число.
  • Время: для поиска минимального/максимального времени используйте тот же синтаксис, но убедитесь, что ячейки отформатированы как Время.
  • 🔄 Даты + условия: комбинируйте с МИНЕСЛИ, чтобы найти, например, самую раннюю дату поставки для конкретного поставщика.

Пример: найдём самую позднюю дату в столбце D (формат ДД.ММ.ГГГГ):

=МАКС(D2:D100)
⚠️ Внимание: если в диапазоне есть пустые ячейки или текст (например,"Н/Д"), Excel проигнорирует их. Но если есть ячейки с 0 (что соответствует дате 00.01.1900), они будут учтены! Чтобы исключить нули, используйте: =МАКСЕСЛИ(D2:D100; D2:D100;">0").

Продвинутые техники: массивы, Power Query и VBA

Для сложных задач стандартных функций может не хватить. Рассмотрим альтернативные подходы:

1. Формулы массива (для Excel 2016 и старше)

Если нужно найти, например, второе по величине значение в диапазоне, используйте:

=НАИБОЛЬШИЙ(B2:B100; 2) // второе максимальное значение

=НАИМЕНЬШИЙ(B2:B100; 3) // третье минимальное значение

2. Power Query (Excel 2016+)

Для обработки больших наборов данных:

  1. Выделите таблицу → Данные → Из таблицы/диапазона.
  2. В редакторе Power Query выберите столбец → Преобразовать → Статистика → Минимум/Максимум.
  3. Нажмите Закрыть и загрузить.

3. VBA (для автоматизации)

Макрос для поиска MAX с учётом цвета ячейки:

Function MaxByColor(rng As Range, color As Long) As Double

Dim cell As Range, maxVal As Double

maxVal = -1.79769313486231E+308' минимальное возможное значение

For Each cell In rng

If cell.Interior.Color = color And cell.Value > maxVal Then

maxVal = cell.Value

End If

Next cell

MaxByColor = maxVal

End Function

Использование: =MaxByColor(A1:A100; RGB(255, 0, 0)) — вернёт максимум среди ячеек с красным фоном.

Типичные ошибки и как их избежать

Даже опытные пользователи сталкиваются с ошибками при работе с MIN/MAX. Разберём топ-5 проблем и их решения:

ОшибкаПричинаРешение
#ЗНАЧ!В диапазоне нет числовых значенийДобавьте обработчик: =ЕСЛИОШИБКА(МАКС(A1:A10);"Нет данных")
#ИМЯ?Опечатка в названии функции (например, МАХ вместо МАКС)Проверьте синтаксис или используйте мастер функций
Неверный результатВ диапазоне есть скрытые символы (пробелы, апострофы)Очистите данные функцией СЖПРОБЕЛЫ или ПЕЧСИМВ
Медленная работаФормула применяется ко всему столбцу (A:A)Ограничьте диапазон реальными данными (A2:A1000)
Игнорирует условияДиапазоны в МИНЕСЛИ разной длиныУбедитесь, что диапазон_поиска и диапазон_условия совпадают по размеру

Ещё одна распространённая ошибка — неверный формат ячеек. Например, если числа хранятся как текст (выравнивание по левому краю), Excel проигнорирует их. Чтобы исправить:

  1. Выделите проблемные ячейки.
  2. Нажмите Ctrl + 1 (или правая кнопка → Формат ячеек).
  3. Выберите формат Числовой или Общий.

FAQ: Ответы на частые вопросы

Можно ли найти MIN/MAX в сводной таблице?

Да, но не через стандартные функции. Добавьте поле в область Значения, затем кликните по нему правой кнопкой → Параметры полей значений → выберите Максимум или Минимум в списке операций.

Как найти MIN/MAX в Google Таблицах?

Синтаксис идентичен Excel: =MIN(A1:A100) или =MAXIFS. Отличие только в названиях некоторых функций на русском (например, МИНЕСЛИ в Google Таблицах — MINIFS даже в русской версии).

Почему МАКС возвращает 0, если в диапазоне нет нулей?

Скорее всего, в диапазоне есть пустые ячейки, которые Excel интерпретирует как 0. Используйте =МАКСЕСЛИ(A1:A100; A1:A100;"<>0") или очистите данные функцией ЕПУСТО.

Как найти MIN/MAX в динамическом диапазоне?

Используйте ИНДЕКС + ПОИСКПОЗ для определения границ или создайте умную таблицу (Ctrl + T), затем обращайтесь к её столбцам по названию: =МАКС(Таблица1[Столбец1]).

Можно ли найти MIN/MAX по цвету шрифта?

Стандартными функциями — нет. Но можно написать пользовательскую функцию на VBA (аналогично примеру с цветом ячейки выше) или использовать Power Query с предварительной разметкой цветов.