Как посчитать среднее значение отрицательных чисел в Excel: 5 проверенных способов

Работа с отрицательными числами в Microsoft Excel часто вызывает вопросы у пользователей, особенно когда требуется выборочный анализ данных. Представьте ситуацию: у вас есть колонка с финансовыми показателями, где красные цифры обозначают убытки, а вам нужно узнать средний размер убытка — игнорируя все положительные значения. Или анализируете температурные колебания, где отрицательные значения указывают на морозы, и требуется их усредненное значение.

В этой статье мы разберем 5 рабочих методов расчета среднего арифметического только для отрицательных чисел — от простых формул до продвинутых массивов. Вы узнаете, как обойти стандартные ограничения функции СРЗНАЧ, почему СРЗНАЧЕСЛИ не всегда подходит для этой задачи, и как автоматизировать процесс с помощью Power Query. Все примеры адаптированы для Excel 2010–2023 и Excel Online.

Особое внимание уделим типичным ошибкам, которые допускают даже опытные пользователи: почему формула возвращает #ДЕЛ/0!, как избежать учета нулевых значений, и что делать, если в диапазоне нет отрицательных чисел. Для наглядности приведём сравнительную таблицу всех методов с их плюсами и минусами — это поможет выбрать оптимальный вариант для вашей задачи.

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

📊 Какой версией Excel вы пользуетесь?
Excel 2010–2019
Excel 365/2021
Excel Online
Mac для Excel
Другая

Почему стандартная функция СРЗНАЧ не подходит

Функция СРЗНАЧ в Excel рассчитывает среднее арифметическое всех чисел в заданном диапазоне, включая положительные, отрицательные и нули. Если вам нужно среднее только отрицательных значений, этот метод не сработает. Например, для диапазона {-5; 10; -3; 0; -2} функция =СРЗНАЧ(A1:A5) вернёт 0 (так как сумма всех чисел равна нулю), хотя среднее отрицательных должно быть -3,33.

Ключевая проблема в том, что СРЗНАЧ не умеет фильтровать данные по условию. Для выборочного анализа требуются другие подходы:

  • 🔹 Функции с условием: СРЗНАЧЕСЛИ или СУММЕСЛИ в паре с СЧЁТЕСЛИ.
  • 🔹 Формулы массива: для сложных критериев (например, отрицательные числа в определенном диапазоне дат).
  • 🔹 Промежуточные вычисления: создание вспомогательного столбца с фильтрацией.

Ещё один нюанс: если в диапазоне нет отрицательных чисел, большинство формул вернут ошибку #ДЕЛ/0!. Мы покажем, как обработать этот случай с помощью функции ЕСЛИОШИБКА.

⚠️ Внимание: Функция СРЗНАЧЕСЛИ на первый взгляд кажется подходящей, но она учитывает нулевые значения (0), если они попадают под условие "<0". Чтобы исключить нули, используйте условие "<0" строго без знака равенства.

Метод 1: СРЗНАЧЕСЛИ — простой, но с ограничениями

Функция СРЗНАЧЕСЛИ позволяет рассчитать среднее значение ячеек, которые соответствуют заданному критерию. Для отрицательных чисел формула будет такой:

=СРЗНАЧЕСЛИ(диапазон; "<0")

Пример: если ваши данные находятся в столбце A1:A10, введите:

=СРЗНАЧЕСЛИ(A1:A10; "<0")

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

  • 🔹 Простота — одна функция вместо комбинации нескольких.
  • 🔹 Работает во всех версиях Excel (начиная с 2007).
  • 🔹 Автоматически игнорирует текстовые и пустые ячейки.

Минусы и подводные камни:

  • 🔸 Включает 0 в расчёт, если он есть в диапазоне (поскольку 0 не является отрицательным, но удовлетворяет условию "<0" при нестрогом сравнении).
  • 🔸 Возвращает #ДЕЛ/0!, если отрицательных чисел нет.
  • 🔸 Не работает с несколько условиями (например, отрицательные числа в определенном месяце).

Чтобы исключить нули, используйте строгое условие:

=СРЗНАЧЕСЛИ(A1:A10; "<"&0)

Здесь оператор & соединяет знак "<" и число 0, формируя условие "<0" (без пробела).

Метод 2: Комбинация СУММЕСЛИ и СЧЁТЕСЛИ — надёжный классический способ

Этот метод основан на разделении задачи на два этапа:

  1. Посчитать сумму всех отрицательных чисел (функция СУММЕСЛИ).
  2. Посчитать количество отрицательных чисел (функция СЧЁТЕСЛИ).
  3. Разделить сумму на количество, чтобы получить среднее.

Формула выглядит так:

=СУММЕСЛИ(A1:A10; "<0") / СЧЁТЕСЛИ(A1:A10; "<0")

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

  • 🔹 Точность: не включает нули в расчёт (если использовать условие "<0").
  • 🔹 Гибкость: легко модифицировать для нескольких условий (например, отрицательные числа в определённом диапазоне дат).
  • 🔹 Понятность: логика расчёта прозрачна даже для новичков.

