Как суммировать ячейки с определенным текстом в Excel: от простых до сложных условий

Почему стандартное суммирование не работает с текстом

Вы когда-нибудь пытались сложить числа в Microsoft Excel, но только те, что находятся рядом с определенным словом? Например, суммировать все продажи по товару «яблоки», игнорируя «груши» и «бананы»? Стандартная функция =СУММ() здесь бессильна — она просто сложит все числа в диапазоне, не обращая внимания на соседний текст. А если текст и числа перемешаны в одной колонке? Тут уже нужны специальные приемы.

В этой статье мы разберем 5 рабочих способов суммировать ячейки с учетом текстового критерия — от простейших формул до комбинаций с регулярными выражениями. Вы узнаете, как:

  • 🔍 Суммировать строки, где текст точно совпадает с образцом (например, «Оплата наличными»)
  • 📝 Учитывать частичные совпадения (например, все ячейки, содержащие слово «онлайн»)
  • 🔄 Комбинировать несколько текстовых условий (например, «Москва» И «2026 год»)
  • 📊 Суммировать данные из разных листов или книг

Особое внимание уделим распространенной ошибке с регистром букв — почему формула может не сработать, если в критерии указано «Продукты», а в ячейке написано «продукты» (с маленькой буквы). И конечно, покажем, как этого избежать.

Способ 1: Функция SUMIF для точного совпадения текста

Начнем с самого простого — когда нужно суммировать числа, если в соседней колонке точный текст. Допустим, у вас таблица продаж с колонками «Товар» (текст) и «Сумма» (числа). Задача: посчитать общую выручку только по товару «Ноутбук».

Используем функцию =СУММЕСЛИ() (англ. SUMIF):

=СУММЕСЛИ(диапазон_с_текстом; "критерий"; диапазон_для_суммирования)

Пример для нашей таблицы:

=СУММЕСЛИ(B2:B10; "Ноутбук"; C2:C10)
ТоварКоличествоСумма, ₽
Ноутбук5250 000
Монитор896 000
Ноутбук3150 000
Клавиатура1224 000

Результат: 400 000 ₽ (сумма только строк с «Ноутбук»).

⚠️ Внимание: Если в ячейке есть лишние пробелы (например, « Ноутбук »), формула их не учтет. Используйте =СЖПРОБЕЛЫ() для очистки данных перед суммированием.

Убедитесь, что текст в критерии и ячейках совпадает по регистру|Проверьте отсутствие лишних пробелов|Удостоверьтесь, что диапазоны для текста и чисел одинаковой длины|Тестируйте формулу на небольшом фрагменте данных-->

Способ 2: Частичное совпадение текста с подстановочными знаками

Что делать, если нужно суммировать ячейки, где текст содержит определенное слово, но не обязательно совпадает полностью? Например, все строки с упоминанием «доставка» — независимо от того, написано ли «Бесплатная доставка», «Доставка за 1 день» или «Самовывоз/доставка».

В этом случае используем подстановочные знаки:

  • * — заменяет любое количество символов (включая ноль). Пример: "доставка" найдет любое упоминание слова.
  • ? — заменяет один символ. Пример: "код ?" найдет «код 1», «код А», но не «код 10».

Формула остается той же =СУММЕСЛИ(), но критерий меняем:

=СУММЕСЛИ(A2:A10; "доставка"; B2:B10)
"доставка*" — начинается с «доставка» "*доставка" — заканчивается на «доставка»-->

Способ 3: SUMIFS для нескольких текстовых условий

Представьте, что вам нужно суммировать продажи только по Москве, только за 2026 год и только по категории «Электроника». Здесь пригодится функция =СУММЕСЛИМН() (англ. SUMIFS), которая позволяет задавать несколько критериев одновременно.

Синтаксис:

=СУММЕСЛИМН(диапазон_для_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; ...)

Пример для таблицы с колонками «Город», «Дата», «Категория», «Сумма»:

=СУММЕСЛИМН(D2:D100; A2:A100; "Москва"; B2:B100; ">31.12.2023"; C2:C100; "Электроника")
⚠️ Внимание: В отличие от SUMIF, в SUMIFS первым аргументом идет диапазон для суммирования, а не диапазон с условием. Это частая причина ошибок!
Как суммировать с условием "ИЛИ" вместо "И"

Если нужно сложить данные, где выполняется любое из условий (например, Москва ИЛИ Санкт-Петербург), используйте =СУММ(СУММЕСЛИ(...); СУММЕСЛИ(...)) или SUMPRODUCT с массивами.

Способ 4: SUMPRODUCT для сложных текстовых условий

Когда требуется гибкость — например, суммировать по частичному совпадению в одной колонке И точному совпадению в другой — на помощь приходит =СУММПРОИЗВ() (англ. SUMPRODUCT). Эта функция умеет:

  • 🔎 Работать с несколькими диапазонами одновременно
  • 📌 Использовать логические выражения (например, --(A2:A10="Текст"))
  • 🔄 Комбинировать текстовые и числовые условия

Пример: суммируем продажи, где в колонке «Менеджер» есть слово «Иванов» И в колонке «Статус» стоит «Оплачено»:

=СУММПРОИЗВ(--(ПОИСК("Иванов"; B2:B10)>0); --(C2:C10="Оплачено"); D2:D10)

Разберем формулу по частям:

  1. ПОИСК("Иванов"; B2:B10)>0 — проверяет, содержится ли «Иванов» в ячейках диапазона B2:B10.
  2. --(...) — преобразует ИСТИНА/ЛОЖЬ в 1/0 для математических операций.
  3. C2:C10="Оплачено" — второе условие.
  4. D2:D10 — диапазон с числами для суммирования.

SUMIF для одного условия|SUMIFS для нескольких условий|SUMPRODUCT для сложных критериев|Фильтры и ручной подсчет|Не знаю, что это-->

Способ 5: Фильтры + функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ для динамических данных

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

  • 🔄 Быстро менять критерии без правки формул
  • 📊 Видеть промежуточные итоги по группам
  • 🔍 Фильтровать данные по нескольким колонкам

Алгоритм действий:

  1. Выделите таблицу (включая заголовки) и примените фильтр (Данные → Фильтр).
  2. Отфильтруйте данные по нужному текстовому критерию (например, в колонке «Категория» оставьте только «Одежда»).
  3. В ячейке под таблицей введите:
    =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9; D2:D100)

    где 9 — код функции СУММ, а D2:D100 — диапазон с числами.

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

Распространенные ошибки и как их избежать

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

ОшибкаПричинаРешение
Формула возвращает 0Нет совпадений по критерию или опечатка в текстеПроверьте регистр букв и лишние пробелы. Используйте =СЖПРОБЕЛЫ().
#ЗНАЧ!Диапазоны разной длиныУбедитесь, что диапазон с текстом и диапазон для суммирования одинакового размера.
Суммируются все строкиКритерий задан как пустая строка ""Явно укажите текстовый критерий, например "Текст".
Не работает частичное совпадениеЗабыли подстановочные знаки *Используйте "часть_текста" вместо "часть_текста".
Ошибка #ИМЯ?Опечатка в названии функцииПроверьте синтаксис: СУММЕСЛИ (не СУММЕСЛИИ!).

Еще одна критическая ошибка — игнорирование регистра букв. Функции SUMIF/SUMIFS чувствительны к регистру! Если в критерии указано «Продукты», а в ячейке «продукты», совпадения не будет. Решение:

  • 🔠 Используйте =НАЙТИ() или =ПОИСК() с SUMPRODUCT для нечувствительного к регистру поиска.
  • 📝 Приведите текст к единому регистру с помощью =ПРОПИСН() или =СТРОЧН().

FAQ: Ответы на частые вопросы

Как суммировать ячейки, если текст и числа в одной колонке?

Если данные в формате «Текст 100» (например, «Яблоки 50 кг»), используйте:

  1. Функцию =ПСТР() или =ТЕКСТПОСЛЕ() (в новых версиях Excel), чтобы извлечь число.
  2. Формулу массива с SUMPRODUCT:
    =СУММПРОИЗВ(--(НЕОШИБКА(ПОИСК("Яблоки"; A2:A10))); ЗНАЧЕН(ПОДСТАВИТЬ(A2:A10; "Яблоки "; "")))

Для Excel 365 подойдет более простой вариант с =ТЕКСТДО()/=ТЕКСТПОСЛЕ().

Можно ли суммировать по тексту из другой книги?

Да, но есть нюансы:

  • 📂 Укажите полный путь к книге в формуле, например:
    =СУММЕСЛИ([Книга1.xlsx]Лист1!$A$2:$A$10; "Текст"; [Книга1.xlsx]Лист1!$B$2:$B$10)
  • 🔗 Если книга закрыта, Excel может не обновлять ссылки. Откройте обе книги для корректной работы.
  • 📌 Для динамических данных используйте Power Query.
Как суммировать ячейки, где текст содержит одно из нескольких слов?

Используйте комбинацию SUM + SUMIF или SUMPRODUCT с OR-логикой:

=СУММ(СУММЕСЛИ(A2:A10; {"Текст1"; "Текст2"}); B2:B10)

Или через SUMPRODUCT:

=СУММПРОИЗВ(B2:B10; --((A2:A10="Текст1")+(A2:A10="Текст2")))
Почему SUMIF не работает с датами в текстовом формате?

Excel воспринимает «01.01.2026» как текст, если ячейка отформатирована не как дата. Решения:

  • 📅 Преобразуйте текст в дату с помощью =ДАТАЗНАЧ().
  • 🔄 Используйте SUMPRODUCT с проверкой текстового формата:
    =СУММПРОИЗВ(--(A2:A10="01.01.2026"); B2:B10)
Как суммировать цветные ячейки с определенным текстом?

Стандартными формулами это невозможно — цвет фона не является критерием для SUMIF. Альтернативы:

  • 🎨 Используйте VBA-макрос для суммирования по цвету.
  • 📌 Добавляйте дополнительную колонку с пометкой о цвете (например, «Красный», «Зеленый») и суммируйте по ней.

Пример макроса:

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(A1:A10; D1), где D1 — ячейка с образцом цвета.