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

Работа с данными в Microsoft Excel часто требует не только базовых вычислений, но и анализа экстремальных значений. Если найти максимальное значение в столбце умеют даже новички (достаточно функции МАКС), то поиск второго по величине числа вызывает вопросы. Почему? Потому что Excel не имеет встроенной функции "второе максимум" — её нужно конструировать из существующих инструментов.

Эта задача актуальна для финансового анализа (топ-2 расходы), спортивной статистики (серебряный призёр), логистики (второй по весу груз) и десятков других сценариев. В статье разберём 5 рабочих методов — от элементарных формул для новичков до гибких решений для обработки больших массивов данных с учётом повторяющихся значений, ошибок и динамических диапазонов.

Спойлер: самый надёжный способ — комбинация БОЛЬШОЙ + СЧЁТЕСЛИ, но для специфических случаев (например, игнорирование нулей или текста) потребуются массивы или Power Query. Готовы? Начнём с простого и постепенно усложним задачи.

1. Базовый метод: функция БОЛЬШОЙ

Функция БОЛЬШОЙ (англ. LARGE) специально создана для поиска n-го наибольшего значения в диапазоне. Для второго максимума достаточно указать позицию 2:

Синтаксис:

=БОЛЬШОЙ(диапазон; 2)

Пример: если в ячейках A1:A10 хранятся числа 15, 7, 22, 3, 19, формула =БОЛЬШОЙ(A1:A10; 2) вернёт 19 (второе по величине после 22).

Плюсы метода:

  • 🔹 Простота — одна функция без вложений
  • 🔹 Работает с неотсортированными данными
  • 🔹 Поддерживает динамические диапазоны (например, A1:A1000)

⚠️ Внимание: Если в диапазоне меньше 2 числовых значений, функция вернёт ошибку #ЧИСЛО!. Чтобы избежать этого, добавьте проверку:

=ЕСЛИОШИБКА(БОЛЬШОЙ(A1:A10; 2); "Недостаточно данных")

2. Альтернатива: комбинация МАКС + ЕСЛИ

Когда функция БОЛЬШОЙ недоступна (например, в старых версиях Excel), можно обойтись парой МАКС + ЕСЛИ. Логика: сначала находим максимальное значение, затем ищем максимум среди всех чисел, кроме него.

Формула массива (вводится через Ctrl+Shift+Enter в Excel 2019 и ранее):

=МАКС(ЕСЛИ(A1:A10<>МАКС(A1:A10); A1:A10))

В новых версиях (Excel 365, 2021) достаточно нажать Enter — формула автоматически станет динамической.

⚠️ Внимание: Этот метод не работает с повторяющимися максимумами. Если в данных два одинаковых самых больших числа (например, 22, 22, 15), формула вернёт 0 или ошибку. Для таких случаев используйте метод из следующего раздела.

📌 Пример на практике:

Данные (A1:A5)ФормулаРезультат
15=МАКС(ЕСЛИ(A1:A5<>МАКС(A1:A5); A1:A5))19
7
22
3
19

3. Учёт повторяющихся значений: БОЛЬШОЙ + СЧЁТЕСЛИ

Если в данных есть дубликаты максимального значения (например, 22, 22, 19, 15), функция БОЛЬШОЙ(диапазон; 2) вернёт второе 22, а не 19. Чтобы получить уникальное второе значение, нужно учитывать количество повторений.

Решение: комбинация БОЛЬШОЙ + СЧЁТЕСЛИ:

=БОЛЬШОЙ(A1:A10; 1 + СЧЁТЕСЛИ(A1:A10; МАКС(A1:A10)))

Разбор формулы:

  1. МАКС(A1:A10) — находим максимальное значение (22).
  2. СЧЁТЕСЛИ(A1:A10; 22) — считаем, сколько раз оно повторяется (например, 2 раза).
  3. БОЛЬШОЙ(A1:A10; 1 + 2) — ищем 3-е по величине значение, которое станет вторым уникальным.
📊 Как часто вам приходится работать с повторяющимися значениями в Excel?
Постоянно
Иногда
Рядко
Никогда

