Как найти максимальное значение в столбце Excel: от простых функций до продвинутых методов

Работа с большими массивами данных в Microsoft Excel часто требует поиска экстремальных значений — и максимальное число в столбце не исключение. Нужно ли вам определить рекордные продажи за месяц, найти самую высокую оценку в классе или выявить пиковое значение в экспериментальных данных — умение быстро находить максимум сэкономит часы ручной работы. Но как это сделать правильно, если в столбце тысячи строк, а среди них есть пустые ячейки, текст или ошибки?

В этой статье мы разберём 7 рабочих методов — от базовых функций до продвинутых инструментов вроде Power Query и VBA. Вы узнаете не только как применить функцию МАКС, но и как обойти типичные ошибки (например, когда Excel игнорирует скрытые строки или воспринимает даты как числа). А для тех, кто работает с динамическими данными, мы покажем, как автоматизировать поиск максимума так, чтобы он обновлялся при изменении исходных данных.

Важно: все примеры в статье актуальны для Excel 2016–2023 и Microsoft 365, но большинство методов работают и в старых версиях (2010–2013) с незначительными корректировками. Если вы используете Google Таблицы, принципы те же, но синтаксис некоторых функций может отличаться.

1. Базовый метод: функция МАКС

Самый простой способ найти максимальное значение в столбце — использовать встроенную функцию МАКС (или MAX в английской версии). Она анализирует все числовые значения в указанном диапазоне и возвращает наибольшее. Синтаксис минималистичен:

=МАКС(диапазон)

Например, если ваши данные находятся в столбце B с B2 по B100, формула будет такой:

=МАКС(B2:B100)
  • Плюсы: работает мгновенно, не требует дополнительных настроек.
  • Минусы: игнорирует текстовые ячейки и ячейки с ошибками (например, #ДЕЛ/0!), но учитывает пустые ячейки как 0.
  • 🔄 Альтернатива: в Excel 365 можно использовать МАКСА (MAXA), которая учитывает логические значения (ИСТИНА=1, ЛОЖЬ=0).

Нюанс: если в диапазоне есть скрытые строки, функция МАКС их все равно учитывает (в отличие от функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ, о которой речь пойдёт далее). Это может быть критично при работе с отфильтрованными данными.

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

2. Поиск максимума с условиями: функция МАКСЕСЛИ

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

Синтаксис:

=МАКСЕСЛИ(диапазон_максимума; диапазон_условия1; условие1; [диапазон_условия2; условие2]; ...)

Пример: найдём максимальную сумму продаж (C2:C100) только для товара "Ноутбук" (B2:B100):

=МАКСЕСЛИ(C2:C100; B2:B100; "Ноутбук")
Товар (столбец B) Сумма продаж (столбец C)
Ноутбук 120 000
Смартфон 85 000
Ноутбук 150 000
Планшет 45 000

Результат формулы: 150 000 (максимум только для строк с "Ноутбук").

⚠️ Внимание: если вы используете Excel 2016 или старше, функции МАКСЕСЛИ нет. В этом случае замените её комбинацией МАКС + ЕСЛИ как массива:

=МАКС(ЕСЛИ(B2:B100="Ноутбук"; C2:C100))

Не забудьте завершить формулу сочетанием Ctrl+Shift+Enter (в старых версиях Excel).

3. Максимум в отфильтрованных данных: ПРОМЕЖУТОЧНЫЕ.ИТОГИ

Когда вы применяете фильтр к таблице, функция МАКС продолжает учитывать все строки, включая скрытые. Чтобы найти максимум только среди видимых данных, используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL):

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

Где 4 — это код функции для поиска максимума (другие коды: 1 — среднее, 9 — сумма). Пример:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4; B2:B100)
  • 🔍 Когда использовать: при работе с фильтрами, сводными таблицами или ручным скрытием строк.
  • 🚫 Ограничение: не работает с условиями (в отличие от МАКСЕСЛИ).
  • 💡 Совет: если нужно игнорировать скрытые строки вручную (не через фильтр), используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ(104; ...).

Убедиться, что данные отфильтрованы|Проверить, что в диапазоне нет объединённых ячеек|Использовать код 4 для максимума (не 104, если не нужно игнорировать ручное скрытие)|Помнить, что функция не учитывает ячейки с ошибками-->

4. Максимум с игнорированием ошибок: АГРЕГАТ

