Сколько раз встречается максимальная температура в Excel: точные методы подсчёта

Чтобы определить, сколько раз в таблице с данными о температуре встречается её максимальное значение, недостаточно просто найти МАКС — нужны дополнительные формулы или инструменты. Если вы ввели в ячейку =МАКС(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+ строк формулы из предыдущих методов могут тормозить. Альтернатива — сочетание ПОИСКПОЗ и ЧАСТОТА:

  1. Сначала найдите позицию максимального значения:
    =ПОИСКПОЗ(МАКС(B2:B100);B2:B100;0)
  2. Затем используйте ЧАСТОТА для подсчёта повторений:
    =ЧАСТОТА(B2:B100;B2:B100)

    и извлеките значение из ячейки, соответствующей позиции максимума.

Этот метод эффективен, но требует дополнительных действий. Для автоматизации создайте вспомогательный столбец с формулой:

=ЕСЛИ(B2=МАКС($B$2:$B$100);1;0)

а затем просуммируйте его (=СУММ(C2:C100)).

📊 Какой метод вы используете чаще для подсчёта максимумов?
Формулы (СЧЁТЕСЛИ, СУММ)
Сводные таблицы
Power Query
VBA/макросы
Другой вариант

Метод 4: Сводные таблицы для визуального анализа

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

  1. Выделите диапазон с температурами (например, B1:B100).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В настройках сводной таблицы перетащите поле с температурами в область Строки и Значения (Excel автоматически посчитает количество повторений).
  4. Отсортируйте данные по убыванию, чтобы максимум оказался вверху.

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

  • 📈 Визуализация распределения всех температур, а не только максимума.
  • 🔄 Легкое обновление при изменении исходных данных.
  • 📊 Возможность добавления дополнительных группировок (по датам, регионам).
Температура (°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:

  1. Выделите диапазон → вкладка ДанныеИз таблицы/диапазона.
  2. В редакторе Power Query добавьте столбец с максимальным значением:
    = Table.AddColumn(#"Предыдущий шаг", "IsMax", each if [Temperature] = List.Max(#"Предыдущий шаг"[Temperature]) then 1 else 0)
  3. Сгруппируйте данные по столбцу IsMax с операцией Сумма.
  4. Сохраните результат в новую таблицу.

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

  • 🔄 Автоматическое обновление при изменении исходных данных.
  • 🛠️ Возможность очистки данных (удаление пустых строк, преобразование форматов).
  • 📂 Интеграция с внешними источниками (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.