Подсчет непустых ячеек в Excel: от базовых формул до работы с фильтрами

Иван Корнев·09.04.2026·4 мин

Чтобы быстро посчитать количество заполненных ячеек в диапазоне, используйте функцию =COUNTA(диапазон). Она учитывает текст, числа, даты и логические значения, игнорируя только абсолютно пустые клетки. Если нужно посчитать только числа, примените =COUNT(диапазон), а для учета только видимых строк после фильтрации — =SUBTOTAL(103; диапазон).

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

Базовый подсчет: функция COUNTA

Функция COUNTA (в русской версии может называться СЧЁТЗ) является универсальным решением для подсчета всех ячеек, содержащих любые данные.

Синтаксис: =COUNTA(значение1; [значение2]; ...)

Пример использования: Допустим, в столбце A (от A1 до A50) находится список сотрудников. Некоторые строки могут быть пустыми.

  1. Кликните в любую свободную ячейку.
  2. Введите формулу: =COUNTA(A1:A50).
  3. Нажмите Enter.

Результатом будет число, равное количеству ячеек, где есть хоть один символ (буква, цифра, пробел или формула).

Если нужно посчитать заполненные ячейки сразу в нескольких несмежных диапазонах, перечислите их через точку с запятой: =COUNTA(A1:A10; C1:C10; E5).

Учет типа данных: числа, текст и условия

Часто требуется посчитать не «все подряд», а данные конкретного типа. Для этого используются специализированные функции.

Только числа: функция COUNT

Функция COUNT (СЧЁТ) игнорирует текст и логические значения, считая только числовые данные и даты (так как даты в Excel хранятся как числа).

  • Формула: =COUNT(A1:A100)
  • Применение: Идеально для подсчета количества транзакций, оценок или дат в отчете.

Подсчет по условию: функция COUNTIF

Если нужно найти ячейки, соответствующие конкретному критерию (например, содержащие определенный текст), используйте COUNTIF (СЧЁТЕСЛИ).

  • Ячейки не равны пустоте: =COUNTIF(A1:A100; "<>") — аналог COUNTA, но иногда работает стабильнее со сложными данными.
  • Ячейки содержат текст: =COUNTIF(A1:A100; "*") — звездочка означает любой набор символов.
  • Ячейки больше определенного значения: =COUNTIF(B1:B100; ">1000").

Сравнение методов подсчета

ЗадачаФункцияФормула (пример)Что учитывает
Любые данныеCOUNTA=COUNTA(A1:A10)Текст, числа, даты, ошибки, формулы
Только числа/датыCOUNT=COUNT(A1:A10)Числа, даты, время
По условиюCOUNTIF=COUNTIF(A1:A10; "Да")Ячейки, совпадающие с критерием
Видимые ячейкиSUBTOTAL=SUBTOTAL(103; A1:A10)Только отображаемые строки (после фильтра)

Работа с отфильтрованными данными

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

Формула для видимых ячеек: =SUBTOTAL(103; A1:A100)

  • Код 103 соответствует функции COUNTA, но применяет её только к видимым строкам.
  • Если вы отфильтруете таблицу, оставив 5 строк из 100, формула автоматически покажет число 5 (или меньше, если среди видимых есть пустые).

Код функции имеет значение. Используйте 103 для COUNTA (игнорирует скрытые вручную и фильтром) или 3 (игнорирует только фильтр, но считает скрытые вручную строки). В 99% случаев при работе с автофильтром нужен код 103.

Частые ошибки и нюансы

При подсчете ячеек пользователи часто сталкиваются с ситуацией, когда формула показывает результат, отличный от визуального восприятия. Вот основные причины:

  1. «Пустые» ячейки с пробелами. Если в ячейке стоит пробел, нажатый клавишей Space, Excel считает её заполненной. Функция COUNTA вернет 1.

    • Решение: Используйте очистку данных или формулу массива для проверки длины строки: =СУММПРОИЗВ(--(ДЛСТР(A1:A100)>0)).
  2. Разделители в формулах. В русской локализации Excel аргументы функций разделяются точкой с запятой (;), а не запятой.

    • Неверно: =COUNTA(A1:A10, B1:B10)
    • Верно: =COUNTA(A1:A10; B1:B10)
  3. Ячейки с формулами, возвращающими пустоту. Если в ячейке стоит формула =ЕСЛИ(A1>0; A1; ""), и условие не выполнено, визуально ячейка пуста. Однако COUNTA посчитает её заполненной, так как там есть формула.

    • Решение: Для точного подсчета только ячеек с видимым содержимым используйте комбинацию СЧЁТЕСЛИ с проверкой на пустую строку: =COUNTIF(A1:A100; "<>").

FAQ

Как посчитать заполненные ячейки во всем столбце? Используйте ссылку на весь столбец без указания конкретных строк: =COUNTA(A:A). Это динамический диапазон, который будет обновляться при добавлении новых данных вниз.

Почему SUBTOTAL выдает ошибку? Убедитесь, что вы используете правильный код функции (103 для подсчета непустых) и что диапазон находится в одной таблице или непрерывном списке. Функция не работает с несвязанными диапазонами через запятую внутри одного вызова.

Можно ли посчитать уникальные заполненные значения? Стандартными функциями это сделать сложно. В новых версиях Excel (365, 2021) используйте связку: =ROWS(UNIQUE(FILTER(A1:A100; A1:A100<>""))). Эта формула отфильтрует пустоты, оставит только уникальные значения и посчитает их количество.