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

Подсчёт строк по заданным критериям — одна из самых востребованных операций в Microsoft Excel и Google Таблицах. Без этого навыка невозможно анализировать данные: будь то продажи по регионам, количество клиентов с определённым статусом или фильтрация ошибок в больших массивах. Однако многие пользователи ограничиваются ручным пересчётом или примитивными фильтрами, теряя часы на задачи, которые решаются за минуты.

В этой статье разберём 7 проверенных методов — от базовых функций до продвинутых приёмов с массивами. Вы узнаете, как считать строки по одному условию, нескольким критериям одновременно, а также как автоматизировать процесс с помощью сводных таблиц и Power Query. Особое внимание уделим типичным ошибкам, которые искажают результаты, и нюансам работы с текстом, числами и датами.

Если вы никогда не работали с формулами в Excel, не переживайте: каждый метод сопровождается пошаговыми скриншотами и примерами, которые можно скопировать в свою таблицу. А для опытных пользователей мы подготовили раздел с малоизвестными трюками, которые выходят за рамки стандартных инструкций.

1. Базовый метод: функция СЧЁТЕСЛИ для одного условия

Функция СЧЁТЕСЛИ (COUNTIF в английской версии) — самый простой способ посчитать строки, соответствующие одному критерию. Она работает с текстом, числами, датами и даже логическими выражениями. Синтаксис функции:

=СЧЁТЕСЛИ(диапазон; условие)

Например, чтобы посчитать количество ячеек со словом "Да" в столбце B2:B100, используйте:

=СЧЁТЕСЛИ(B2:B100; "Да")

А если нужно найти все числа больше 100 в столбце D:

=СЧЁТЕСЛИ(D2:D100; ">100")
  • 📌 Текстовые условия всегда берутся в кавычки: "Да", "Нет", "Москва".
  • 🔢 Числовые критерии можно записывать с операторами: ">50", "<=100".
  • 🗓️ Даты указывайте в формате ">=01.01.2023" или с функцией ДАТА().
⚠️ Внимание: Если в условии используете символы (любое количество знаков) или ? (один знак), экранируйте их тильдой: СЧЁТЕСЛИ(A2:A100; "~") — так Excel не воспримет их как подстановочные знаки.

Пример из практики: допустим, у вас список заказов с статусами "Оплачен", "Отменён" и "В обработке". Чтобы узнать, сколько заказов отменено, введите:

=СЧЁТЕСЛИ(C2:C500; "Отменён")

Указали правильный диапазон ячеек (без заголовков)|

Условие взято в кавычки (даже если это число)|

Проверены опечатки в текстовом критерии|

Для дат использован формат, соответствующий региональным настройкам Excel-->

2. СЧЁТЕСЛИМН: подсчёт по нескольким условиям

Когда нужно учитывать два и более критериев одновременно, на помощь приходит функция СЧЁТЕСЛИМН (COUNTIFS). Она проверяет все условия одновременно (логическое "И"), а не последовательно. Синтаксис:

=СЧЁТЕСЛИМН(диапазон1; условие1; [диапазон2; условие2]; ...)

Классический пример: посчитать количество продаж в Москве (столбец B) на сумму больше 5000 (столбец D):

=СЧЁТЕСЛИМН(B2:B100; "Москва"; D2:D100; ">5000")

Важно: диапазоны должны быть одинакового размера, иначе Excel вернёт ошибку #ЗНАЧ!. Если нужно посчитать строки, где хотя бы одно из условий выполняется (логическое "ИЛИ"), используйте сумму нескольких СЧЁТЕСЛИ или СУММПРОИЗВ (разберём ниже).

  • 📊 До 127 пар диапазон/условие можно указать в одной функции (ограничение Excel).
  • 🔄 Диапазоны должны совпадать по количеству строк, но могут относиться к разным столбцам.
  • 🚫 Не работает с массивами — для этого нужен СУММПРОИЗВ.

