Работа с отрицательными числами в Microsoft Excel часто вызывает вопросы у пользователей, особенно когда требуется выборочный анализ данных. Представьте ситуацию: у вас есть колонка с финансовыми показателями, где красные цифры обозначают убытки, а вам нужно узнать средний размер убытка — игнорируя все положительные значения. Или анализируете температурные колебания, где отрицательные значения указывают на морозы, и требуется их усредненное значение.
В этой статье мы разберем 5 рабочих методов расчета среднего арифметического только для отрицательных чисел — от простых формул до продвинутых массивов. Вы узнаете, как обойти стандартные ограничения функции СРЗНАЧ, почему СРЗНАЧЕСЛИ не всегда подходит для этой задачи, и как автоматизировать процесс с помощью Power Query. Все примеры адаптированы для Excel 2010–2023 и Excel Online.
Особое внимание уделим типичным ошибкам, которые допускают даже опытные пользователи: почему формула возвращает #ДЕЛ/0!, как избежать учета нулевых значений, и что делать, если в диапазоне нет отрицательных чисел. Для наглядности приведём сравнительную таблицу всех методов с их плюсами и минусами — это поможет выбрать оптимальный вариант для вашей задачи.
Если вы работаете с большими массивами данных, то раздел про динамические массивы (доступны с Excel 365) покажет, как упростить формулы и сделать их более гибкими. А для тех, кто предпочитает визуальные инструменты, мы подготовили инструкцию по созданию сводной таблицы с фильтрацией по отрицательным значениям.
Почему стандартная функция СРЗНАЧ не подходит
Функция СРЗНАЧ в 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: Комбинация СУММЕСЛИ и СЧЁТЕСЛИ — надёжный классический способ
Этот метод основан на разделении задачи на два этапа:
- Посчитать сумму всех отрицательных чисел (функция
СУММЕСЛИ). - Посчитать количество отрицательных чисел (функция
СЧЁТЕСЛИ). - Разделить сумму на количество, чтобы получить среднее.
Формула выглядит так:
=СУММЕСЛИ(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: Промежуточный столбец — для наглядности
Если вам важна прозрачность расчётов или вы работаете с командой, где не все знают продвинутые функции, лучший вариант — создать вспомогательный столбец с фильтрацией. Алгоритм:
- Добавьте столбец рядом с исходными данными (например,
B). - Введите формулу, которая будет возвращать значение только для отрицательных чисел:
=ЕСЛИ(A1<0; A1; "") - Растяните формулу на весь диапазон.
- Используйте
СРЗНАЧдля нового столбца, игнорируя пустые ячейки:=СРЗНАЧЕСЛИ(B1:B10; "<>")
Преимущества метода:
- 🔹 Понятность: каждый шаг виден явно.
- 🔹 Гибкость: можно добавлять дополнительные условия (например, проверять ещё и текстовые метки).
- 🔹 Удобство отладки: легко проверить, какие именно значения попали в расчёт.
Пример с дополнительным условием (отрицательные числа только для категории "Убыток"):
=ЕСЛИ(И(A1<0; C1="Убыток"); A1; "")
Чтобы скрыть вспомогательный столбец от посторонних глаз, выделите его, нажмите правой кнопкой и выберите
Выделите ячейки с формулами → Перейдите на вкладку Скрыть. Для возврата к исходному виду используйте Формат → Отобразить.
Как скрыть формулы во вспомогательном столбце?
Главная → В группе Шрифт нажмите на иконку Формат ячеек (или Ctrl+1) → На вкладке Защита поставьте галочку Скрытый → Защитите лист (Рецензирование → Защитить лист). Теперь формулы будут скрыты, но результат останется видимым.
Метод 5: Power Query — для больших данных
Если вы работаете с тысячами строк или нуждаетесь в автоматизированном процессе, Power Query (доступен в Excel 2016+ как "Получить и преобразовать") станет идеальным решением. Этот инструмент позволяет:
- 🔹 Фильтровать отрицательные значения за 2 клика.
- 🔹 Группировать данные по категориям (например, средний убыток по регионам).
- 🔹 Автоматически обновлять результаты при изменении исходных данных.
Пошаговая инструкция:
- Выделите исходный диапазон →
Данные → Получить данные → Из таблицы/диапазона. - В открывшемся редакторе Power Query выберите столбец с числами →
Главная → Фильтр → Числовые фильтры → Меньше...→ введите0. - Добавьте столбец со средним:
Преобразовать → Статистика → Среднее(или вручную черезДобавить столбец → Пользовательскийс формулой= List.Average([YourColumn])). - Нажмите
Главная → Закрыть и загрузить.
Плюсы Power Query:
- 🔹 Обрабатывает миллионы строк без замедления.
- 🔹 Сохраняет историю преобразований — можно легко изменить логику.
- 🔹 Интегрируется с Power Pivot для сложного анализа.
Минусы:
Даже опытные пользователи Excel допускают ошибки при расчёте среднего для отрицательных чисел. Вот самые распространённые:
1. Учёт нулей в расчёте
Если использовать условие 2. Ошибка #ДЕЛ/0! при отсутствии данных
Если в диапазоне нет отрицательных чисел, формулы вроде 3. Несовпадающие диапазоны в СУММЕСЛИ и СЧЁТЕСЛИ
Ошибка возникает, если в формуле:
здесь диапазоны 4. Текстовые значения в диапазоне
Функции где 5. Копирование формул с абсолютными ссылками
Если вы используете абсолютные ссылки (например, Да, для этого подойдёт формула массива или комбинация В Excel 365 можно использовать Используйте функцию Убедитесь, что в настройках фильтра ( Это происходит, если в диапазоне есть текстовые значения или ошибки, которые формула интерпретирует как 0. Решение:
Создайте вспомогательный столбец с номером дня недели (например, где Да, все описанные методы работают и в Google Таблицах, за исключением Power Query (там используется Apps Script). Формулы идентичны, но для массивов не нужно нажимать
Обновить.Типичные ошибки и как их избежать
"<=0" вместо "<0", в результат попадут нули, что исказит среднее. Например, для диапазона {-2; 0; -4}:
=СРЗНАЧЕСЛИ(A1:A3; "<=0") → вернёт -2 (учитывает 0).=СРЗНАЧЕСЛИ(A1:A3; "<0") → вернёт -3 (только отрицательные).СУММЕСЛИ/СЧЁТЕСЛИ вернут ошибку. Решение — обернуть в ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(СУММЕСЛИ(A1:A10; "<0")/СЧЁТЕСЛИ(A1:A10; "<0"); 0)=СУММЕСЛИ(A1:A10; "<0") / СЧЁТЕСЛИ(A1:A9; "<0")A1:A10 и A1:A9 не совпадают, что приведёт к некорректному результату.СРЗНАЧЕСЛИ и СУММЕСЛИ автоматически игнорируют текст, но формулы массива могут возвращать ошибки. Чтобы очистить данные, используйте:
=ЕСЛИОШИБКА(ЗНАЧЕН(A1); 0)ЗНАЧЕН преобразует текстовые числа (например, "-5") в числовой формат.$A$1:$A$10), при копировании формулы в другие ячейки диапазон не изменится, что может привести к ошибкам. Решение — использовать смешанные ссылки (например, A$1:A$10) или именованные диапазоны.
FAQ: Частые вопросы
Можно ли посчитать среднее отрицательных чисел по нескольким столбцам?
СУММЕСЛИМН/СЧЁТЕСЛИМН. Пример для столбцов A и B:
=СРЗНАЧ(ЕСЛИ((A1:A10<0)+(B1:B10<0); {A1:A10; B1:B10}))ФИЛЬТР:=СРЗНАЧ(ФИЛЬТР({A1:A10; B1:B10}; (A1:A10<0)+(B1:B10<0)))Как исключить из расчёта скрытые строки?
ПРОМЕЖУТОЧНЫЕ.ИТОГИ с кодом 9 (сумма) и 2 (счёт):
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9; A1:A10) / ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2; A1:A10)Данные → Фильтр) скрыты нужные строки.Почему формула массива возвращает 0, хотя отрицательные числа есть?
=ЕТЕКСТ(A1).=ЕСЛИОШИБКА(ЗНАЧЕН(A1); 0) для преобразования текстовых чисел.Как посчитать среднее отрицательных чисел по дням недели?
=ДЕНЬНЕД(A1)), затем используйте СРЗНАЧЕСЛИМН:
=СРЗНАЧЕСЛИМН(A1:A10; A1:A10; "<0"; B1:B10; 2)B1:B10 — столбец с днями недели, а 2 — код понедельника.Можно ли автоматизировать этот расчёт в Google Sheets?
Ctrl+Shift+Enter — они работают автоматически.