Когда использовать этот метод:

  • 📊 В финансовых отчётах с одинаковыми суммами
  • 🏆 В спортивных таблицах с ничьими
  • 📦 В инвентаризационных списках с повторяющимися артикулами

4. Продвинутый подход: формулы массива для сложных условий

Если нужно найти второе максимум с учётом дополнительных критериев (например, игнорировать нули, ошибки или ячейки с текстом), пригодятся формулы массива. Рассмотрим два сценария:

🔹 Сценарий 1: Игнорировать нули и текст

=БОЛЬШОЙ(ЕСЛИОШИБКА(ЕСЛИ(A1:A10<>0; ЕСЛИ(ЕТЕКСТ(A1:A10); ""; A1:A10)); ""); 2)
Примечание: В Excel 365 формула работает как динамическая; в старых версиях вводите через Ctrl+Shift+Enter.

🔹 Сценарий 2: Второе максимум по условию (например, только для значений >10):

=БОЛЬШОЙ(ЕСЛИ(A1:A10>10; A1:A10); 2)

📌 Таблица сравнения методов:

МетодПоддерживает условияРаботает с дублямиСложность
БОЛЬШОЙ(диапазон; 2)❌ Нет⚠️ Только если дубли не критичны
МАКС + ЕСЛИ❌ Нет❌ Нет⭐⭐
БОЛЬШОЙ + СЧЁТЕСЛИ❌ Нет✅ Да⭐⭐
Формулы массива✅ Да✅ Да⭐⭐⭐
Как ускорить расчёты с формулами массива?

Для больших диапазонов (10 000+ строк) формулы массива могут тормозить Excel. Решения:

1. Используйте Power Query (см. следующий раздел).

2. Преобразуйте формулу в значения (Копировать → Специальная вставка → Значения).

3. Разбейте задачу на промежуточные столбцы (например, сначала отфильтруйте данные, затем примените БОЛЬШОЙ).

5. Автоматизация: Power Query для больших данных

Если вы работаете с десятками тысяч строк, формулы становятся неэффективными. В этом случае поможет Power Query (вкладка Данные → Получить данные в Excel 2016+).

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

  1. Выделите диапазон и нажмите Данные → Из таблицы/диапазона (или Получить данные → Из таблицы).
  2. В редакторе Power Query выделите столбец с данными.
  3. Перейдите на вкладку Преобразование → Сортировка → По убыванию.
  4. Добавьте индексный столбец: Добавить столбец → Индексный столбец.
  5. Отфильтруйте вторую строку (индекс = 1, так как счёт начинается с 0).
  6. Нажмите Главная → Закрыть и загрузить.

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

  • 🚀 Обрабатывает миллионы строк без лагов
  • 🔄 Автоматически обновляет результат при изменении исходных данных
  • 🛠️ Позволяет добавлять сложные фильтры (например, игнорировать отрицательные числа)

Убедитесь, что данные оформлены как таблица (Ctrl+T)

Проверьте отсутствие объединённых ячеек

Удалите пустые строки/столбцы

Задайте правильные форматы данных (числовой, текстовый и т.д.)

-->

⚠️ Внимание: После загрузки результата из Power Query он становится статичным. Чтобы обновить данные, нажмите правой кнопкой по таблице и выберите Обновить.

6. Динамические массивы в Excel 365: НОВЫЙ подход

В Excel 365 и Excel 2021 появились динамические массивы — функции, которые автоматически "проливаются" на соседние ячейки. Для поиска второго максимума можно использовать комбинацию СОРТИРОВКА + ИНДЕКС:

Формула:

=ИНДЕКС(СОРТИРОВКА(A1:A10; ; -1); 2)

Как это работает:

  1. СОРТИРОВКА(A1:A10; ; -1) — сортирует данные по убыванию.
  2. ИНДЕКС(..., 2) — возвращает второе значение из отсортированного списка.

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

🔹 Бонус: Чтобы получить топ-3 значения, используйте:

=ИНДЕКС(СОРТИРОВКА(A1:A10; ; -1); ПОСЛЕДОВАТ(3))
Примечание: ПОСЛЕДОВАТ(3) создаёт массив {1; 2; 3}, поэтому формула вернёт три самых больших числа.