Если в вашем столбце есть ошибки (например, #Н/Д или #ЗНАЧ!), функции МАКС и ПРОМЕЖУТОЧНЫЕ.ИТОГИ вернут ошибку. Чтобы их проигнорировать, используйте АГРЕГАТ (AGGREGATE):

=АГРЕГАТ(4; 6; диапазон)

Расшифровка параметров:

  • 4 — код функции для поиска максимума (аналог МАКС).
  • 6 — опция игнорирования ошибок (другие опции: 1 — скрытые строки, 7 — и ошибки, и скрытые строки).

Пример: найдём максимум в столбце D2:D100, игнорируя ошибки:

=АГРЕГАТ(4; 6; D2:D100)
⚠️ Внимание: функция АГРЕГАТ не работает с динамическими массивами (например, результатами ФИЛЬТР или СОРТ в Excel 365). В этом случае используйте комбинацию МАКС + ЕСЛИОШИБКА:

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

5. Максимум в динамическом диапазоне: таблицы Excel и структурированные ссылки

Если ваши данные оформлены как таблица Excel (Ctrl+T), вы можете использовать структурированные ссылки — они автоматически расширяются при добавлении новых строк. Например, для таблицы с именем Продажи и столбцом Сумма формула будет:

=МАКС(Продажи[Сумма])

Преимущества:

  • 🔄 Автоматическое обновление диапазона при добавлении строк.
  • 📊 Удобство при работе с большими наборами данных.
  • 🔍 Возможность использовать в МАКСЕСЛИ:
=МАКСЕСЛИ(Продажи[Сумма]; Продажи[Категория]; "Электроника")

Чтобы преобразовать обычный диапазон в таблицу:

  1. Выделите данные (включая заголовки).
  2. Нажмите Ctrl+T или перейдите в Вставка → Таблица.
  3. Убедитесь, что галочка Таблица с заголовками активна.

6. Продвинутые методы: Power Query и VBA

Для обработки очень больших datasets (десятки тысяч строк) или автоматизации поиска максимума в нескольких файлах подойдут инструменты повышенной мощности.

6.1. Power Query (Get & Transform)

Если данные импортируются из внешних источников (например, SQL, CSV или JSON), используйте Power Query:

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

Плюс: Power Query не нагружает саму книгу Excel, так как вычисления происходят в отдельном движке.

6.2. VBA (макрос)

Для полной автоматизации напишите простой макрос:

Sub FindMaxInColumn()

Dim ws As Worksheet

Dim rng As Range

Dim maxVal As Double

Set ws = ActiveSheet

Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)

maxVal = Application.WorksheetFunction.Max(rng)

MsgBox "Максимальное значение в столбце A: " & maxVal, vbInformation

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Запустите макрос через F5.
⚠️ Внимание: макросы работают только при включённой поддержке VBA (в некоторых корпоративных версиях Excel она отключена по умолчанию). Также не забывайте, что Application.WorksheetFunction.Max вернёт ошибку, если в диапазоне нет числовых значений — добавьте обработку ошибок через On Error Resume Next.
Как ускорить поиск максимума в VBA для больших данных?

Используйте массив вместо прямого обращения к ячейкам:

Dim arr As Variant: arr = rng.Value

Затем найдите максимум в массиве через цикл For или функцию Application.Max. Это сократит время выполнения в 10–100 раз для диапазонов свыше 100 000 строк.

7. Альтернативные подходы: сводные таблицы и графики

Иногда максимум удобнее найти визуально или с помощью сводных отчётов.

7.1. Сводная таблица

Создайте сводную таблицу (Вставка → Сводная таблица) и добавьте поле со значениями в область Значения. Затем:

  1. Кликните по полю правой кнопкой → Параметры полей значений.
  2. Выберите Максимум в списке операций.

7.2. Условное форматирование

Чтобы выделить максимальное значение в столбце:

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

Это не вернёт числовое значение, но визуально покажет, где оно находится.

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

Можно ли найти максимум в нескольких столбцах одновременно?

Да, передайте в функцию МАКС несколько диапазонов через точку с запятой:

=МАКС(B2:B100; D2:D100; F2:F100)

Функция вернёт наибольшее значение из всех указанных столбцов.

Почему МАКС возвращает 0, если в столбце есть пустые ячейки?

Функция МАКС игнорирует пустые ячейки, но если все ячейки в диапазоне пустые или содержат текст, она возвращает 0. Чтобы избежать этого, используйте:

=ЕСЛИ(СЧЁТ(B2:B100)=0; "Нет данных"; МАКС(B2:B100))
Как найти максимум по цвету ячейки?

Стандартными функциями Excel это сделать нельзя. Используйте VBA или надстройку Kutools for Excel (платно). Пример кода VBA:

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

Dim cell As Range, maxVal As Double

maxVal = -1E+307 ' Минимальное возможное значение

For Each cell In rng

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

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

End If

Next cell

MaxByColor = maxVal

End Function

Используйте в ячейке как =MaxByColor(A1:A10; C1), где C1 — ячейка с нужным цветом.

Как найти второе по величине значение в столбце?

Используйте функцию НАИБОЛЬШИЙ (LARGE):

=НАИБОЛЬШИЙ(B2:B100; 2)

Где 2 — порядковый номер по убыванию (1 — максимум, 2 — второе место и т. д.).

Работает ли МАКС с датами?

Да, но с нюансами. Excel хранит даты как числа (количество дней с 1 января 1900 года), поэтому МАКС вернёт самую позднюю дату. Пример:

=МАКС(A2:A10)

Если в ячейках текст в формате "31.12.2023", предварительно преобразуйте его в даты через ДАТАЗНАЧ.