Работа с отрицательными числами в Microsoft Excel — задача, с которой регулярно сталкиваются бухгалтеры, аналитики и даже обычные пользователи при ведении домашнего бюджета. Часто требуется не просто просуммировать все значения в диапазоне, а выделить именно отрицательные: убытки, долги, перерасходы или отклонения от плана. Стандартная функция СУММ здесь не поможет — она складывает всё подряд, игнорируя знаки.
В этой статье мы разберём 5 проверенных способов, как суммировать только отрицательные числа в Excel — от простых формул до продвинутых техник с массивами и пользовательскими функциями. Вы узнаете, какой метод выбрать для больших таблиц, как автоматизировать процесс с помощью условного форматирования и избежать типичных ошибок при работе с данными. Все примеры сопровождаются скриншотами и готовыми шаблонами для копирования.
Особое внимание уделим динамическим диапазонам и новым функциям Excel 365, которые упрощают работу с отрицательными значениями. Если вы никогда не использовали СУММЕСЛИ или ФИЛЬТР, не переживайте — мы объясним всё максимально доступно, без сложной терминологии. А для опытных пользователей подготовлены лайфхаки по оптимизации формул и обработке больших массивов данных.
1. Способ: Функция СУММЕСЛИ для отрицательных чисел
Самый универсальный и понятный метод — использование функции СУММЕСЛИ (SUMIF в английской версии). Она позволяет суммировать ячейки, соответствующие заданному критерию. В нашем случае критерием будет условие "<0" (меньше нуля).
Формула выглядит так:
=СУММЕСЛИ(диапазон; "<0")
Где диапазон — это адреса ячеек, которые вы хотите просуммировать. Например, для столбца A1:A10 формула примет вид:
=СУММЕСЛИ(A1:A10; "<0")
Пример: Предположим, у вас есть данные о доходах и расходах за месяц. Чтобы посчитать сумму всех убытков (отрицательных значений), введите формулу в любую свободную ячейку. Excel автоматически проигнорирует положительные числа и ноль.
- ✅ Простота: не требует знания сложных функций
- ✅ Быстродействие: работает даже с большими диапазонами (до 10 000 строк)
- ⚠️ Ограничение: не поддерживает несколько критериев одновременно (для этого есть
СУММЕСЛИМН)
Если вам нужно суммировать отрицательные числа в нескольких столбцах, просто добавьте ещё одну функцию СУММЕСЛИ для каждого диапазона и сложите результаты:
=СУММЕСЛИ(A1:A10; "<0") + СУММЕСЛИ(B1:B10; "<0")
2. Использование функции СУММПРОИЗВ для гибкой фильтрации
Функция СУММПРОИЗВ (SUMPRODUCT) — это мощный инструмент для работы с массивами данных. Она позволяет умножать элементы нескольких массивов и возвращать сумму произведений. Для суммирования отрицательных чисел мы будем использовать её в комбинации с логическим выражением.
Формула имеет следующий вид:
=СУММПРОИЗВ(--(диапазон<0); диапазон)
Разберём её по частям:
диапазон<0— проверяет каждое значение в диапазоне на условие "меньше нуля". Результатом будет массив изИСТИНА/ЛОЖЬ.--— двойное отрицание преобразуетИСТИНА/ЛОЖЬв1/0(это необходимо для корректной работыСУММПРОИЗВ).СУММПРОИЗВумножает полученные1/0на исходные значения и суммирует результат.
Преимущества метода:
- 🔹 Работает с несоседними диапазонами (например,
A1:A10; C1:C10) - 🔹 Поддерживает несколько условий одновременно
- 🔹 Совместима со всеми версиями Excel, включая Excel 2003
Пример с несколькими условиями: допустим, вам нужно суммировать отрицательные числа, которые ещё и больше -1000. Формула будет такой:
=СУММПРОИЗВ(--(A1:A10<-1000); --(A1:A10<0); A1:A10)
Почему двойное отрицание (--)?
Двойное отрицание -- преобразует логические значения ИСТИНА/ЛОЖЬ в числовые 1/0. Это необходимо, потому что СУММПРОИЗВ работает только с числами, а не с логическими выражениями. Например, если A1=-5, то A1<0 вернёт ИСТИНА, а --(A1<0) вернёт 1.
3. Фильтрация данных перед суммированием
Если вам нужно не только суммировать отрицательные числа, но и визуально их выделить, удобно использовать фильтр. Этот метод подходит для разовых задач, когда не требуется автоматическое обновление результатов.
Пошаговая инструкция:
- Выделите диапазон с данными (включая заголовки столбцов).
- Перейдите на вкладку
Данные→Фильтр(или нажмитеCtrl+Shift+L). - Кликните по стрелочке фильтра в заголовке столбца и выберите
Числовые фильтры→Меньше.... - В поле справа от "
меньше" введите0и нажмитеОК. - Теперь в таблице отобразятся только отрицательные числа. Их сумму можно увидеть в строке состояния Excel (внизу окна) или посчитать с помощью
СУММ.
Этот способ нагляден, но имеет недостатки:
- ❌ Требует ручного включения/выключения фильтра
- ❌ Не подходит для автоматических расчётов (например, в сводных таблицах)
- ❌ Может замедлять работу с очень большими таблицами (>50 000 строк)
Убедитесь, что в данных нет текстовых значений|Проверьте, включены ли заголовки столбцов|Сохраните файл перед фильтрацией (на случай ошибки)|Отмените фильтр после работы (Данные → Фильтр)-->
Для удобства можно создать сводную таблицу, которая будет автоматически группировать и суммировать отрицательные значения. Для этого:
- Выделите исходные данные.
- Перейдите на вкладку
Вставка→Сводная таблица. - В области
Значениядобавьте нужный столбец и выберите функциюСумма. - В области
Фильтрыдобавьте тот же столбец и настройте фильтр "меньше 0".
4. Продвинутый метод: формулы массива (CSE)
Формулы массива (или CSE-formulas, от Ctrl+Shift+Enter) позволяют выполнять вычисления над несколькими значениями одновременно. Для суммирования отрицательных чисел мы будем использовать комбинацию функций СУММ и ЕСЛИ.
Формула выглядит так:
{=СУММ(ЕСЛИ(диапазон<0; диапазон; 0))}
Важно! После ввода формулы нажмите Ctrl+Shift+Enter (вместо обычного Enter). Excel автоматически обернёт её в фигурные скобки {}, что означает работу в режиме массива.
Как это работает:
ЕСЛИ(диапазон<0; диапазон; 0)— проверяет каждое значение. Если оно отрицательное, возвращает само значение; если нет — возвращает0.СУММ— складывает все ненулевые элементы полученного массива.
Пример для диапазона B2:B100:
{=СУММ(ЕСЛИ(B2:B100<0; B2:B100; 0))}
Формулы массива обрабатывают данные в памяти, а не на листе, поэтому они могут быть медленнее при работе с очень большими диапазонами (>100 000 строк). В таких случаях лучше использовать СУММЕСЛИ или СУММПРОИЗВ.
Преимущества метода:
- 📌 Гибкость: можно добавлять несколько условий (например, суммировать отрицательные числа только для определённого продукта)
- 📌 Совместимость: работает во всех версиях Excel
- 📌 Точность: учитывает все нюансы данных (в отличие от фильтра, который может пропустить скрытые строки)
5. Новые функции Excel 365: ФИЛЬТР + СУММ
Если вы используете Microsoft 365 или Excel 2021, у вас есть доступ к новым динамическим функциям массива, таким как ФИЛЬТР (FILTER). Они позволяют упростить формулы и сделать их более читаемыми.
Чтобы суммировать отрицательные числа с помощью ФИЛЬТР, используйте следующую конструкцию:
=СУММ(ФИЛЬТР(диапазон; диапазон<0))
Здесь ФИЛЬТР сначала отбирает все значения меньше нуля, а СУММ складывает их.
Пример: Для диапазона D2:D50 формула будет:
=СУММ(ФИЛЬТР(D2:D50; D2:D50<0))
Преимущества нового подхода:
- 🚀 Простота: не требуется ввод через
Ctrl+Shift+Enter - 🚀 Динамичность: формула автоматически обновляется при изменении данных
- 🚀 Расширяемость: можно добавлять несколько условий, например:
ФИЛЬТР(диапазон; (диапазон<0) * (диапазон>-1000))
Ограничения:
- ⚠️ Доступно только в Excel 365 и Excel 2021
- ⚠️ Может замедлять работу при обработке очень больших массивов (>100 000 строк)
Для наглядности сравним старый и новый методы в таблице:
| Критерий | СУММПРОИЗВ (старый метод) | ФИЛЬТР + СУММ (новый метод) |
|---|---|---|
| Совместимость | Все версии Excel | Только Excel 365/2021 |
| Производительность | Высокая | Средняя (зависит от объёма данных) |
| Читаемость формулы | Сложная для новичков | Интуитивно понятная |
| Поддержка нескольких условий | Да | Да |
| Требует Ctrl+Shift+Enter | Нет | Нет |
6. Пользовательская функция VBA для автоматического суммирования
Если вам часто приходится работать с отрицательными числами, можно создать собственную функцию на языке VBA (Visual Basic for Applications). Это удобно для повторяющихся задач или когда стандартные формулы не справляются.
Инструкция по созданию функции:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - В меню выберите
Insert→Module. - Вставьте следующий код:
Function SumNegatives(rng As Range) As DoubleDim cell As Range
Dim total As Double
total = 0
For Each cell In rng
If cell.Value < 0 Then
total = total + cell.Value
End If
Next cell
SumNegatives = total
End Function
- Закройте редактор VBA.
Теперь в любой ячейке вы можете использовать новую функцию:
=SumNegatives(A1:A100)
Преимущества VBA-решения:
- 🔧 Полная кастомизация: можно добавить дополнительные условия (например, игнорировать ячейки с текстом)
- 🔧 Быстродействие: оптимизированные функции VBA работают быстрее формул массива на больших данных
- 🔧 Повторное использование: однажды написанная функция доступна во всех файлах (если сохранить как надстройку)
Важно! Перед использованием VBA убедитесь, что макросы разрешены в настройках Excel:
- Перейдите в
Файл→Параметры→Центр управления безопасностью→Параметры центра... - Выберите
Включить все макросы(илиОтключить макросы с уведомлениемдля большей безопасности).
Как сохранить функцию для всех книг?
Чтобы функция SumNegatives была доступна во всех файлах Excel, сохраните её в персональной книге макросов. Для этого в редакторе VBA выберите Personal.xlsb в поле Project перед вставкой кода. Если этого файла нет, он создастся автоматически при первом сохранении макроса.
7. Типичные ошибки и как их избежать
При работе с отрицательными числами в Excel пользователи часто сталкиваются с одними и теми же проблемами. Разберём самые распространённые ошибки и способы их решения.
Ошибка 1: Формула возвращает #ЗНАЧ! (или #VALUE!)
- 🔹 Причина: В диапазоне есть текстовые значения или пустые ячейки.
- 🔹 Решение: Используйте функцию
ЕЧИСЛОдля проверки:=СУММЕСЛИ(A1:A10; "<0")или (для формул массива):
{=СУММ(ЕСЛИ(ЕЧИСЛО(A1:A10); ЕСЛИ(A1:A10<0; A1:A10; 0); 0))}
Ошибка 2: Формула игнорирует отрицательные числа в формате текста
- 🔹 Причина: Числа сохранены как текст (например, после импорта из CSV).
- 🔹 Решение: Преобразуйте текст в числа:
- Выделите проблемный диапазон.
- На вкладке
ДанныевыберитеТекст по столбцам→Готово.
Ошибка 3: Неправильный результат при использовании фильтра
- 🔹 Причина: В данных есть скрытые строки или применён другой фильтр.
- 🔹 Решение: Снимите все фильтры (
Данные→Фильтр) или используйте формулы вместо ручной фильтрации.
Ошибка 4: Формула массива не работает
- 🔹 Причина: Забыли нажать
Ctrl+Shift+Enter. - 🔹 Решение: Отредактируйте ячейку, введите формулу заново и подтвердите правильной комбинацией клавиш.
- 🔹 Причина: Вы используете старую версию Excel (до 2021 года).
- 🔹 Решение: Замените
ФИЛЬТРнаСУММЕСЛИилиСУММПРОИЗВ. - Для января используем
СУММЕСЛИМН(так как нужно учитывать и дату, и отрицательную сумму):=СУММЕСЛИМН(C2:C100; A2:A100; ">="&ДАТА(2026;1;1); A2:A100; "<="&ДАТА(2026;1;31); C2:C100; "<0") - Для февраля изменим даты в формуле:
=СУММЕСЛИМН(C2:C100; A2:A100; ">="&ДАТА(2026;2;1); A2:A100; "<="&ДАТА(2026;2;29); C2:C100; "<0")
Ошибка 5: Функция ФИЛЬТР возвращает #ИМЯ?
8. Практический пример: суммирование убытков в бюджете
Рассмотрим реальную задачу: у вас есть таблица с доходами и расходами за год, и вам нужно посчитать общую сумму убытков (отрицательных значений) по каждому месяцу.
Исходные данные:
| Дата | Категория | Сумма (₽) |
|---|---|---|
| 01.01.2026 | Зарплата | 50 000 |
| 05.01.2026 | Продукты | -3 200 |
| 10.01.2026 | Коммунальные услуги | -4 500 |
| 15.02.2026 | Премия | 10 000 |
| 20.02.2026 | Ремонт машины | -15 000 |
Задача: Посчитать сумму убытков за январь и февраль отдельно.
Решение:
Если вам нужно посчитать убытки по категориям (например, только по "Коммунальным услугам"), добавьте ещё одно условие:
=СУММЕСЛИМН(C2:C100; B2:B100; "Коммунальные услуги"; C2:C100; "<0")
Для наглядности можно добавить условное форматирование, чтобы отрицательные числа выделялись красным цветом:
- Выделите диапазон с суммами (например,
C2:C100). - Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - В поле "Форматировать только ячейки с" выберите "
значением" → "меньше" → "0". - Нажмите
Формат, выберите красный цвет текста и нажмитеОК. =SUMIF(A1:A10; "<0")— аналогСУММЕСЛИ=SUMPRODUCT(--(A1:A10<0); A1:A10)— аналогСУММПРОИЗВ=SUM(FILTER(A1:A10; A1:A10<0))— аналог нового метода сФИЛЬТР
FAQ: Частые вопросы по суммированию отрицательных чисел
Можно ли суммировать отрицательные числа в Google Таблицах?
Да, в Google Sheets работают те же принципы, что и в Excel. Вы можете использовать:
Обратите внимание, что в Google Sheets формулы массива не требуют нажатия Ctrl+Shift+Enter — они работают автоматически.
Как суммировать отрицательные числа по цвету ячейки?
Если отрицательные числа выделены определённым цветом (например, красным), можно использовать пользовательскую функцию VBA:
Function SumByColor(rng As Range, color As Range) As Double
Dim cell As Range
Dim total As Double
Dim targetColor As Long
targetColor = color.Interior.Color
total = 0
For Each cell In rng
If cell.Interior.Color = targetColor And IsNumeric(cell.Value) And cell.Value < 0 Then
total = total + cell.Value
End If
Next cell
SumByColor = total
End Function
Чтобы использовать её:
- Выделите ячейку с цветом, по которому нужно фильтровать (например, красную).
- В любой ячейке введите:
=SumByColor(A1:A10; B1), гдеB1— ячейка с образцом цвета.
Почему СУММЕСЛИ не работает с датами?
Функция СУММЕСЛИ корректно обрабатывает даты, если они сохранены в формате даты, а не текста. Проверьте формат ячеек:
- Выделите ячейки с датами.
- Нажмите
Ctrl+1(или правая кнопка →Формат ячеек). - Убедитесь, что выбран формат
Дата(например,14.03.2001).
Если даты хранятся как текст, преобразуйте их с помощью функции ДАТАЗНАЧ:
=СУММЕСЛИ(ДАТАЗНАЧ(A1:A10); "<"&ДАТА(2026;1;1); B1:B10)
Как суммировать отрицательные числа в сводной таблице?
В сводной таблице можно отфильтровать отрицательные значения следующим образом:
- Создайте сводную таблицу на основе ваших данных.
- Добавьте поле с числами в область
Значения(оно автоматически просуммируется). - Добавьте то же поле в область
Фильтры. - Кликните по стрелочке фильтра и выберите
Фильтры по значению→Меньше...→ укажите0.
Теперь сводная таблица будет показывать сумму только отрицательных чисел. Чтобы вернуть все данные, снимите фильтр.
Можно ли суммировать отрицательные числа в Power Query?
Да, в Power Query (инструмент для преобразования данных в Excel) это делается так:
- Выделите ваши данные и нажмите
Данные→Из таблицы/диапазона(илиGet Data→From Table/Range). - В открывшемся редакторе Power Query добавьте столбец с условием:
- Перейдите на вкладку
Добавить столбец→Настраиваемый столбец. - Введите название столбца (например,
IsNegative). - В поле формулы введите:
= if [YourColumn] < 0 then [YourColumn] else 0(заменитеYourColumnна имя вашего столбца).
- Перейдите на вкладку
- Удалите оригинальный столбец с числами (если он больше не нужен).