Чтобы определить, сколько раз в таблице с данными о температуре встречается её максимальное значение, недостаточно просто найти МАКС — нужны дополнительные формулы или инструменты. Если вы ввели в ячейку =МАКС(B2:B100) и получили, например, 38.5°C, но не знаете, сколько раз эта температура фиксировалась за период, проблема решается за 3 шага: выделение максимума, сравнение каждого значения с ним и подсчёт совпадений. Ошибка многих пользователей — попытка использовать СЧЁТ без условия, что приводит к подсчёту всех ячеек, а не только с максимальным значением.
В этой статье разберём 5 рабочих методов: от простой формулы СЧЁТЕСЛИ до автоматизации через Power Query, включая обработку повторяющихся максимумов в больших массивах данных (10 000+ строк). Особое внимание уделим нюансам с плавающими значениями (например, 38.5 и 38.50000001 из-за ошибок округления) и способам их обхода. Если ваши данные хранятся в формате CSV или импортированы из метеостанции, приведённые решения адаптированы и для таких случаев.
Метод 1: Формула СЧЁТЕСЛИ для точного подсчёта
Самый быстрый способ — комбинация функций МАКС и СЧЁТЕСЛИ. Формула выглядит так:
=СЧЁТЕСЛИ(B2:B100;МАКС(B2:B100))
где B2:B100 — диапазон с температурами. Эта формула:
- 🔍 Сначала вычисляет максимальное значение в диапазоне (
МАКС). - 📊 Затем подсчитывает, сколько раз оно встречается (
СЧЁТЕСЛИ). - ⚡ Работает даже с текстовыми представлениями чисел (если они приведены к числовому формату).
Важный нюанс: если в данных есть ошибки округления (например, 38.5 и 38.499999999), формула посчитает их как разные значения. Чтобы избежать этого, используйте округление:
=СЧЁТЕСЛИ(ОКРУГЛ(B2:B100;1);ОКРУГЛ(МАКС(B2:B100);1))
где 1 в ОКРУГЛ — количество знаков после запятой для сравнения.
Метод 2: Массивная формула для сложных случаев
Когда нужно учитывать несколько условий (например, максимальную температуру в конкретный день или для определённого региона), используйте массивную формулу:
=СУММ(--(B2:B100=МАКС(B2:B100)))
Эта формула работает как СЧЁТЕСЛИ, но гибче: её можно расширять дополнительными критериями. Например, чтобы посчитать максимумы только за июль (столбец A содержит даты):
=СУММ(--(B2:B100=МАКС(B2:B100));--(МЕСЯЦ(A2:A100)=7))
Внимание: массивы вводятся не как обычно — после ввода формулы нажмите Ctrl+Shift+Enter (в новых версиях Excel это не обязательно).
⚠️ Внимание: Если в диапазоне есть пустые ячейки или текст, массивная формула может вернуть некорректный результат. Очистите данные или используйтеЕЧИСЛОдля фильтрации:=СУММ(--(B2:B100=МАКС(B2:B100));--(ЕЧИСЛО(B2:B100)))Метод 3: Комбинация ПОИСКПОЗ + ЧАСТОТА для больших данных
Для таблиц с 100 000+ строк формулы из предыдущих методов могут тормозить. Альтернатива — сочетание
ПОИСКПОЗиЧАСТОТА:
- Сначала найдите позицию максимального значения:
=ПОИСКПОЗ(МАКС(B2:B100);B2:B100;0)- Затем используйте
ЧАСТОТАдля подсчёта повторений:=ЧАСТОТА(B2:B100;B2:B100)и извлеките значение из ячейки, соответствующей позиции максимума.
Этот метод эффективен, но требует дополнительных действий. Для автоматизации создайте вспомогательный столбец с формулой:
=ЕСЛИ(B2=МАКС($B$2:$B$100);1;0)а затем просуммируйте его (
=СУММ(C2:C100)).📊 Какой метод вы используете чаще для подсчёта максимумов?Формулы (СЧЁТЕСЛИ, СУММ)Сводные таблицыPower QueryVBA/макросыДругой вариантМетод 4: Сводные таблицы для визуального анализа
Если нужно не только посчитать повторения максимума, но и проанализировать распределение температур, сводная таблица — оптимальный инструмент:
- Выделите диапазон с температурами (например,
B1:B100).- Перейдите на вкладку Вставка → Сводная таблица.
- В настройках сводной таблицы перетащите поле с температурами в область Строки и Значения (Excel автоматически посчитает количество повторений).
- Отсортируйте данные по убыванию, чтобы максимум оказался вверху.
Преимущества метода:
- 📈 Визуализация распределения всех температур, а не только максимума.
- 🔄 Легкое обновление при изменении исходных данных.
- 📊 Возможность добавления дополнительных группировок (по датам, регионам).
Температура (°C) Количество повторений % от общего 38.5 12 1.2% 38.4 8 0.8% 38.3 5 0.5% 38.0 22 2.2% Как убрать дубликаты температур в сводной таблице?
Если одна и та же температура встречается многократно, но с разными дополнительными параметрами (например, в разных регионах), сводная таблица может дублировать строки. Чтобы этого избежать, настройте группировку: выделите ячейки с температурами → правый клик → "Группировать".
Метод 5: Power Query для автоматизации
Для регулярной обработки больших наборов данных (например, ежедневных метеосводок) используйте Power Query:
- Выделите диапазон → вкладка Данные → Из таблицы/диапазона.
- В редакторе Power Query добавьте столбец с максимальным значением:
= Table.AddColumn(#"Предыдущий шаг", "IsMax", each if [Temperature] = List.Max(#"Предыдущий шаг"[Temperature]) then 1 else 0)- Сгруппируйте данные по столбцу
IsMaxс операцией Сумма.- Сохраните результат в новую таблицу.
Преимущества:
- 🔄 Автоматическое обновление при изменении исходных данных.
- 🛠️ Возможность очистки данных (удаление пустых строк, преобразование форматов).
- 📂 Интеграция с внешними источниками (CSV, SQL, API).
1. Убедитесь, что температура — числовой формат (не текст).
2. Удалите пустые строки или замените их на 0 (если нужно).
3. При необходимости округлите значения до нужного знака после запятой.
4. Сохраните исходные данные как таблицу Excel (Ctrl+T).
-->
Типичные ошибки и как их избежать
Даже опытные пользователи допускают ошибки при подсчёте повторений максимума. Рассмотрим самые распространённые:
⚠️ Внимание: Если ваша формула возвращает 1, хотя визуально максимумов несколько, проверьте:
- 🔢 Формат ячеек: текстовые "числа" (например,
'38.5) не равны числовым38.5.- 📏 Точность сравнения: 38.5 и 38.5000000001 для Excel — разные значения.
- 🔍 Скрытые символы: пробелы или неразрывные пробелы (
CHAR(160)) в данных.Для диагностики используйте функцию
ТИП:=ТИП(B2)Она вернёт:
1— число,2— текст,16— ошибка.Если проблема в точности, примените округление ко всему диапазону:
=СЧЁТЕСЛИ(ОКРУГЛ(B2:B100;1);ОКРУГЛ(МАКС(B2:B100);1))FAQ: Частые вопросы по подсчёту максимумов
Как посчитать максимумы по группам (например, по месяцам)?
Используйте
СЧЁТЕСЛИМНс несколькими критериями:=СЧЁТЕСЛИМН(B2:B100;B2:B100;МАКСЕСЛИ(B2:B100;A2:A100;">=01.07.2023";A2:A100;"<01.08.2023"))или сводную таблицу с группировкой по месяцам.
Почему формула СЧЁТЕСЛИ возвращает #ЗНАЧ?!
Ошибка возникает, если:
- Диапазон содержит текст вместо чисел (проверьте формат ячеек).
- Критерий (максимум) не является числом (например, если
МАКСвернул ошибку).- Используется неподдерживаемый формат данных (например, дата вместо температуры).
Решение: преобразуйте данные в числа с помощью
=ЗНАЧЕН(B2).Можно ли посчитать максимумы в Google Таблицах?
Да, используйте те же формулы:
=COUNTIF(B2:B100;MAX(B2:B100))или для массивов:
=ARRAYFORMULA(SUM(--(B2:B100=MAX(B2:B100))))Обратите внимание: в Google Таблицах нет
ЧАСТОТА, но естьFREQUENCY.Как автоматизировать подсчёт для новых данных?
Создайте именованный диапазон для температур (например,
TempData) и используйте его в формулах:=СЧЁТЕСЛИ(TempData;МАКС(TempData))При добавлении новых строк в диапазон формулы обновятся автоматически. Для полной автоматизации настройте Power Query или макрос VBA.