Чтобы избежать ошибки #ДЕЛ/0!, оберните формулу в ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(СУММЕСЛИ(A1:A10; "<0") / СЧЁТЕСЛИ(A1:A10; "<0"); "Нет отрицательных чисел")

Если вам нужно исключить скрытые строки (например, при фильтрации данных), используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ:

=СУММЕСЛИ(диапазон; "<0") / СЧЁТЕСЛИ(диапазон; "<0")

замените на:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9; диапазон_суммы) / ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2; диапазон_счёта)

где 9 — код для функции СУММ, а 2 — для СЧЁТ.

Исключены нули из расчёта (условие "<0", а не "<=0")|Добавлена обработка ошибки #ДЕЛ/0!|Диапазоны в СУММЕСЛИ и СЧЁТЕСЛИ совпадают|Формула скопирована во все нужные ячейки-->

Метод 3: Формулы массива — для сложных условий

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

=СРЗНАЧ(ЕСЛИ(A1:A10<0; A1:A10))
Важно: в Excel 2019 и старше эту формулу нужно вводить как динамический массив (просто нажать Enter). В Excel 2010–2016 требуется нажать Ctrl+Shift+Enter (формула обернётся в фигурные скобки {...}).

Когда использовать формулы массива:

  • 🔹 Нужно применить несколько условий (например, отрицательные числа в определённом квартале).
  • 🔹 Работаете с несмежными диапазонами.
  • 🔹 Требуется динамический результат, который автоматически обновляется при изменении данных.

Пример с двумя условиями (отрицательные числа в диапазоне A1:A10, где соответствующие ячейки в B1:B10 равны "Да"):

=СРЗНАЧ(ЕСЛИ((A1:A10<0) * (B1:B10="Да"); A1:A10))

Критичный нюанс: в формулах массива Excel трактует ИСТИНА/ЛОЖЬ как 1/0. Поэтому умножение условий ((A1:A10<0) * (B1:B10="Да")) работает как логическое И.

⚠️ Внимание: В Excel 365 формулы массива могут значительно замедлять работу книги, если применяются к большим диапазонам (более 10 000 строк). В таких случаях используйте Power Query или сводные таблицы.
Метод Формула Плюсы Минусы Подходит для версий
СРЗНАЧЕСЛИ =СРЗНАЧЕСЛИ(A1:A10; "<0") Простота, одна функция Включает 0, ошибка при отсутствии данных 2007–2023
СУММЕСЛИ/СЧЁТЕСЛИ =СУММЕСЛИ(...) / СЧЁТЕСЛИ(...) Точность, гибкость Две функции, нужна обработка ошибок 2003–2023
Формула массива =СРЗНАЧ(ЕСЛИ(A1:A10<0; A1:A10)) Много условий, динамичность Сложность, медленная на больших данных 2010–2023 (CSE в 2010–2016)
Power Query Фильтрация + группировка Обработка миллионов строк, автоматизация Требует навыков, не динамично 2010–2023 (надстройка в 2010–2013)

Метод 4: Промежуточный столбец — для наглядности

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

  1. Добавьте столбец рядом с исходными данными (например, B).
  2. Введите формулу, которая будет возвращать значение только для отрицательных чисел:
    =ЕСЛИ(A1<0; A1; "")
  3. Растяните формулу на весь диапазон.
  4. Используйте СРЗНАЧ для нового столбца, игнорируя пустые ячейки:
    =СРЗНАЧЕСЛИ(B1:B10; "<>")

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

  • 🔹 Понятность: каждый шаг виден явно.
  • 🔹 Гибкость: можно добавлять дополнительные условия (например, проверять ещё и текстовые метки).
  • 🔹 Удобство отладки: легко проверить, какие именно значения попали в расчёт.

Пример с дополнительным условием (отрицательные числа только для категории "Убыток"):

=ЕСЛИ(И(A1<0; C1="Убыток"); A1; "")

Чтобы скрыть вспомогательный столбец от посторонних глаз, выделите его, нажмите правой кнопкой и выберите Скрыть. Для возврата к исходному виду используйте Формат → Отобразить.

Как скрыть формулы во вспомогательном столбце?

Выделите ячейки с формулами → Перейдите на вкладку Главная → В группе Шрифт нажмите на иконку Формат ячеек (или Ctrl+1) → На вкладке Защита поставьте галочку Скрытый → Защитите лист (Рецензирование → Защитить лист). Теперь формулы будут скрыты, но результат останется видимым.

Метод 5: Power Query — для больших данных