Практический кейс: подсчёт сотрудников, которые работают в отделе "Маркетинг" (столбец C) и имеют зарплату меньше 70 000 (столбец E):

=СЧЁТЕСЛИМН(C2:C200; "Маркетинг"; E2:E200; "<70000")

3. Подсчёт с логическими операторами: СУММПРОИЗВ

Функция СУММПРОИЗВ (SUMPRODUCT) — универсальный инструмент для работы с массивами. Она умеет умножать и суммировать данные, но её часто используют для подсчёта строк по сложным условиям, включая "ИЛИ", "НЕ" и комбинации критериев.

Базовый синтаксис для подсчёта:

=СУММПРОИЗВ(--(условие1); --(условие2); ...)
Двойной минус (--) преобразует логические значения ИСТИНА/ЛОЖЬ в 1/0 для суммирования.

Пример: посчитать строки, где город "Санкт-Петербург" (столбец B) ИЛИ сумма заказа > 10 000 (столбец D):

=СУММПРОИЗВ(--((B2:B100="Санкт-Петербург") + (D2:D100>10000)))

Разберём формулу:

1. (B2:B100="Санкт-Петербург") — возвращает массив ИСТИНА/ЛОЖЬ.

2. + — оператор "ИЛИ" (вместо ИЛИ()).

3. -- — преобразует в 1/0.

4. СУММПРОИЗВ суммирует все единицы.

  • "И" в СУММПРОИЗВ: используйте * вместо +: =СУММПРОИЗВ(--(A2:A100="Да"); --(B2:B100>5)).
  • 🔍 "НЕ": добавьте =0 для инверсии: =СУММПРОИЗВ(--(A2:A100<>"Нет")).
  • 📈 Производительность: СУММПРОИЗВ работает медленнее СЧЁТЕСЛИМН, но гибче.
⚠️ Внимание: Если в диапазоне есть пустые ячейки, СУММПРОИЗВ может вернуть некорректный результат. Используйте ЕНД() для проверки: =СУММПРОИЗВ(--(ЕНД(A2:A100)=ИСТИНА); --(A2:A100="Да")).
Задача Формула Пояснение
Считать "Да" И "Нет" =СЧЁТЕСЛИ(A2:A100; "Да") + СЧЁТЕСЛИ(A2:A100; "Нет") Простой способ для "ИЛИ"
"ИЛИ" в одном столбце =СУММПРОИЗВ(--((A2:A100="Да")+(A2:A100="Нет"))) Суммирует оба условия
Считать пустые ячейки =СЧЁТЕСЛИ(A2:A100; "") Или =СЧИТАТЬПУСТОТЫ(A2:A100)
"НЕ пустое" И ">100" =СУММПРОИЗВ(--(A2:A100<>""); --(A2:A100>100)) Комбинация двух критериев
📊 Какой метод подсчёта вы используете чаще?
СЧЁТЕСЛИ
СЧЁТЕСЛИМН
СУММПРОИЗВ
Фильтры
Сводные таблицы

4. Подсчёт с помощью фильтров (без формул)

Если формулы кажутся сложными, можно обойтись встроенными фильтрами Excel. Этот метод визуально нагляден и не требует знания функций. Алгоритм действий:

  1. Выделите заголовки столбцов (например, строку 1).
  2. Нажмите Данные → Фильтр (или сочетание Ctrl+Shift+L).
  3. Кликните на стрелку в столбце, по которому нужно фильтровать.
  4. Выберите нужные критерии (например, галочки напротив "Да" и "Нет").
  5. Количество отфильтрованных строк отобразится в синей области статуса (внизу окна Excel).

Преимущества метода:

- Нет риска ошибок в формулах.

- Мгновенный результат — не нужно ждать пересчёта.

- Визуальный контроль — вы видите, какие именно строки попали в выборку.

Недостатки:

- Не автоматизируется — при изменении данных фильтр придётся применять заново.

