7 способов найти максимальное и минимальное значение в Excel — от простого к продвинутому

Поиск максимальных и минимальных значений в Microsoft Excel — одна из самых востребованных задач при анализе данных. Без этих базовых операций невозможно построить отчёты, выявить тренды или принять обоснованные решения. Однако даже опытные пользователи часто ограничиваются стандартными функциями МАКС и МИН, упуская более гибкие методы: условный поиск, динамические массивы или инструменты Power Query.

В этой статье мы разберём 7 практических способов — от элементарных до продвинутых, — включая малоизвестные приёмы для работы с фильтрами, сводными таблицами и даже VBA. Вы узнаете, как найти экстремумы не только в столбце, но и с учётом критериев, игнорируя ошибки или скрытые строки. А в конце — бонус: как автоматизировать процесс с помощью Office Scripts для Excel Online.

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

1. Стандартные функции МАКС и МИН: базовый уровень

Самый очевидный способ — использовать встроенные функции =МАКС() и =МИН(). Они работают во всех версиях Excel (начиная с Excel 2003) и поддерживают до 255 аргументов — это могут быть как отдельные числа, так и ссылки на диапазоны ячеек.

Пример формулы для поиска максимального значения в столбце A (с 1 по 100 строку):

=МАКС(A1:A100)

Аналогично для минимального:

=МИН(A1:A100)
  • Плюсы: простота, скорость выполнения, совместимость со всеми версиями.
  • Минусы: игнорирует текстовые значения, но учитывает 0 и ошибки (например, #ДЕЛ/0!).
  • 🔄 Альтернатива: в Excel 365 можно использовать =МАКС(A:A) для анализа всего столбца.
⚠️ Внимание: Если в диапазоне есть пустые ячейки, функции МАКС/МИН их автоматически игнорируют. Но если ячейка содержит формулу, возвращающую пустую строку (""), она будет воспринята как 0!

Для удобства можно присвоить функции имя диапазона. Например, выделите столбец A1:A100, в поле имен (слева от строки формул) введите Данные, а затем используйте:

=МАКС(Данные)
📊 Как часто вы используете функции МАКС/МИН в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда не пользовался

2. Поиск с учётом условий: МАКСЕСЛИ и МИНЕСЛИ

Что делать, если нужно найти максимальную цену среди товаров определённой категории или минимальную зарплату в конкретном отделе? Здесь на помощь приходят функции МАКСЕСЛИ и МИНЕСЛИ (доступны с Excel 2019).

Синтаксис:

=МАКСЕСЛИ(диапазон_значений; диапазон_условий; условие)

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

=МАКСЕСЛИ(B2:B100; C2:C100; "Москва")
  • 📌 Важно: Диапазоны значений и условий должны быть одинакового размера.
  • 🔍 Секрет: Можно использовать подстановочные знаки: =МАКСЕСЛИ(B2:B100; C2:C100; "Мос*") найдёт все регионы, начинающиеся на "Мос".
  • 🚀 Продвинутый уровень: В Excel 365 поддерживаются несколько условий:
    =МАКСЕСЛИ(B2:B100; C2:C100; "Москва"; D2:D100; ">1000")

Для старых версий Excel (2016 и ранее) используйте комбинацию МАКС + ЕСЛИ как формулу массива (завершайте ввод Ctrl+Shift+Enter):

=МАКС(ЕСЛИ(C2:C100="Москва"; B2:B100))
Как работает формула массива?

Формула =МАКС(ЕСЛИ(C2:C100="Москва"; B2:B100)) сначала проверяет каждое значение в C2:C100 на соответствие условию "Москва". Для совпадений возвращает соответствующие значения из B2:B100, а для остальных — ЛОЖЬ. Затем МАКС игнорирует ЛОЖЬ и находит максимум среди оставшихся чисел.

3. Использование фильтров и сортировки: визуальный метод

Если вам нужно не только найти экстремумы, но и увидеть строки, которым они соответствуют, проще всего воспользоваться инструментами сортировки или фильтрации.

Способ 1: Сортировка

  1. Выделите диапазон с заголовками.
  2. Перейдите на вкладку Главная → Сортировка и фильтр.
  3. Выберите Сортировка от максимального к минимальному (или наоборот).

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

Способ 2: Фильтр по условию

  1. Примените фильтр (Ctrl+Shift+L или кнопка Фильтр на ленте).
  2. Откройте выпадающий список в столбце с числами.
  3. Выберите Числовые фильтры → Первые 10....
  4. Укажите 1 элемент и наибольших/наименьших.
МетодПлюсыМинусыКогда использовать
СортировкаБыстро, наглядноМеняет порядок данныхДля одноразового анализа
Фильтр "Первые 10"Не меняет исходные данныеРаботает только с видимыми строкамиДля больших таблиц
Условное форматированиеВыделяет экстремумы визуальноНе показывает точные значенияДля дашбордов
⚠️ Внимание: Если в таблице есть скрытые строки (через фильтр или вручную), функции МАКС/МИН их учитывают, а сортировка и визуальные фильтры — нет! Чтобы включить скрытые данные, используйте Параметры сортировки → Мои данные содержат заголовки.

Убедитесь, что нет объединённых ячеек|Проверьте наличие заголовков|Сохраните резервную копию таблицы|Удалите пустые строки в диапазоне-->

4. Условное форматирование: выделение экстремумов

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

Как настроить:

  1. Выделите диапазон с данными (например, B2:B100).
  2. Перейдите на вкладку Главная → Условное форматирование → Правила выделения ячеек → Первые и последние....
  3. Выберите 10 наибольших элементов и укажите формат (например, зелёный фон).
  4. Повторите для 10 наименьших элементов (красный фон).

Для более точной настройки используйте Создать правило → Использовать формулу:

  • Для максимума: =B2=МАКС($B$2:$B$100)
  • Для минимума: =B2=МИН($B$2:$B$100)

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

5. Продвинутые формулы: игнорирование ошибок и пустых ячеек

Реальные данные редко бывают идеальными: в них попадаются ошибки (#Н/Д, #ЗНАЧ!), пустые ячейки или текст. Стандартные МАКС/МИН в таких случаях могут давать некорректные результаты. Решение — комбинировать функции.

1. Игнорирование ошибок:

=МАКС(ЕСЛИОШИБКА(B2:B100; ""))

Эта формула заменяет все ошибки на пустые строки, которые МАКС автоматически игнорирует.

2. Игнорирование пустых ячеек и текста:

=МАКС(ЕСЛИ(ЕЧИСЛО(B2:B100); B2:B100))

Здесь ЕЧИСЛО проверяет, является ли значение числом. Вводите как формулу массива (Ctrl+Shift+Enter в старых версиях).

3. Комбинация условий:

Найдём максимальное значение в столбце B, но только для строк, где в столбце A указан "Да":

=МАКС(ЕСЛИ(A2:A100="Да"; ЕСЛИ(ЕЧИСЛО(B2:B100); B2:B100)))
  • 🔹 Для Excel 365: Используйте ФИЛЬТР + МАКС:
    =МАКС(ФИЛЬТР(B2:B100; (A2:A100="Да")*(ЕЧИСЛО(B2:B100))))
  • 📊 Для динамических массивов: Результат автоматически обновится при изменении данных.

6. Сводные таблицы: анализ экстремумов по группам

Если вам нужно найти максимальные/минимальные значения в разрезе категорий (например, максимальная продажа по каждому менеджеру), сводные таблицы — идеальный инструмент.

Пошаговая инструкция:

  1. Выделите исходные данные (включая заголовки).
  2. Нажмите Вставка → Сводная таблица.
  3. В поле Строки перетащите столбец с категориями (например, "Менеджер").
  4. В поле Значения перетащите столбец с числами (например, "Продажи").
  5. Щёлкните по полю в ЗначенияПараметры полей значений → Дополнительные вычисления → Максимум (или Минимум).

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

  • 📅 Динамический анализ: Добавьте в сводную таблицу срез (Анализ → Вставить срез) для интерактивной фильтрации.
  • 🔄 Обновление: Данные в сводной таблице не обновляются автоматически. Используйте ПКМ → Обновить или настройте Параметры → Данные → Обновлять при открытии файла.
⚠️ Внимание: Если в исходных данных есть пустые ячейки или текст, сводная таблица по умолчанию проигнорирует их при расчёте максимума/минимума. Чтобы включить их в анализ, замените пустые значения на 0 с помощью НАЙТИ и ЗАМЕНИТЬ (Ctrl+H).

7. Автоматизация: VBA и Office Scripts

Для повторяющихся задач (например, еженедельного поиска экстремумов в отчётах) имеет смысл автоматизировать процесс с помощью макросов или Office Scripts.

Пример макроса на VBA:

Следующий код найдёт максимальное значение в выделенном диапазоне и выведет его в отдельную ячейку:

Sub FindMaxValue()

Dim rng As Range

Dim maxCell As Range

Set rng = Selection

Set maxCell = rng.Cells(rng.Cells.Count)

' Поиск максимума

On Error Resume Next

Set maxCell = rng.Cells(rng.Find(What:=WorksheetFunction.Max(rng), _

LookIn:=xlValues, _

LookAt:=xlWhole).Address)

On Error GoTo 0

' Вывод результата

If Not maxCell Is Nothing Then

Range("D1").Value = "Максимум: " & maxCell.Value & " (ячейка " & maxCell.Address & ")"

Else

Range("D1").Value = "Максимум не найден"

End If

End Sub

Office Scripts для Excel Online:

В веб-версии Excel запишите скрипт для поиска минимума:

function main(workbook: ExcelScript.Workbook) {

let sheet = workbook.getActiveWorksheet();

let range = sheet.getUsedRange();

let values = range.getValues();

// Поиск минимума (игнорируем текст и ошибки)

let min = Number.MAX_VALUE;

for (let i = 0; i < values.length; i++) {

for (let j = 0; j < values[i].length; j++) {

if (typeof values[i][j] === 'number' && values[i][j] < min) {

min = values[i][j];

}

}

}

// Вывод результата

sheet.getRange("E1").setValue(`Минимум: ${min}`);

}

  • 🤖 Преимущества VBA: Работает офлайн, поддерживает сложную логику.
  • ☁️ Преимущества Office Scripts: Интеграция с Power Automate, облачное выполнение.
  • 🔒 Безопасность: Макросы могут быть заблокированы политиками безопасности. Используйте цифровую подпись для корпоративных файлов.

FAQ: Частые вопросы по поиску экстремумов в Excel

Можно ли найти второе по величине максимальное значение?

Да! Используйте функцию =НАИБОЛЬШИЙ(диапазон; 2) для второго максимума или =НАИМЕНЬШИЙ(диапазон; 2) для второго минимума. Например:

=НАИБОЛЬШИЙ(A1:A100; 2)

В Excel 365 можно комбинировать с ФИЛЬТР для условного поиска.

Как найти максимум по цвету ячейки?

Стандартными функциями это невозможно. Решения:

  1. VBA: Написать макрос, который проверяет Interior.Color ячеек.
  2. Power Query: Экспортировать данные с цветами в столбец (требуется предварительная разметка).

Пример VBA-кода для поиска максимума среди красных ячеек:

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

Dim cell As Range, maxVal As Double

maxVal = -1.79E+308 ' Начальное значение (минимальное число в Excel)

For Each cell In rng

If cell.Interior.Color = color And IsNumeric(cell.Value) Then

If cell.Value > maxVal Then maxVal = cell.Value

End If

Next cell

If maxVal = -1.79E+308 Then MaxByColor = CVErr(xlErrNA) Else MaxByColor = maxVal

End Function

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

Скорее всего, в диапазоне есть:

  • Пустые ячейки с формулами, возвращающими "" (Excel воспринимает их как 0).
  • Ячейки с форматированием "Общий", где введён текст, который Excel интерпретирует как число (например, " 5" с пробелом).

Решение: используйте =МАКС(ЕСЛИ(A1:A100<>0; A1:A100)) (формула массива).

Как найти максимум в фильтрованном диапазоне?

Стандартные функции игнорируют скрытые строки. Варианты:

  1. Промежуточные итоги: Данные → Структура → Промежуточные итоги (выберите "Максимум").
  2. Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ:
    =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4; A1:A100)

    где 4 — код операции "Максимум".

Можно ли найти максимум в Google Sheets?

Да, синтаксис идентичен Excel:

  • =MAX(A1:A100) — максимум.
  • =QUERY(A1:B100; "SELECT MAX(B) WHERE A = 'Москва'") — условный максимум.
  • =MAXIFS(B1:B100; C1:C100; "Да") — аналогично МАКСЕСЛИ.

Отличие: в Google Sheets нет ограничения на 255 аргументов.