Введение: зачем нужна функция SUMIFS и чем она лучше SUMIF
Если вы регулярно работаете с большими массивами данных в Microsoft Excel или Google Sheets, то наверняка сталкивались с задачей суммирования значений, соответствующих определённым критериям. Для простых условий подходит функция SUMIF, но что делать, когда нужно учитывать сразу несколько параметров? Здесь на помощь приходит SUMIFS — мощный инструмент, который позволяет суммировать данные с учётом неограниченного количества условий.
В отличие от SUMIF, которая работает только с одним критерием, SUMIFS анализирует несколько диапазонов и условий одновременно. Например, вы можете посчитать общую выручку от продаж конкретного товара в определённом регионе за последний квартал — всё в одной формуле. Эта функция незаменима для финансового анализа, отчётности, инвентаризации и других задач, где требуется гибкая фильтрация данных перед суммированием.
В этой статье мы разберём синтаксис SUMIFS, покажем практические примеры её применения (включая сложные случаи с подстановочными знаками и динамическими диапазонами), а также расскажем о типичных ошибках и способах их устранения. Если вы хотите перестать вручную фильтровать таблицы перед подсчётами — этот материал для вас.
Синтаксис функции SUMIFS: разбираем аргументы по порядку
Формула SUMIFS имеет следующий базовый синтаксис:
=SUMIFS(диапазон_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; ...)
Давайте подробно разберём каждый аргумент:
- 📌 диапазон_суммирования — это те ячейки, значения которых вы хотите сложить. Обязательный аргумент.
- 🔍 диапазон_условия1 — диапазон, в котором будет проверяться условие1. Должен быть того же размера, что и
диапазон_суммирования. - ✅ условие1 — критерий, по которому отбираются данные для суммирования. Может быть числом, текстом, выражением или ссылкой на ячейку.
- ➕ [диапазон_условия2; условие2]; ... — дополнительные пары диапазонов и условий (до 127 пар в современных версиях Excel). Необязательные аргументы.
Важный нюанс: SUMIFS суммирует только те значения в диапазоне_суммирования, для которых ВСЕ указанные условия выполняются одновременно (логическое И). Если хотя бы одно условие не соблюдается — ячейка игнорируется.
⚠️ Внимание: В отличие отSUMIF, где сначала идёт диапазон условий, а затем диапазон суммирования, вSUMIFSпорядок аргументов обратный. Это частая причина ошибок при переходе с одной функции на другую!
Простые примеры использования SUMIFS
Рассмотрим базовые сценарии применения функции на примере таблицы продаж:
| Дата | Регион | Товар | Количество | Сумма, ₽ |
|---|---|---|---|---|
| 10.01.2026 | Москва | Ноутбук | 5 | 250 000 |
| 11.01.2026 | СПб | Монитор | 10 | 80 000 |
| 12.01.2026 | Москва | Ноутбук | 3 | 150 000 |
| 13.01.2026 | Казань | Клавиатура | 20 | 20 000 |
| 14.01.2026 | Москва | Монитор | 8 | 64 000 |
Пример 1. Сумма продаж ноутбуков в Москве:
=SUMIFS(E2:E6; C2:C6; "Ноутбук"; B2:B6; "Москва")
Результат: 400 000 ₽ (250 000 + 150 000).
Пример 2. Сумма продаж мониторов за 11–13 января:
=SUMIFS(E2:E6; A2:A6; ">10.01.2026"; A2:A6; "<14.01.2026"; C2:C6; "Монитор")
Результат: 80 000 ₽ (только строка от 11.01).
Продвинутые приёмы: подстановочные знаки, массивы и динамические диапазоны
Функция SUMIFS поддерживает подстановочные знаки и работу с массивами, что значительно расширяет её возможности. Вот несколько продвинутых техник:
- 🌟 Подстановочные знаки: В текстовых условиях можно использовать
(любое количество символов) и?(один символ). Например,SUMIFS(..., C2:C6, "Ноутбук")найдёт "Ноутбук Pro", "Ноутбук 15" и т.д. - 📊 Динамические диапазоны: Вместо фиксированных ссылок используйте
TABLE[Column]для работы с умными таблицами илиOFFSETдля динамического определения границ. - 🔢 Условия-массивы: Можно передавать массивы условий, например:
SUMIFS(..., B2:B6, {"Москва";"СПб"})— суммирует данные для обоих регионов. - 📅 Дата и время: Для фильтрации по датам удобно использовать функции
TODAY(),EOMONTH()и другие. Пример:SUMIFS(..., A2:A6, ">="&TODAY()-30)— продажи за последние 30 дней.
Пример с подстановочными знаками: Сумма продаж всех товаров, содержащих слово "бук" (ноутбуки, нетбуки и т.д.) в январе 2026:
=SUMIFS(E2:E6; C2:C6; "бук"; A2:A6; ">01.01.2026"; A2:A6; "<32.01.2026")
Пример с массивом условий: Сумма продаж в Москве и Казани за январь:
=SUMIFS(E2:E6; B2:B6; {"Москва";"Казань"}; A2:A6; ">01.01.2026"; A2:A6; "<32.01.2026")
Убедиться, что диапазоны условий и суммирования одинакового размера
Проверить формат данных (даты как даты, числа как числа)
Исключить пустые строки или столбцы в диапазонах
Заменить ошибки (#N/A, #VALUE!) на 0, если они мешают расчётам-->
Типичные ошибки и как их избежать
Даже опытные пользователи Excel иногда сталкиваются с проблемами при работе с SUMIFS. Вот наиболее распространённые ошибки и способы их решения:
| Ошибка | Причина | Решение |
|---|---|---|
#VALUE! | Диапазоны разного размера | Проверьте, что все диапазоны имеют одинаковое количество строк и столбцов |
#DIV/0! | Деление на ноль в условии | Используйте IFERROR или проверку на ноль |
| Некорректный результат | Текстовые данные сравниваются с учётом регистра | Приведите данные к единому регистру функцией UPPER или LOWER |
| Формула не обновляется | Диапазоны зафиксированы абсолютными ссылками ($A$1:$A$10) | Используйте относительные или смешанные ссылки по необходимости |
| Медленная работа | Слишком много условий или большие диапазоны | Оптимизируйте формулу или используйте сводные таблицы |
Разбор ошибки #VALUE!: Чаще всего эта ошибка возникает, когда диапазон суммирования и диапазон первого условия не совпадают по размеру. Например, если диапазон_суммирования — это E2:E10 (9 строк), а диапазон_условия1 — B2:B8 (7 строк), Excel вернёт ошибку. Всегда проверяйте границы диапазонов!
⚠️ Внимание: Если в диапазоне условий есть пустые ячейки, они воспринимаются как0(для чисел) или""(для текста). Это может исказить результат, если вы не учли пустые значения в логике условий.
SUMIFS vs. другие функции суммирования: что выбрать?
Excel предлагает несколько функций для суммирования с условиями. Вот сравнительная таблица, которая поможет выбрать подходящий инструмент:
| Функция | Количество условий | Логика | Когда использовать |
|---|---|---|---|
SUMIF | 1 | Простое условие | Суммирование по одному критерию |
SUMIFS | 1–127 | Логическое И (все условия должны выполняться) | Сложные фильтры с несколькими критериями |
SUMPRODUCT | Неограниченно | Логическое И/ИЛИ (зависит от формулы) | Гибкие расчёты с массивами, когда нужна альтернатива SUMIFS |
DSUM | Неограниченно | Логическое И | Работа с базой данных (устаревший метод, лучше использовать SUMIFS) |
FILTER + SUM | Неограниченно | Любая логика | Excel 365/2021 для динамических фильтров |
Когда выбрать SUMIFS:
- 📋 Нужно суммировать данные с несколькими условиями (например, регион + категория товара + дата).
- 🔄 Требуется логическое И (все условия должны выполняться одновременно).
- 📊 Данные структурированы в виде таблицы с чёткими столбцами.
Когда выбрать SUMPRODUCT:
- 🧮 Нужна более сложная логика (например, условия ИЛИ или неравенства).
- 📈 Требуется умножать значения перед суммированием (например, цена × количество).
- 🔄 Нужно работать с неструктурированными данными или массивами.
Пример использования SUMPRODUCT вместо SUMIFS
Если вам нужно суммировать продажи ноутбуков ИЛИ мониторов в Москве, SUMIFS не подойдёт (она реализует только логическое И). Вместо неё используйте:
=SUMPRODUCT(E2:E6; --((B2:B6="Москва")*(C2:C6="Ноутбук" OR C2:C6="Монитор")))
Здесь OR можно заменить на + (сложение), а AND — на * (умножение).
Оптимизация производительности: как ускорить работу SUMIFS
Если ваша таблица содержит десятки тысяч строк, формулы с SUMIFS могут заметно тормозить. Вот несколько советов для оптимизации:
- 🚀 Используйте умные таблицы: Преобразуйте диапазон в таблицу (
Ctrl+T) и ссылайтесь на столбцы по имени (например,Таблица1[Сумма]). Это ускорит пересчёт. - 📉 Сокращайте диапазоны: Вместо
A:Aуказывайте точный диапазон (A2:A1000). Избегайте ссылок на целые столбцы. - 🔄 Отключите автоматический пересчёт: Перейдите в
Формулы → Параметры вычислений → Вручнуюи обновляйте данные по кнопкеF9. - 🗃️ Используйте сводные таблицы: Для сложных отчётов сводная таблица часто работает быстрее, чем множество формул
SUMIFS. - 🔗 Замените ссылки на значения: Если условия статичные, замените ссылки на ячейки непосредственно значениями (например,
"Москва"вместоB1).
Пример оптимизированной формулы:
Вместо:
=SUMIFS($E:$E; $A:$A; ">01.01.2026"; $B:$B; "Москва"; $C:$C; "Ноутбук")
Используйте:
=SUMIFS(E2:E1000; A2:A1000; ">01.01.2026"; B2:B1000; "Москва"; C2:C1000; "Ноутбук")
=SUMIFS(Лист2:Лист10!E2:E1000; Лист2:Лист10!B2:B1000; "Москва")
Это суммирует значения со всех листов от Лист2 до Лист10 включительно.-->
Практические кейсы: реальные задачи с SUMIFS
Рассмотрим несколько реальных сценариев, где SUMIFS оказывается незаменимой:
Кейс 1. Финансовая отчётность: Подсчёт расходов по статье "Реклама" за текущий квартал, исключая суммы меньше 10 000 ₽.
=SUMIFS(Rasxody!E2:E1000; Rasxody!C2:C1000; "Реклама"; Rasxody!A2:A1000; ">="&DATE(YEAR(TODAY()); MONTH(TODAY())-2; 1); Rasxody!A2:A1000; "<="&EOMONTH(TODAY(); 0); Rasxody!E2:E1000; ">10000")
Кейс 2. Учёт товарных остатков: Суммарное количество товара на складе, у которого истекает срок годности через месяц.
=SUMIFS(Sklad!D2:D500; Sklad!E2:E500; "<="&EOMONTH(TODAY(); 1); Sklad!E2:E500; ">="&TODAY())
Кейс 3. Анализ продаж: Выручка от premium-продуктов (название содержит "Premium" или "Pro") в определённом регионе.
=SUMIFS(Prodazhi!F2:F1000; Prodazhi!B2:B1000; "Москва"; Prodazhi!C2:C1000; {"Premium";"Pro"})
FAQ: ответы на частые вопросы о SUMIFS
Можно ли в SUMIFS использовать условия с логическим ИЛИ?
Нет, SUMIFS реализует только логическое И (все условия должны выполняться одновременно). Для логического ИЛИ используйте:
- Функцию
SUMPRODUCTс оператором+(сложение). - Несколько функций
SUMIFSи сложите их результаты. - В Excel 365/2021 — комбинацию
FILTER+SUM.
Пример: =SUMIFS(...) + SUMIFS(...).
Как суммировать данные по частичному совпадению текста?
Используйте подстановочные знаки * (любое количество символов) и ? (один символ). Например:
=SUMIFS(E2:E100; C2:C100; "бук")
Эта формула суммирует все строки, где в столбце C есть слово с сочетанием "бук" (ноутбук, нетбук и т.д.).
Почему SUMIFS возвращает 0, хотя данные есть?
Возможные причины:
- Формат данных не совпадает (например, текст сравнивается с числом).
- В условиях есть скрытые пробелы или непечатаемые символы (используйте
TRIMиCLEAN). - Диапазоны условий и суммирования не совпадают по размеру.
- Условия слишком строгие (проверьте регистр или формат дат).
Для диагностики добавьте в таблицу вспомогательный столбец с проверкой условия (например, =B2="Москва") и посмотрите, где возвращается ЛОЖЬ.
Можно ли использовать SUMIFS для работы с несколькими листами?
Да, но с оговорками:
- Для листов с одинаковой структурой используйте
3D-ссылки:
=SUMIFS(Лист1:Лист5!E2:E100; Лист1:Лист5!B2:B100; "Москва")
Power Query или сводной таблицы.Обратите внимание: 3D-ссылки не работают с умными таблицами (Table).
Как суммировать данные по динамически изменяющемуся диапазону?
Используйте одну из следующих техник:
- Умные таблицы: Ссылайтесь на столбцы по имени (например,
Таблица1[Сумма]). Диапазон будет расширяться автоматически. - Функция OFFSET:
=SUMIFS(OFFSET(E2; 0; 0; COUNTA(E:E)-1); OFFSET(B2; 0; 0; COUNTA(E:E)-1); "Москва") - Динамические массивы (Excel 365): Используйте
FILTER+SUM:
=SUM(FILTER(E2:E100; (B2:B100="Москва")*(C2:C100="Ноутбук")))