Как найти максимальное значение в таблице Excel: от простого к сложному

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

Многие пользователи ограничиваются примитивным просмотром ячеек "вручную" или сортировкой — методы, которые отнимают время и чреваты ошибками. Между тем, Excel предлагает как минимум 5 способов автоматизированного поиска максимума: от элементарной функции МАКС до продвинутых инструментов вроде ПРОМЕЖУТОЧНЫЕ.ИТОГИ или Power Query. В этой статье разберём каждый из них с практическими примерами, нюансами для разных версий программы (включая Excel 365 и Excel 2019), а также типичными ошибками, которые портят результаты.

Особое внимание уделим трём ключевым сценариям:

  1. Поиск максимума в статической таблице (одноразовая задача).
  2. Автоматическое обновление максимального значения при изменении данных.
  3. Поиск наибольшего числа с учётом дополнительных условий (например, максимум по категории).

Если вы никогда не пользовались формулами или боитесь "сломать" таблицу — не переживайте: все методы сопровождаются скриншотами и пошаговыми инструкциями.

📊 Как часто вы ищете максимальные значения в Excel?
Ежедневно
Несколько раз в неделю
Рядом
Первый раз столкнулся с задачей

1. Функция МАКС: базовый метод для начинающих

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

=МАКС(число1; [число2]; ...)

Пример: Чтобы найти максимальное значение в столбце A1:A100, введите в любой ячейке:

=МАКС(A1:A100)

Функция проигнорирует пустые ячейки и текстовые значения, но учтёт числа, скрытые строкой #ЗНАЧ! или #ДЕЛ/0!. Это может быть как плюсом (если ошибки не критичны), так и минусом (если нужно их исключить).

  • Плюсы: работает во всех версиях Excel, не требует дополнительных настроек.
  • ⚠️ Минусы: не подходит для динамических таблиц с фильтрами (вернёт максимум по всему диапазону, а не по видимым строкам).

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

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

Синтаксис МАКСЕСЛИ:

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

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

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

Для Excel 2016 и старше используйте формулу массива (вводится через Ctrl+Shift+Enter):

=МАКС(ЕСЛИ(A2:A100="Ноутбук"; B2:B100))
⚠️ Внимание: В формулах массива нельзя использовать ссылки на целые столбцы (например, A:A). Всегда указывайте конкретный диапазон (A2:A100), иначе Excel будет обрабатывать миллионы пустых ячеек, что замедлит работу файла.
Версия Excel Поддерживаемая функция Требует ли Ctrl+Shift+Enter?
Excel 365 / 2021 МАКСЕСЛИ, МАКСЕСЛИМН Нет
Excel 2019 МАКСЕСЛИ Нет
Excel 2016 и старше МАКС(ЕСЛИ(...)) Да

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

Если вам нужно не только найти, но и выделить наибольшее значение в таблице, используйте Условное форматирование. Этот метод наглядно подсветит рекордные данные, что удобно для презентаций или быстрого анализа.

Инструкция:

  1. Выделите диапазон с данными (например, B2:B100).
  2. Перейдите на вкладку Главная → Условное форматирование → Правила выделения ячеек → Больше....
  3. В поле "Форматировать ячейки, которые" выберите равно и введите формулу: =B2=МАКС($B$2:$B$100).
  4. Задайте цвет заливки (например, зелёный) и нажмите ОК.

Теперь при изменении данных в столбце B выделение автоматически переместится на новую максимальную ячейку.

Использована абсолютная адресация ($B$2:$B$100)|Формула введена без ошибок|Цвет заливки контрастный|Правило применено ко всему диапазону-->

⚠️ Внимание: Если в таблице несколько одинаковых максимальных значений, условное форматирование выделит все их. Чтобы оставить только первое вхождение, добавьте дополнительное правило с функцией ИНДЕКС.

4. Фильтры и промежуточные итоги: максимум в отфильтрованных данных

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

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

Здесь 4 — это код функции МАКС для ПРОМЕЖУТОЧНЫЕ.ИТОГИ. Пример: для отфильтрованного столбца C2:C200 формула будет:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(4; C2:C200)

Этот метод работает и с ручным скрытием строк (правый клик → Скрыть), и с автофильтрами. Однако он не учитывает данные, скрытые через группировку (Данные → Группировать) — для них потребуется VBA-скрипт.

Почему ПРОМЕЖУТОЧНЫЕ.ИТОГИ игнорирует группировку?

Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ ориентируется на свойство ячеек Hidden, которое меняется при ручном скрытии или фильтрации, но не при группировке. В последнем случае строки просто "свёрнуты", но технически остаются видимыми для формул.

5. Power Query: максимум в больших наборах данных

Если вы работаете с таблицами на десятки тысяч строк (например, выгрузками из или SQL), функции Excel могут замедляться. В этом случае эффективнее использовать Power Query — инструмент для обработки и трансформации данных.

Алгоритм действий:

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

Преимущество метода — обработка миллионов строк без зависаний. Кроме того, Power Query позволяет:

  • 🔄 Обновлять данные одним кликом (Данные → Обновить все).
  • 📊 Сохранять историю преобразований (полезно для аудита).
  • 🔗 Подключаться напрямую к базам данных (SQL Server, MySQL).