- Не подходит для сложных условий (например, "ИЛИ" с разными столбцами).

  • 🔎 Поиск по части текста: в фильтре введите текст (например, *ов найдёт "Иванов", "Петров").
  • 📅 Фильтр по датам: используйте календарь или операторы (>01.01.2023).
  • 🎨 Цветовая фильтрация: если ячейки выделены цветом, отфильтруйте по нему в Фильтр по цвету.
⚠️ Внимание: Если после фильтрации в статусной строке отображается "0 из N записей", проверьте:

- Нет ли скрытых строк (нажмите Главная → Формат → Скрыть/отобразить → Отобразить строки).

- Правильно ли указаны критерии (например, регистр букв важен при текстовом фильтре).

Как сохранить отфильтрованные данные в новую таблицу?

1. Примените фильтр.

2. Выделите видимые строки (нажмите Ctrl+A, затем Alt+; для выбора только видимых ячеек).

3. Скопируйте (Ctrl+C) и вставьте (Ctrl+V) на новый лист.

4. Удалите фильтр (Данные → Фильтр) — оригинальные данные останутся нетронутыми.

5. Сводные таблицы: автоматический подсчёт с группировкой

Сводные таблицы (Вставка → Сводная таблица) — мощный инструмент для динамического подсчёта строк по любым критериям. Они автоматически обновляются при изменении исходных данных и позволяют группировать результаты (например, по месяцам, категориям и т.д.).

Пошаговая инструкция:

1. Выделите исходный диапазон данных (включая заголовки).

2. Нажмите Вставка → Сводная таблица и выберите, куда её разместить (на новом листе или существующем).

3. В панели Поля сводной таблицы перетащите:

- Столбец с условием (например, "Город") в область Строки.

- Столбец, который нужно посчитать (или просто "Количество"), в область Значения.

4. Excel автоматически подсчитает количество строк для каждого уникального значения.

Пример: у вас таблица с продажами по городам и менеджерам. Чтобы узнать, сколько сделок закрыл каждый менеджер в каждом городе:

- Перетащите "Город" в Строки.

- Перетащите "Менеджер" в Столбцы.

- Перетащите "Номер сделки" (или любой другой столбец) в Значения — Excel посчитает количество строк.

  • 📊 Группировка дат: кликните правой кнопкой по дате в сводной таблице → Группировать → выберите период (месяцы, кварталы).
  • 🔄 Обновление: если данные изменились, нажмите на сводную таблицу и выберите Анализ → Обновить.
  • 🎯 Фильтрация: добавьте поле в область Фильтры, чтобы динамически менять выборку.

Преимущество сводных таблиц перед формулами:

- Интерактивность: можно менять группировки на лету.

- Визуализация: данные сразу готовы для построения графиков.

- Масштабируемость: легко анализировать миллионы строк.

6. Продвинутые приёмы: Power Query и массивы

Для пользователей, работающих с очень большими данными (десятки тысяч строк) или нуждающихся в автоматизации, подойдут инструменты Power Query и формулы массивов.

Power Query (Excel 2016+ и Office 365)

Power Query позволяет загружать, трансформировать и подсчитывать данные без формул. Алгоритм:

1. Выделите исходную таблицу → Данные → Из таблицы/диапазона (вкладка Power Query).

2. В редакторе запросов выберите столбец, по которому нужно фильтровать → Главная → Фильтр → Текстовые фильтры (или числовые).

3. Укажите критерии (например, "равно", "больше").

4. Нажмите Главная → Закрыть и загрузить в... и выберите Только создание связи.

5. Создайте сводную таблицу на основе загруженных данных.

Преимущества:

- Не нагружает файл — данные обрабатываются при обновлении.

- Поддерживает сложные преобразования (объединение таблиц, замена значений и т.д.).

- Автоматически обновляется при изменении источника.

Формулы массивов (Excel 365 и 2019+)

В новых версиях Excel появились динамические массивы, которые упрощают работу с большими диапазонами. Например, чтобы посчитать строки, где значение в столбце A содержится в списке (столбец D2:D10), используйте:

=СЧЁТ(ФИЛЬТР(A2:A100; ПОИСКПОЗ(A2:A100; D2:D10; 0)))

Или для подсчёта уникальных значений:

=СЧЁТ(УНИКАЛЬН(A2:A100))
⚠️ Внимание: Формулы массивов в старых версиях Excel (2016 и ранее) требуют подтверждения Ctrl+Shift+Enter. В Excel 365 они работают автоматически.

7. Типичные ошибки и как их избежать

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

  • 🚨 Ошибка #ЗНАЧ! в СЧЁТЕСЛИМН: диапазоны разного размера. Проверьте, что все указанные диапазоны имеют одинаковое количество строк.
  • 📉 Неправильный результат в СУММПРОИЗВ: забыли двойной минус (--) для преобразования ИСТИНА/ЛОЖЬ в 1/0.
  • 🔠 Регистрозависимость: СЧЁТЕСЛИ различает "Да" и "да". Используйте ВПР или НАЙТИ для регистронезависимого поиска.
  • 🗃️ Скрытые строки искажают результат: фильтры и СЧЁТЕСЛИ учитывают скрытые данные. Используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ с аргументом 103 для игнорирования скрытых строк.
  • 📅 Ошибки с датами: Excel хранит даты как числа. Убедитесь, что ячейки отформатированы как дата, а не текст.

Пример исправления ошибки с регистром:

=СУММПРОИЗВ(--(ПОИСК("да"; НИЖНРЕГ(A2:A100))>0))

Эта формула найдёт все варианты: "Да", "да", "ДА", "Подарочный".

Ещё одна частая проблема — пустые ячейки. Чтобы посчитать только непустые строки:

=СЧЁТЕСЛИ(A2:A100; "<>")
⚠️ Внимание: Если в ячейке формула, возвращающая пустую строку (=""), СЧЁТЕСЛИ воспримет её как непустую. Используйте =СЧИТАТЬЗНАЧ(A2:A100) для подсчёта только ячеек с данными (исключая формулы).

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

Как посчитать строки, где значение в одном столбце больше, чем в другом?

Используйте СУММПРОИЗВ:

=СУММПРОИЗВ(--(A2:A100 > B2:B100))

Эта формула вернёт количество строк, где значение в столбце A больше, чем в B.

Можно ли посчитать строки по условию в Google Таблицах?

Да, в Google Sheets работают те же функции:

- =COUNTIF (аналог СЧЁТЕСЛИ),

- =COUNTIFS (аналог СЧЁТЕСЛИМН),

- =SUMPRODUCT (аналог СУММПРОИЗВ).

Синтаксис идентичен Excel, но в Google Таблицах нет Power Query (замените на QUERY).

Как посчитать уникальные строки по условию?

В Excel 365:

=СЧЁТ(УНИКАЛЬН(ФИЛЬТР(A2:A100; A2:A100="Да")))

В старых версиях:

=СУММПРОИЗВ(1/СЧЁТЕСЛИ(ЕСЛИ(A2:A100="Да"; A2:A100); ЕСЛИ(A2:A100="Да"; A2:A100)))

(вводится как формула массива с Ctrl+Shift+Enter).

Почему СЧЁТЕСЛИМН возвращает 0, хотя данные есть?

Вероятные причины:

- Диапазоны разного размера.

- Опечатка в условии (проверьте регистр, пробелы).

- Ячейки отформатированы как текст, а условие — как число (и наоборот).

- В диапазоне есть ошибки (#Н/Д, #ЗНАЧ!).

Используйте ЕТЕКСТ() для проверки формата: =ЕТЕКСТ(A2).

Как посчитать строки с ошибками (#Н/Д, #ДЕЛ/0!)?

Для подсчёта ячеек с ошибками:

=СЧЁТЕСЛИ(A2:A100; "#Н/Д") + СЧЁТЕСЛИ(A2:A100; "#ДЕЛ/0!")

Или универсальный вариант для всех типов ошибок:

=СУММПРОИЗВ(--(ЕОШ(A2:A100)))