Частые ошибки и как их избежать

Даже опытные пользователи Excel сталкиваются с проблемами при поиске второго максимума. Вот топ-5 ошибок и их решения:

🔹 Ошибка #1: Формула возвращает #ЧИСЛО!

⚠️ Внимание: Это происходит, если в диапазоне меньше 2 числовых значений. Добавьте проверку:
=ЕСЛИ(СЧЁТ(A1:A10)>=2; БОЛЬШОЙ(A1:A10; 2); "Нет данных")

🔹 Ошибка #2: Результат — 0 вместо второго максимума

Причина: в данных есть текстовые ячейки или ошибки. Используйте формулу массива с фильтрацией:

=БОЛЬШОЙ(ЕСЛИОШИБКА(ЕСЛИ(ЕЧИСЛО(A1:A10); A1:A10); ""); 2)

🔹 Ошибка #3: Повторяющиеся максимумы искажают результат

Решение: применяйте метод с СЧЁТЕСЛИ (раздел 3) или сортируйте данные перед анализом.

🔹 Ошибка #4: Формула не обновляется при добавлении новых данных

В старых версиях Excel формулы массива не расширяются автоматически. Решения:

  • Используйте Таблицы Excel (выделите данные и нажмите Ctrl+T).
  • Замените статические диапазоны (например, A1:A10) на динамические (A:A или именованные диапазоны).

🔹 Ошибка #5: Медленная работа с большими диапазонами

Если формулы тормозят, попробуйте:

  • 🔄 Переключиться на Power Query.
  • 📊 Использовать сводные таблицы для предварительной агрегации данных.
  • 🖥️ Оптимизировать файл (удалить ненужные форматы, объединённые ячейки).

FAQ: Ответы на популярные вопросы

Можно ли найти второе наименьшее значение аналогичными методами?

Да! Замените БОЛЬШОЙ на МАЛЕНЬКИЙ (англ. SMALL), а сортировку по убыванию — на сортировку по возрастанию. Пример:

=МАЛЕНЬКИЙ(A1:A10; 2)
Как найти второе максимум в фильтрованном списке (например, только для "Январь")?

Используйте БОЛЬШОЙ с функцией ФИЛЬТР (Excel 365):

=БОЛЬШОЙ(ФИЛЬТР(A1:A10; B1:B10="Январь"); 2)

Для старых версий подойдёт формула массива:

=БОЛЬШОЙ(ЕСЛИ(B1:B10="Январь"; A1:A10); 2)
Примечание: В Excel 2019 и ранее вводите через Ctrl+Shift+Enter.
Почему функция БОЛЬШОЙ возвращает ошибку #ЗНАЧ! в немецкой версии Excel?

В немецкой локализации Excel функция называется KGRÖSSTE (а не LARGE). Замените название или используйте английскую версию с разделителем ;:

=LARGE(A1:A10; 2)

Для других языков:

  • Французский: GRANDE.VALEUR
  • Испанский: K.ESIMO.MAYOR
  • Итальянский: GRANDE
Как автоматически подсветить второе максимум в таблице?

Используйте Условное форматирование:

  1. Выделите диапазон (например, A1:A10).
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу... и введите:
    =A1=БОЛЬШОЙ($A$1:$A$10; 2)
  4. Задайте цвет заполнения (например, жёлтый) и нажмите ОК.

⚠️ Внимание: В формуле используйте абсолютные ссылки на диапазон ($A$1:$A$10), но относительную на первую ячейку (A1).

Есть ли разница между БОЛЬШОЙ и комбинацией МАКС + ЕСЛИ по скорости?

Да, и она существенная:

  • БОЛЬШОЙ работает в 2-3 раза быстрее на больших диапазонах (10 000+ строк), так как оптимизирована под эту задачу.
  • МАКС + ЕСЛИ требует пересчёта всего массива, что замедляет производительность.

Для критичных по скорости задач (например, в финансовых моделях) всегда отдавайте предпочтение БОЛЬШОЙ.