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

Работа с данными в Microsoft Excel часто требует анализа заполненности таблиц. Нужно ли вам посчитать количество клиентов в базе, оценить процент заполненных анкет или просто проверить, сколько строк уже содержат информацию — умение быстро определять число непустых ячеек сэкономит часы ручной работы. Эта задача кажется простой, но в Excel существует как минимум 7 различных способов её решения, каждый из которых оптимален для конкретных ситуаций.

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

Особое внимание уделим типичным ошибкам. Например, функция СЧЁТ (или COUNT в английской версии) подсчитывает только числовые значения, игнорируя текст. А функция СЧЁТЗ (COUNTA) считает пустые текстовые строки ("") как заполненные ячейки. Эти тонкости могут исказить результаты, если не знать, как их обходить.

1. Базовый метод: функция СЧЁТЗ (COUNTA)

Функция СЧЁТЗ — самый универсальный инструмент для подсчёта непустых ячеек. Она учитывает любые данные: числа, текст, логические значения (ИСТИНА/ЛОЖЬ), ошибки (#ДЕЛ/0!), а также ячейки с формулами, возвращающими пустую строку (""). Синтаксис прост:

=СЧЁТЗ(диапазон)

Например, чтобы посчитать заполненные ячейки в столбце A с 1 по 100 строку, используйте:

=СЧЁТЗ(A1:A100)

⚠️ Внимание: СЧЁТЗ считает ячейки с формулой ="" как заполненные, даже если визуально они выглядят пустыми. Чтобы исключить такие случаи, комбинируйте её с функцией ЕПУСТО (см. раздел 4).

  • 📌 Подходит для: быстрого подсчёта всех непустых ячеек, включая текст и ошибки.
  • ❌ Не подходит для: игнорирования ячеек с пустыми строками ("") или нулевыми значениями.
  • 🔄 Альтернатива в Google Sheets: та же функция COUNTA работает идентично.
📊 Какой версией Excel вы пользуетесь?
Excel 2016 или старше
Excel 2019/2021
Microsoft 365 (подписка)
Google Sheets
Другая

2. Подсчёт только числовых ячеек: функция СЧЁТ (COUNT)

Если вам нужно посчитать только ячейки с числами, используйте функцию СЧЁТ. Она игнорирует текст, логические значения, ошибки и пустые ячейки. Пример:

=СЧЁТ(A1:A100)

Эта функция полезна для анализа числовых данных, например, при подсчёте продаж или оценок. Однако учтите, что она не учитывает:

  • 🔢 Даты (они хранятся как числа, но СЧЁТ их подсчитывает).
  • 📝 Текстовые представления чисел (например, ячейка с текстом "100" не будет учтена).
  • ❌ Ячейки с формулами, возвращающими 0 (они считаются числовыми!).

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

=СУММ(--(A1:A100<>0))
В английской версии Excel: =SUM(--(A1:A100<>0)). Не забудьте нажать Ctrl+Shift+Enter для ввода.

3. Подсчёт ячеек с текстом (исключая числа)

Для подсчёта ячеек, содержащих только текст, потребуется комбинация функций. Самый надёжный способ — использовать СЧЁТЕСЛИ с критерием "*" (любой символ) и вычесть числовые ячейки:

=СЧЁТЕСЛИ(A1:A100;"*") - СЧЁТ(A1:A100)

Эта формула работает потому, что СЧЁТЕСЛИ(A1:A100;"*") подсчитывает все непустые ячейки, включая текст и числа, а СЧЁТ(A1:A100) — только числа. Разница между ними даёт количество текстовых ячеек.

⚠️ Внимание: Формула посчитает как текст ячейки с ошибками (#ДЕЛ/0!) или логическими значениями (ИСТИНА/ЛОЖЬ). Если нужно исключить ошибки, добавьте проверку:

=СЧЁТЕСЛИ(A1:A100;"") - СЧЁТ(A1:A100) - СЧЁТЕСЛИ(A1:A100;"#?")

Убедиться, что в диапазоне нет скрытых символов (пробелов, табуляций)|Исключить ячейки с формулами, возвращающими пустую строку ("")|Проверить наличие ошибок (#ЗНАЧ!, #ДЕЛ/0!)|Учесть регистр, если используются функции с чувствительностью к нему-->

4. Игнорируем пустые строки и формулы: комбинация СЧЁТЗ и ЕПУСТО

Одна из самых распространённых проблем — ячейки, которые выглядят пустыми, но содержат формулу типа ="" или пробел. Функция СЧЁТЗ посчитает их как заполненные, что исказит результаты. Чтобы обойти это, используйте формулу массива:

=СУММ(--(ЕПУСТО(A1:A100)=ЛОЖЬ))

Как это работает:

  1. ЕПУСТО(A1:A100) возвращает массив ИСТИНА/ЛОЖЬ, где ЛОЖЬ соответствует непустым ячейкам.
  2. =ЛОЖЬ инвертирует значения, преобразуя ЛОЖЬ в ИСТИНА (т.е. выделяем заполненные ячейки).
  3. -- преобразует ИСТИНА/ЛОЖЬ в 1/0.
  4. СУММ складывает единицы, давая итоговое количество.

Критическая деталь: в английской версии Excel функция называется ISBLANK, а не ЕПУСТО. Формула будет выглядеть так: =SUM(--(ISBLANK(A1:A100)=FALSE)).

5. Подсчёт с условиями: СЧЁТЕСЛИ и СЧЁТЕСЛИМН

Если нужно посчитать заполненные ячейки, удовлетворяющие определённому критерию, используйте:

  • СЧЁТЕСЛИ — для одного условия.
  • СЧЁТЕСЛИМН — для нескольких условий.

Примеры:

=СЧЁТЕСЛИ(A1:A100;">100")  // Ячейки с числами > 100

=СЧЁТЕСЛИ(A1:A100;"текст*") // Ячейки, начинающиеся на "текст"

=СЧЁТЕСЛИМН(A1:A100;">=10"; A1:A100;"<100") // Числа от 10 до 100

⚠️ Внимание: СЧЁТЕСЛИ не учитывает ячейки с ошибками (#ДЕЛ/0!). Чтобы их включить, комбинируйте с ЕОШИБКА:

=СУММ(--(ЕОШИБКА(A1:A100)=ИСТИНА)) + СЧЁТЕСЛИ(A1:A100;">100")
ФункцияПодсчитываетПримерОграничения
СЧЁТЗВсе непустые ячейки=СЧЁТЗ(A1:A10)Считает "" и ошибки как заполненные
СЧЁТТолько числа=СЧЁТ(A1:A10)Игнорирует текст и даты в текстовом формате
СЧЁТЕСЛИЯчейки по условию=СЧЁТЕСЛИ(A1:A10;">5")Не работает с массивами
ЕПУСТО + массивИстинно непустые ячейки=СУММ(--(ЕПУСТО(A1:A10)=ЛОЖЬ))Требует Ctrl+Shift+Enter

6. Визуальные методы: фильтры и условное форматирование

Если вам не нужен точный подсчёт, а достаточно визуальной оценки, используйте:

  1. Фильтрацию: выделите диапазон → Данные → Фильтр → в выпадающем списке снимите галочку с (Пустые). Количество оставшихся строк и будет ответом.
  2. Условное форматирование: выделите диапазон → Главная → Условное форматирование → Правила выделения ячеек → Больше → Формула. Введите =ЕПУСТО(A1)=ЛОЖЬ и задайте цвет заполнения. Так вы сразу увидите все непустые ячейки.

💡 Полезный совет: Чтобы быстро посчитать выделенные ячейки после фильтрации, посмотрите значение в строке состояния (внизу окна Excel). Оно покажет количество видимых ячеек.

⚠️ Внимание: Фильтрация учитывает скрытые строки. Если в таблице есть скрытые данные, результат может быть неточным. Перед подсчётом раскройте все строки (Главная → Формат → Скрыть/отобразить → Отобразить строки).

Как посчитать заполненные ячейки в сводной таблице?

В сводной таблице количество непустых ячеек отображается автоматически в поле "Количество" (Count). Если его нет, перетащите нужное поле в область "Значения" и выберите "Количество" в настройках. Для точного подсчёта используйте исходные данные, так как сводные таблицы могут игнорировать скрытые строки или фильтры.

7. Продвинутые методы: Power Query и VBA

Для обработки больших массивов данных (десятки тысяч строк) стандартные функции Excel могут работать медленно. В таких случаях помогут:

  • 🔧 Power Query: импортируйте данные в Power Query → добавьте столбец с формулой = if [Column1] = null then 0 else 1 → суммируйте новый столбец.
  • 🤖 VBA-макрос: создайте простую процедуру для подсчёта:
    Sub CountNonEmpty()
    

    Dim rng As Range, cell As Range, count As Long

    Set rng = Selection

    count = 0

    For Each cell In rng

    If Not IsEmpty(cell) And cell.Value <> "" Then count = count + 1

    Next cell

    MsgBox "Заполненных ячеек: " & count

    End Sub

    Скопируйте этот код в редактор VBA (Alt+F11) и запустите макрос.

⚠️ Внимание: Макросы могут конфликтовать с защищёнными листами. Перед запуском снимите защиту (Рецензирование → Снять защиту листа).

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

Почему СЧЁТЗ считает пустую ячейку с формулой ="" как заполненную?

Функция СЧЁТЗ воспринимает любые данные, включая формулы, возвращающие пустую строку. Чтобы исключить такие ячейки, используйте комбинацию ЕПУСТО с формулой массива (см. раздел 4). Альтернатива — заменить формулы на реальные пустые ячейки: выделите диапазон → Найти и выделить → Заменить → в поле "Найти" введите ="", поле "Заменить на" оставьте пустым.

Как посчитать заполненные ячейки в нескольких несмежных диапазонах?

Используйте функцию СЧЁТЗ с перечислением диапазонов через точку с запятой:

=СЧЁТЗ(A1:A10; C1:C10; E1:E10)
В английской версии: =COUNTA(A1:A10, C1:C10, E1:E10). Максимальное количество аргументов — 255.

Можно ли посчитать заполненные ячейки по цвету?

Стандартными функциями — нет. Но есть обходные пути:

  1. Используйте VBA-макрос с методом Range.SpecialCells(xlCellTypeFormats).
  2. Примените Условное форматирование для выделения цветом, затем отфильтруйте по цвету и посмотрите количество строк.
  3. В Excel 365 используйте функцию ФИЛЬТР с ПОИСКПОЗ (требует предварительной настройки).

Как посчитать заполненные ячейки в защищённом листе?

Если лист защищён, но разрешено выделение ячеек:

  1. Скопируйте данные в новый лист (Ctrl+C → Ctrl+N → Ctrl+V).
  2. Используйте СЧЁТЗ на скопированных данных.

Если копирование запрещено, запросите у администратора временное снятие защиты или права на просмотр.

Почему результат СЧЁТЕСЛИ не совпадает с ручным подсчётом?

Частые причины расхождений:

  • 📌 В данных есть непечатаемые символы (пробелы, табуляции). Используйте =ПЕЧСИМВ(A1) для их удаления.
  • 📌 Ячейки содержат ошибки (#ДЕЛ/0!), которые СЧЁТЕСЛИ игнорирует.
  • 📌 Критерий чувствителен к регистру (например, "Текст""текст").