Если вы работаете с тысячами строк или нуждаетесь в автоматизированном процессе, Power Query (доступен в Excel 2016+ как "Получить и преобразовать") станет идеальным решением. Этот инструмент позволяет:

  • 🔹 Фильтровать отрицательные значения за 2 клика.
  • 🔹 Группировать данные по категориям (например, средний убыток по регионам).
  • 🔹 Автоматически обновлять результаты при изменении исходных данных.

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

  1. Выделите исходный диапазон → Данные → Получить данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query выберите столбец с числами → Главная → Фильтр → Числовые фильтры → Меньше... → введите 0.
  3. Добавьте столбец со средним: Преобразовать → Статистика → Среднее (или вручную через Добавить столбец → Пользовательский с формулой = List.Average([YourColumn])).
  4. Нажмите Главная → Закрыть и загрузить.

Плюсы Power Query:

  • 🔹 Обрабатывает миллионы строк без замедления.
  • 🔹 Сохраняет историю преобразований — можно легко изменить логику.
  • 🔹 Интегрируется с Power Pivot для сложного анализа.

Минусы:

  • 🔸 Требует изучения (но окупается при регулярном использовании).
  • 🔸 Результаты не обновляются в реальном времени — нужно нажимать Обновить.

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

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

1. Учёт нулей в расчёте

Если использовать условие "<=0" вместо "<0", в результат попадут нули, что исказит среднее. Например, для диапазона {-2; 0; -4}:

  • =СРЗНАЧЕСЛИ(A1:A3; "<=0") → вернёт -2 (учитывает 0).
  • =СРЗНАЧЕСЛИ(A1:A3; "<0") → вернёт -3 (только отрицательные).

2. Ошибка #ДЕЛ/0! при отсутствии данных

Если в диапазоне нет отрицательных чисел, формулы вроде СУММЕСЛИ/СЧЁТЕСЛИ вернут ошибку. Решение — обернуть в ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(СУММЕСЛИ(A1:A10; "<0")/СЧЁТЕСЛИ(A1:A10; "<0"); 0)

3. Несовпадающие диапазоны в СУММЕСЛИ и СЧЁТЕСЛИ

Ошибка возникает, если в формуле:

=СУММЕСЛИ(A1:A10; "<0") / СЧЁТЕСЛИ(A1:A9; "<0")

здесь диапазоны A1:A10 и A1:A9 не совпадают, что приведёт к некорректному результату.

4. Текстовые значения в диапазоне

Функции СРЗНАЧЕСЛИ и СУММЕСЛИ автоматически игнорируют текст, но формулы массива могут возвращать ошибки. Чтобы очистить данные, используйте:

=ЕСЛИОШИБКА(ЗНАЧЕН(A1); 0)

где ЗНАЧЕН преобразует текстовые числа (например, "-5") в числовой формат.

5. Копирование формул с абсолютными ссылками

Если вы используете абсолютные ссылки (например, $A$1:$A$10), при копировании формулы в другие ячейки диапазон не изменится, что может привести к ошибкам. Решение — использовать смешанные ссылки (например, A$1:A$10) или именованные диапазоны.

FAQ: Частые вопросы

Можно ли посчитать среднее отрицательных чисел по нескольким столбцам?

Да, для этого подойдёт формула массива или комбинация СУММЕСЛИМН/СЧЁТЕСЛИМН. Пример для столбцов A и B:

=СРЗНАЧ(ЕСЛИ((A1:A10<0)+(B1:B10<0); {A1:A10; B1:B10}))

В Excel 365 можно использовать ФИЛЬТР:

=СРЗНАЧ(ФИЛЬТР({A1:A10; B1:B10}; (A1:A10<0)+(B1:B10<0)))
Как исключить из расчёта скрытые строки?

Используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ с кодом 9 (сумма) и 2 (счёт):

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9; A1:A10) / ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2; A1:A10)

Убедитесь, что в настройках фильтра (Данные → Фильтр) скрыты нужные строки.

Почему формула массива возвращает 0, хотя отрицательные числа есть?

Это происходит, если в диапазоне есть текстовые значения или ошибки, которые формула интерпретирует как 0. Решение:

  1. Проверьте данные на наличие текста (например, "-") с помощью =ЕТЕКСТ(A1).
  2. Используйте =ЕСЛИОШИБКА(ЗНАЧЕН(A1); 0) для преобразования текстовых чисел.
Как посчитать среднее отрицательных чисел по дням недели?

Создайте вспомогательный столбец с номером дня недели (например, =ДЕНЬНЕД(A1)), затем используйте СРЗНАЧЕСЛИМН:

=СРЗНАЧЕСЛИМН(A1:A10; A1:A10; "<0"; B1:B10; 2)

где B1:B10 — столбец с днями недели, а 2 — код понедельника.

Можно ли автоматизировать этот расчёт в Google Sheets?

Да, все описанные методы работают и в Google Таблицах, за исключением Power Query (там используется Apps Script). Формулы идентичны, но для массивов не нужно нажимать Ctrl+Shift+Enter — они работают автоматически.