Функция МАКС в Microsoft Excel возвращает наибольшее значение из указанного диапазона или списка аргументов — но только если эти данные корректно интерпретируются как числа. Например, при вводе =МАКС(A1:A10) в ячейке с текстом "100 рублей" или пустой ячейкой произойдёт игнорирование, а вот ячейка с формулой =5*20 (результат 100) будет учтена. Это ключевое отличие от функции МАКСА, которая учитывает текстовые числа. Если результат выводит ошибку #ЗНАЧ!, в 90% случаев проблема кроется в нечисловых данных или неправильном синтаксисе.
В версиях Excel 365 и Excel 2021 функция поддерживает до 255 аргументов, включая диапазоны, массивы и отдельные значения. Однако при работе с большими массивами (например, =МАКС(A1:Z10000)) производительность падает — оптимально разбивать диапазоны на части или использовать Power Query для предварительной обработки. Далее разберём, как функция обрабатывает даты, логические значения и почему иногда игнорирует отрицательные числа.
Синтаксис функции МАКС: обязательные и необязательные аргументы
Базовый синтаксис функции выглядит так:
=МАКС(число1; [число2]; ...)
Где:
- 🔢 число1 — обязательный аргумент (число, ссылка на ячейку или диапазон).
- 🔄 [число2] — необязательные аргументы (до 254 дополнительных значений).
- 📊 диапазоны — можно указывать через запятую, например
=МАКС(A1:A10, C1:C5).
Важно: функция не учитывает:
- 🗑️ Пустые ячейки (
""). - 📝 Текстовые значения (например, "100" без преобразования в число).
- ❌ Логические
ИСТИНА/ЛОЖЬ(они равны 1 и 0, но игнорируются).
Как МАКС работает с разными типами данных
Функция по-разному интерпретирует аргументы в зависимости от их типа. Например, даты в Excel хранятся как числа (где 1 = 1 января 1900 года), поэтому =МАКС("10.05.2026"; "01.01.2026") вернёт 45689 (серийный номер даты 01.01.2026). Чтобы отобразить результат как дату, примените формат ячейки ДД.ММ.ГГГГ.
| Тип данных | Пример аргумента | Результат МАКС | Комментарий |
|---|---|---|---|
| Числа | =МАКС(10; -5; 0) |
10 | Отрицательные числа учитываются. |
| Дата/время | =МАКС("15.03.2026"; "10.03.2026") |
45350 | Возвращает серийный номер поздней даты. |
| Логические значения | =МАКС(ИСТИНА; ЛОЖЬ) |
0 | ИСТИНА=1, ЛОЖЬ=0, но игнорируются. |
| Текст | =МАКС("100"; "50") |
#ЗНАЧ! |
Ошибка, если текст не преобразован в число. |
Критичный нюанс: если в диапазоне есть хотя бы одна ячейка с ошибкой (например, #ДЕЛ/0!), функция МАКС вернёт эту ошибку. Чтобы обойти это, используйте комбинацию с ЕСЛИОШИБКА:
=МАКС(ЕСЛИОШИБКА(A1:A10; 0))
Практические примеры: от простых вычислений до сложных формул
Рассмотрим реальные сценарии применения функции:
1. Поиск максимального значения в динамическом диапазоне
Если данные постоянно обновляются (например, курсы валют), используйте структурированные ссылки на таблицу:
=МАКС(Таблица1[Столбец1])
Это автоматически учтёт новые строки без ручного расширения диапазона.
2. МАКС с условием (альтернатива МАКСЕСЛИ)
В версиях Excel до 2019 для условного максимума комбинируйте МАКС с ЕСЛИ как формулу массива (завершайте Ctrl+Shift+Enter):
=МАКС(ЕСЛИ(A1:A10>50; A1:A10))
3. Максимум по нескольким критериям
Для поиска максимального значения с двумя условиями (например, максимум продаж по региону "Москва" за 2026 год):
=МАКС(ЕСЛИ((B2:B100="Москва")*(C2:C100="2026"); D2:D100))
Диапазон не содержит текстовых значений|
Все ячейки отформатированы как числа/даты|
Нет ошибок #ДЕЛ/0! или #Н/Д в данных|
При условном поиске использованы правильные критерии-->
Типичные ошибки и как их исправить
Ошибка #ЗНАЧ! возникает в трёх случаях:
- В аргументах есть текст, который нельзя преобразовать в число (например, "прибыль").
- Использованы некорректные разделители (в русскоязычной версии Excel — точка с запятой
;, а не запятая). - Функция введена как текст (перед
=стоит пробел или апостроф).
⚠️ Внимание: Если функция возвращает0вместо ожидаемого максимума, проверьте диапазон на наличие пустых ячеек или логических значенийЛОЖЬ(они равны 0 и могут быть ошибочно учтены).
Ошибка #ДЕЛ/0! появляется, если все аргументы — пустые ячейки или текст. Решение:
=ЕСЛИОШИБКА(МАКС(A1:A10); "Нет данных")
МАКС vs МАКСА: когда какую функцию использовать
Функция МАКСА (MAXA в англоязычной версии) учитывает текстовые представления чисел (например, "100"), логические значения (ИСТИНА=1, ЛОЖЬ=0) и игнорирует только пустые ячейки. Сравнение:
| Критерий | МАКС | МАКСА |
|---|---|---|
| Текстовые числа ("50") | ❌ Игнорирует | ✅ Учитывает (50) |
| Логические значения | ❌ Игнорирует | ✅ ИСТИНА=1, ЛОЖЬ=0 |
| Пустые ячейки | ❌ Игнорирует | ❌ Игнорирует |
| Ошибки (#ДЕЛ/0!) | ❌ Возвращает ошибку | ❌ Возвращает ошибку |
Пример, где МАКСА даёт другой результат:
=МАКС(A1:A3) // Вернёт 100 (если A1=100, A2="50", A3=75)
=МАКСА(A1:A3) // Вернёт 100 (учтёт "50" как 50)
Как преобразовать текстовые числа в числа автоматически?
Используйте функцию ЗНАЧЕН (VALUE):
=МАКС(ЗНАЧЕН(A1); ЗНАЧЕН(A2))
Или примените формат ячеек "Числовой" и подтвердите преобразование через значок ошибки ! в левом верхнем углу ячейки.
Оптимизация производительности при работе с большими данными
Если функция МАКС тормозит на диапазонах свыше 10 000 строк:
- 🔍 Используйте умные таблицы (
Ctrl+T) — они автоматически оптимизируют вычисления. - 📈 Замените диапазоны на динамические массивы (в Excel 365):
=МАКС(ФИЛЬТР(A1:A100; A1:A100>0)). - 🛠️ Переключитесь на Power Query для предварительной агрегации данных.
Для ускорения расчётов вручную:
- Выделите диапазон и нажмите
F9, чтобы заменить формулы на значения (но потеряете динамику!). - Отключите автоматический пересчёт:
Формулы → Параметры вычислений → Вручную.
⚠️ Внимание: В Excel Online функция МАКС ограничена 30 аргументами. Для больших диапазонов используйте десктопную версию или разбивайте данные на части.
Продвинутые приёмы: МАКС в комбинации с другими функциями
Сочетание МАКС с другими функциями расширяет возможности анализа:
1. Максимум с учётом ошибок
=АГРЕГАТ(4; 6; A1:A10)
Где 4 — код функции МАКС, а 6 — игнорирование ошибок.
2. Поиск второй по величине значения
=БОЛЬШОЙ(A1:A10; 2)
3. Максимум по цвету ячейки
Требуется VBA или Power Query, так как стандартные функции не поддерживают форматирование.
FAQ: Частые вопросы о функции МАКС
Можно ли найти максимум по нескольким листам?
Да, используйте 3D-ссылки:
=МАКС(Лист1:Лист3!A1:A10)
Это просуммирует максимумы с каждого листа в указанном диапазоне.
Почему МАКС возвращает 0, если в данных нет нулей?
Скорее всего, в диапазоне есть пустые ячейки или логические ЛОЖЬ (которые равны 0). Проверьте данные функцией =ЕПУСТО() или =ТИП().
Как найти максимум в фильтрованном списке?
В Excel 365 используйте:
=МАКС(ФИЛЬТР(A1:A10; B1:B10="Да"))
В старых версиях — ПРОМЕЖУТОЧНЫЕ.ИТОГИ с ручной фильтрацией.
Можно ли применить МАКС к текстовому столбцу?
Нет, но можно найти "максимальный" текст по алфавиту с помощью =МАКС(КОДСИМВ(A1:A10)) (вернёт код последней буквы в алфавите). Для прямого сравнения строк используйте =ИНДЕКС(A1:A10; ПОИСКПОЗ(МАКС(ДЛСТР(A1:A10)); ДЛСТР(A1:A10); 0)).
Как ускорить работу МАКС с миллионом строк?
Разбейте данные на части или используйте Power Pivot:
- Загрузите данные в модель данных (
Данные → Из таблицы/диапазона). - Создайте меру с функцией
MAXна языке DAX.