Работа с отрицательными числами в Microsoft Excel часто вызывает вопросы у пользователей, особенно когда требуется выборочное суммирование только минусовых значений. Типичная ситуация: у вас есть колонка с доходами и расходами, где положительные числа — это поступления, а отрицательные — траты. Как быстро посчитать общую сумму только расходов, игнорируя доходы? Или как найти наибольший убыток в списке транзакций?
В этой статье мы разберём 5 проверенных методов — от простых формул до продвинутых приёмов с условным форматированием и Power Query. Вы узнаете, как избежать распространённых ошибок (например, когда формула СУММЕСЛИ не срабатывает на отрицательные критерии), и научитесь автоматизировать процесс для больших массивов данных. Все решения протестированы в Excel 2010–2026 и Excel Online.
Особое внимание уделим скрытым ловушкам: почему функция СУММ может давать неверный результат при ручной фильтрации, как правильно задавать диапазоны в формулах с несколькими условиями, и что делать, если в данных есть текстовые ячейки или ошибки #ЗНАЧ!. Для наглядности приведём сравнительную таблицу методов с плюсами и минусами каждого.
1. Базовый метод: функция СУММЕСЛИ для отрицательных чисел
Самый универсальный способ — использовать функцию СУММЕСЛИ (или SUMIF в английской версии). Она позволяет суммировать ячейки, которые соответствуют заданному условию. Для отрицательных чисел критерием будет знак "<" (меньше) с нулём.
Формула выглядит так:
=СУММЕСЛИ(диапазон; "<0")
Где диапазон — это столбец или строка с числами, которые нужно просуммировать.
Пример: если ваши данные находятся в столбце B2:B100, формула будет:
=СУММЕСЛИ(B2:B100; "<0")
- ✅ Плюсы: работает во всех версиях Excel, не требует дополнительных столбцов.
- ⚠️ Минусы: не учитывает ячейки с текстом или ошибками (их придётся чистить заранее).
- 🔄 Альтернатива: для английской версии Excel используйте
=SUMIF(B2:B100, "<0").
⚠️ Внимание: Если в диапазоне есть пустые ячейки,СУММЕСЛИпроигнорирует их автоматически. Но если ячейка содержит текст (например, "Н/Д"), формула вернёт ошибку. Чтобы избежать этого, предварительно отфильтруйте данные или используйте функциюЕЧИСЛО.
2. Продвинутое суммирование: СУММЕСЛИМН для нескольких условий
Если нужно суммировать отрицательные числа с дополнительными критериями (например, только убытки за конкретный месяц или по определённому отделу), используйте функцию СУММЕСЛИМН (англ. SUMIFS). Она позволяет задавать несколько условий одновременно.
Синтаксис:
=СУММЕСЛИМН(диапазон_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; ...)
Пример: суммируем отрицательные числа в столбце B, но только для строк, где в столбце A указан "Январь":
=СУММЕСЛИМН(B2:B100; B2:B100; "<0"; A2:A100; "Январь")
| Задача | Формула | Пример |
|---|---|---|
| Сумма всех отрицательных чисел | =СУММЕСЛИ(B2:B100; "<0") | =SUMIF(B2:B100, "<0") |
| Сумма отрицательных чисел за январь | =СУММЕСЛИМН(B2:B100; B2:B100; "<0"; A2:A100; "Январь") | =SUMIFS(B2:B100, B2:B100, "<0", A2:A100, "Jan") |
| Сумма отрицательных чисел > -1000 | =СУММЕСЛИМН(B2:B100; B2:B100; ">=-1000"; B2:B100; "<0") | =SUMIFS(B2:B100, B2:B100, ">=-1000", B2:B100, "<0") |
Обратите внимание: в СУММЕСЛИМН первым аргументом всегда идёт диапазон суммирования, а затем пары "диапазон условия + само условие". Это отличается от СУММЕСЛИ, где диапазон суммирования указывается вторым.
3. Альтернативный подход: фильтрация + функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ
Если вам нужно визуально увидеть отрицательные числа перед суммированием, используйте фильтрацию:
- Выделите диапазон с данными (включая заголовки).
- Нажмите
Данные → Фильтр(илиCtrl+Shift+L). - Откройте выпадающий список в столбце с числами →
Числовые фильтры → Меньше чем→ укажите0. - Теперь отображаются только отрицательные значения. Чтобы их суммировать, используйте
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9; B2:B100), где9— это код функцииСУММ.
Преимущество этого метода в том, что вы видите отфильтрованные данные и можете дополнительно проверить их перед суммированием. Однако есть нюанс: если вы скопируете отфильтрованные ячейки в другое место, формула ПРОМЕЖУТОЧНЫЕ.ИТОГИ перестанет работать корректно, так как она учитывает только видимые строки.
⚠️ Внимание: Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ игнорирует строки, скрытые вручную (через правый клик → "Скрыть"). Чтобы этого избежать, используйте фильтрацию вместо ручного скрытия.
Убедиться, что в диапазоне нет текстовых ячеек|Проверить формат чисел (не даты!)|Отфильтровать ненужные строки|Использовать ПРОМЕЖУТОЧНЫЕ.ИТОГИ для динамического подсчёта-->
4. Формулы массива: СУММПРОИЗВ для сложных условий
Для опытных пользователей подойдёт функция СУММПРОИЗВ (англ. SUMPRODUCT). Она позволяет суммировать значения с несколькими условиями без создания дополнительных столбцов. Например, чтобы просуммировать отрицательные числа в диапазоне B2:B100, используйте:
=СУММПРОИЗВ(--(B2:B100<0); B2:B100)
Разберём, как это работает:
B2:B100<0— создаёт массив изИСТИНА/ЛОЖЬ, гдеИСТИНАсоответствует отрицательным числам.--(двойной минус) преобразуетИСТИНА/ЛОЖЬв1/0.СУММПРОИЗВперемножает массивы и возвращает сумму.
Этот метод полезен, если нужно комбинировать условия. Например, сумма отрицательных чисел, которые по модулю больше 500:
=СУММПРОИЗВ(--(B2:B100<0); --(ABS(B2:B100)>500); B2:B100)
Почему СУММПРОИЗВ лучше СУММЕСЛИМН в некоторых случаях?
СУММПРОИЗВ не требует указания диапазонов условий отдельно — все критерии задаются в одной формуле. Кроме того, она работает с динамическими массивами (в Excel 365), что упрощает обработку больших данных. Однако для новичков её синтаксис может быть менее интуитивным.
5. Автоматизация с Power Query (для больших данных)
Если вы работаете с тысячами строк, ручные формулы могут тормозить. В этом случае поможет Power Query — инструмент для обработки и трансформации данных. Алгоритм действий:
- Выделите диапазон →
Данные → Из таблицы/диапазона(илиGet & Transform Data → From Table/Rangeв английской версии). - В открывшемся редакторе Power Query выберите столбец с числами →
Главная → Фильтр → Числовые фильтры → Меньше чем→ укажите0. - Нажмите
Закрыть и загрузить в...→ выберите "Только создать связь" или "Новый лист". - В Excel появится таблица только с отрицательными числами. Теперь можно использовать простую
СУММ.
Преимущества Power Query:
- 🚀 Обрабатывает миллионы строк без замедления.
- 🔄 Автоматически обновляет данные при изменении исходного диапазона.
- 📊 Позволяет добавлять дополнительные трансформации (например, группировку по месяцам).
Power Query — единственный метод, который гарантированно справится с файлами размером более 100 МБ, где формулы начинают "подвисать".
6. Ошибки и решения: почему формулы не работают
Даже опытные пользователи сталкиваются с проблемами при суммировании отрицательных чисел. Рассмотрим типичные ошибки и способы их исправления:
| Проблема | Причина | Решение |
|---|---|---|
Формула возвращает 0, хотя отрицательные числа есть | Ячейки отформатированы как текст | Выделите диапазон → Главная → Формат → Формат ячеек → Числовой |
#ЗНАЧ! в СУММЕСЛИ | Критерий задан без кавычек (например, =СУММЕСЛИ(A1:A10; <0)) | Добавьте кавычки: =СУММЕСЛИ(A1:A10; "<0") |
| Сумма неверная при ручной фильтрации | Формула не учитывает скрытые строки | Используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9; диапазон) вместо СУММ |
СУММЕСЛИМН игнорирует условие | Неправильный порядок аргументов | Первым аргументом должен быть диапазон суммирования, а не условия |
Если ни один из методов не сработал, проверьте:
- 🔍 Наличие скрытых символов (пробелов, неразрывных пробелов) в ячейках. Используйте
=ПРОБЕЛЫ(A1)для очистки. - 📏 Диапазоны в формулах: убедитесь, что они не включают заголовки или пустые строки.
- 🔢 Формат чисел: иногда отрицательные значения отображаются как
#ЗНАЧ!из-за неверного регионального формата (например, разделитель дробной части — запятая вместо точки).
FAQ: Частые вопросы по суммированию отрицательных чисел
Можно ли суммировать отрицательные числа в Google Таблицах?
Да, в Google Sheets работают те же формулы:
=SUMIF(B2:B100; "<0")— аналогСУММЕСЛИ.=QUERY(B2:B100; "SELECT SUM(B) WHERE B < 0")— альтернатива черезQUERY.
Отличие от Excel: в Google Таблицах нет функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ, но можно использовать =SUBTOTAL(9; B2:B100) для видимых ячеек.
Как найти самое большое отрицательное число в диапазоне?
Используйте формулу массива:
=МАКС(ЕСЛИ(B2:B100<0; B2:B100))
В Excel 365 или 2021 можно упростить:
=МАКС(ФИЛЬТР(B2:B100; B2:B100<0))
Если формула возвращает 0, добавьте обработку ошибок:
=ЕСЛИОШИБКА(МАКС(ЕСЛИ(B2:B100<0; B2:B100)); "")
Как посчитать количество отрицательных чисел?
Используйте СЧЁТЕСЛИ:
=СЧЁТЕСЛИ(B2:B100; "<0")
Для нескольких условий (например, отрицательные числа в январе):
=СЧЁТЕСЛИМН(B2:B100; B2:B100; "<0"; A2:A100; "Январь")
Можно ли суммировать отрицательные числа по цвету ячейки?
Да, но для этого потребуется VBA-макрос, так как стандартные функции Excel не умеют работать с цветами. Альтернатива:
- Добавьте вспомогательный столбец с формулой, определяющей цвет (например,
=ЕСЛИ(УСЛОВНОЕ_ФОРМАТИРОВАНИЕ_ЦВЕТ(A1)=3; 1; 0)). - Используйте
СУММПРОИЗВдля суммирования по этому столбцу.
Для автоматизации создайте макрос:
Function SumByColor(rng As Range, color As Range) As Double
Dim cl As Range, sum As Double
sum = 0
For Each cl In rng
If cl.Interior.Color = color.Interior.Color Then
sum = sum + cl.Value
End If
Next cl
SumByColor = sum
End Function
Вызывайте его как =SumByColor(B2:B100; D2), где D2 — ячейка с образцом цвета.
Как суммировать отрицательные числа в сводной таблице?
Сводная таблица автоматически группирует данные, но не умеет фильтровать по знаку. Решение:
- Добавьте в исходные данные вспомогательный столбец с формулой
=ЕСЛИ(B2<0; "Отрицательное"; "Положительное"). - Создайте сводную таблицу, где этот столбец будет фильтром.
- Отфильтруйте по значению "Отрицательное" и посчитайте сумму.
Альтернатива: используйте ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (англ. GETPIVOTDATA) с дополнительным условием.