6. Макросы VBA: автоматизация поиска максимума

Для продвинутых пользователей, которым нужно не только найти максимум, но и выполнить дополнительные действия (например, скопировать строку с рекордным значением в другой лист), подойдёт VBA. Ниже пример кода, который:

  • Находит максимальное значение в столбце B.
  • Копирует всю строку с этим значением на лист "Рекорды".
  • Сохраняет дату и время поиска.
Sub FindMaxAndCopy()

Dim wsSource As Worksheet, wsTarget As Worksheet

Dim maxValue As Double, maxRow As Long

Set wsSource = ThisWorkbook.Sheets("Данные") ' источник

Set wsTarget = ThisWorkbook.Sheets("Рекорды") ' цель

' Поиск максимума в столбце B (начиная с B2)

maxValue = Application.WorksheetFunction.Max(wsSource.Range("B2:B" & wsSource.Cells(Rows.Count, 2).End(xlUp).Row))

maxRow = wsSource.Cells(Rows.Count, 2).End(xlUp).Row

' Поиск первой ячейки с maxValue (если несколько одинаковых максимумов)

For i = 2 To maxRow

If wsSource.Cells(i, 2).Value = maxValue Then

maxRow = i

Exit For

End If

Next i

' Копирование строки

wsSource.Rows(maxRow).Copy wsTarget.Cells(wsTarget.Rows.Count, 1).End(xlUp).Offset(1, 0)

' Добавление метки времени

wsTarget.Cells(wsTarget.Rows.Count, 1).End(xlUp).Offset(0, 1).Value = Now

End Sub

Чтобы запустить макрос:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (Insert → Module).
  3. Вернитесь в Excel и нажмите Alt + F8, выберите FindMaxAndCopy.
⚠️ Внимание: Перед запуском макроса убедитесь, что на листе "Рекорды" нет важных данных — они могут быть перезаписаны. Также отключите защиту книги, если она включена (Рецензирование → Защитить книгу).

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

Даже опытные пользователи допускают ошибки при поиске максимальных значений. Вот самые распространённые:

  1. Ошибка #1: Использование МАКС для текста. Функция проигнорирует строки (например, "100 руб"), но не выдаст ошибку. Решение: преобразуйте данные в числа через ЗНАЧЕН:
    =МАКС(ЗНАЧЕН(B2:B100))
  2. Ошибка #2: Диапазон с ошибками (#ДЕЛ/0!, #Н/Д). Функция МАКС их пропустит, но если ошибок много, результат может быть некорректным. Решение: используйте ЕСЛИОШИБКА или АГРЕГАТ:
    =АГРЕГАТ(4; 6; B2:B100)

    Здесь 6 — код игнорирования ошибок.

  3. Ошибка #3: Поиск максимума в неотсортированных данных с дублями. Если в таблице несколько одинаковых максимальных значений, МАКС вернёт первое попавшееся. Решение: комбинируйте с ИНДЕКС/ПОИСКПОЗ для точного позиционирования.

Ещё одна ловушка — формат ячеек. Например, если числа отформатированы как даты (31.12.2023 вместо 45265), функция МАКС вернёт максимальную дату, а не число. Проверьте формат через Главная → Формат → Формат ячеек.

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

Можно ли найти максимум в нескольких несмежных диапазонах?

Да, функция МАКС поддерживает до 255 аргументов. Пример:

=МАКС(A1:A10; C5:C15; E20:E30)

Если диапазоны пересекаются, повторяющиеся ячейки будут учтены один раз.

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

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

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

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

Почему МАКСЕСЛИ возвращает 0, хотя есть подходящие данные?

Скорее всего, в диапазоне условий есть пустые ячейки или текст, который не совпадает с критерием. Проверьте:

  • Нет ли лишних пробелов в условии (например, "Ноутбук " вместо "Ноутбук").
  • Совпадает ли регистр ("ноутбук" ≠ "Ноутбук").

Используйте СЖПРОБЕЛЫ для очистки данных:

=МАКСЕСЛИ(B2:B100; СЖПРОБЕЛЫ(A2:A100); "Ноутбук")
Как найти максимум в сводной таблице?

Сводные таблицы автоматически рассчитывают максимумы при добавлении поля в область Значения. Для этого:

  1. Щёлкните правой кнопкой по полю в области Значения.
  2. Выберите Параметры полей значений → Дополнительные параметры.
  3. В разделе Показать значения как выберите Максимум.

Если нужно вытащить максимум из сводной таблицы в обычную ячейку, используйте GETPIVOTDATA:

=GETPIVOTDATA("Сумма продаж"; $A$3; "Категория"; "Ноутбуки")
Работает ли МАКС с динамическими массивами в Excel 365?

Да, но с нюансами. Если результат МАКС используется как часть динамического массива (например, в комбинации с ФИЛЬТР), он не будет автоматически "проливаться". Пример корректной формулы:

=МАКС(ФИЛЬТР(B2:B100; A2:A100="Ноутбук"))

Здесь ФИЛЬТР сначала отберёт нужные ячейки, а МАКС найдёт среди них максимальное.