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

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

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

В этой статье мы разберём 10 способов подсчёта заполненных ячеек — от элементарных (подойдут новичкам) до продвинутых (для автоматизации рутинных задач). Вы узнаете, как отличать пустые ячейки от тех, что содержат формулы или невидимые символы, и почему стандартная функция СЧЁТ не всегда даёт корректный результат. А в конце — бонус: как визуализировать пропущенные данные с помощью условного форматирования.

Независимо от версии Excel (2010, 2016, 2019, 365 или Excel Online), вы найдёте здесь рабочий метод. Начнём с самого простого!

Способ 1: Ручное выделение мышью (для маленьких таблиц)

Если ваш диапазон содержит не более 50–100 ячеек, можно обойтись без формул. Этот метод подходит для визуальной оценки и не требует знания функций. Вот как это сделать:

  • 🖱️ Выделите диапазон ячеек, в котором хотите посчитать заполненные значения (например, A1:C20).
  • 👀 Взгляните на строку состояния внизу окна Excel — там отобразится количество выделенных ячеек и сколько из них непустые.
  • 📊 Число заполненных ячеек будет указано рядом с надписью "Количество: X" (где X — искомое значение).

⚠️ Внимание: Этот метод учитывает все непустые ячейки, включая те, что содержат формулы с пустым результатом (например, =IF(1=2;"","")). Если вам нужно исключить такие случаи, используйте формулы из следующих разделов.

📊 Как часто вы работаете с большими таблицами в Excel?
Ежедневно
Несколько раз в неделю
Рядом
Очень редко

Способ 2: Функция СЧЁТЗ (COUNTA) — универсальный инструмент

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

Синтаксис функции прост:

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

Примеры использования:

  • 📋 Подсчёт заполненных ячеек в столбце A с 1 по 100 строку: =СЧЁТЗ(A1:A100)
  • 📊 Подсчёт в несмежном диапазоне: =СЧЁТЗ(A1:A10; C1:C10)
  • 🔍 Подсчёт с условием (только текстовые ячейки): =СУММПРОИЗВ(--(ЕТЕКСТ(A1:A10))) (продвинутый вариант).

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

=СУММПРОИЗВ(--(ДЛСТР(A1:A10)>0))

Выделите ячейку для результата|Введите формулу =СЧЁТЗ(диапазон)|Нажмите Enter|Сравните результат с ручным подсчётом-->

Способ 3: Горячие клавиши для быстрого подсчёта

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

  1. Выделите диапазон (например, B2:B50).
  2. Нажмите Alt + ; (точка с запятой) — это выделит только непустые ячейки в диапазоне.
  3. Посмотрите на строку состояния — там появится количество выделенных ячеек.

💡 Полезный совет: Если после нажатия Alt + ; выделение не изменилось, значит в диапазоне нет заполненных ячеек (или они содержат формулы с пустым результатом).

Для более точного контроля используйте комбинацию Ctrl + GВыделить» → «Константы. Это выделит ячейки с реальными данными, исключая формулы.

Комбинация клавиш Действие Примечание
Alt + ; Выделяет непустые ячейки Включает ячейки с формулами, возвращающими ""
Ctrl + G → Выделить → Константы Выделяет ячейки с реальными данными Исключает формулы, но включает ошибки
F5 → Специальная вставка → Пустые ячейки Выделяет пустые ячейки Полезно для обратного подсчёта

Способ 4: Функция СЧЁТ (COUNT) и её ограничения

Многие пользователи ошибочно используют функцию СЧЁТ (или COUNT) для подсчёта заполненных ячеек. Однако она работает только с числовыми данными и игнорирует текст, даты (если они хранятся как текст), логические значения и ошибки.

Пример:

=СЧЁТ(A1:A10)

Эта формула посчитает только ячейки с числами, например, 5, 3,14 или -10, но проигнорирует "Привет", ИСТИНА или #Н/Д.

⚠️ Внимание: Если вам нужно посчитать все непустые ячейки, СЧЁТ не подходит. Используйте СЧЁТЗ или комбинацию функций:

=СЧЁТЗ(A1:A10) - СЧЁТЕСЛИ(A1:A10; "")

Способ 5: Подсчёт с условием (СЧЁТЕСЛИ, СЧЁТЕСЛИМН)

Если вам нужно посчитать заполненные ячейки, соответствующие определённому критерию, используйте функции СЧЁТЕСЛИ или СЧЁТЕСЛИМН. Они позволяют задавать условия, например, подсчёт ячеек с текстом, числами больше 10 или датами в конкретном диапазоне.

Примеры:

  • 🔢 Подсчёт ячеек с любым текстом в диапазоне A1:A100:
    =СЧЁТЕСЛИ(A1:A100; "*")
  • 📅 Подсчёт ячеек с датами позднее 01.01.2023:
    =СЧЁТЕСЛИ(A1:A100; ">01.01.2023")
  • 🔍 Подсчёт ячеек, не равных пустой строке (включая формулы):
    =СЧЁТЕСЛИ(A1:A100; "<>")

Для сложных условий используйте СЧЁТЕСЛИМН:

=СЧЁТЕСЛИМН(A1:A100; ">10"; B1:B100; "Да")

Эта формула посчитает ячейки в столбце A, где значение >10 и соответствующая ячейка в столбце B содержит слово "Да".

Как посчитать ячейки с формулами, возвращающими пустую строку?

Используйте комбинацию функций =СЧЁТЗ(диапазон) - СУММПРОИЗВ(--(ДЛСТР(диапазон)>0)). Она вычтет из общего количества непустых ячеек те, что содержат реальные данные (включая пробелы).

Способ 6: Подсчёт с помощью Power Query (для больших данных)

Если вы работаете с огромными таблицами (тысячи строк), стандартные функции Excel могут замедлять работу. В этом случае используйте Power Query — инструмент для обработки и трансформации данных, доступный в Excel 2016 и новее.

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

  1. Выделите ваш диапазон и перейдите на вкладку ДанныеИз таблицы/диапазона (или Get Data → From Table/Range в английской версии).
  2. В открывшемся редакторе Power Query выделите столбец, в котором нужно посчитать заполненные ячейки.
  3. Нажмите правой кнопкой → Заменить значения → в поле "Значение для поиска" оставьте пустым, в "Заменить на" введите 1.
  4. Выделите столбец → ТрансформацияЗаполнить вниз (это заменит все пустые ячейки на 1).
  5. Добавьте новый столбец с формулой = if [Column1] = 1 then 0 else 1 (где Column1 — имя вашего столбца).
  6. Удалите оригинальный столбец, оставьте только столбец с 0 и 1, затем суммируйте его.

💡 Полезный совет: После обработки данных в Power Query не забудьте нажать Закрыть и загрузить, чтобы вернуть результаты в Excel. Этот метод особенно полезен, если вам нужно регулярно обновлять подсчёт при изменении исходных данных.

Способ 7: Условное форматирование для визуализации

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

  1. Выделите диапазон (например, A1:D100).
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. В поле "Форматировать только ячейки с" выберите Значениеравно → оставьте поле пустым.
  5. Нажмите Формат и выберите цвет заливки (например, красный) для пустых ячеек.

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

=СЧИТАТЬПУСТОТЫ(A1:D100)

А затем вычтите результат из общего количества ячеек:

=СТРОКА(D100) * СТОЛБЕЦ(D1) - СЧИТАТЬПУСТОТЫ(A1:D100)

Способ 8: VBA-скрипт для автоматизации (продвинутый уровень)

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

Откройте редактор VBA (Alt + F11) и вставьте следующий код в модуль:

Function CountNonEmpty(rng As Range) As Long

Dim cell As Range

Dim count As Long

count = 0

For Each cell In rng

If Not IsEmpty(cell) And cell.Value <> "" Then

count = count + 1

End If

Next cell

CountNonEmpty = count

End Function

Теперь в любой ячейке листа вы можете использовать эту функцию как стандартную:

=CountNonEmpty(A1:D100)

⚠️ Внимание: Макрос учитывает только реальные данные и игнорирует ячейки с формулами, возвращающими пустую строку. Если вам нужно включить и такие ячейки, замените условие на:

If Not IsEmpty(cell) Then

💡 Полезный совет: Чтобы макрос работал во всех файлах, сохраните его в Персональной книге макросов (Personal.xlsb). Для этого при сохранении выберите тип файла Книга Excel с поддержкой макросов (*.xlsm).

FAQ: Частые вопросы о подсчёте ячеек в Excel

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

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

=СУММПРОИЗВ(--(ДЛСТР(A1:A10)>0))

Эта формула проверяет длину содержимого ячейки и считает только те, где длина > 0.

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

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

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; A1:A100)

Где 103 — это код операции для функции СЧЁТЗ (подсчёт непустых ячеек).

🔹 Можно ли посчитать заполненные ячейки в Google Таблицах?

Да, в Google Sheets работают те же принципы. Используйте:

  • =COUNTA(A1:A100) — аналог СЧЁТЗ;
  • =COUNTIF(A1:A100; "<>") — подсчёт непустых ячеек;
  • =SUMPRODUCT(--(LEN(A1:A100)>0)) — для исключения ячеек с формулами, возвращающими "".

Отличие от Excel: в Google Таблицах нет функции СЧИТАТЬПУСТОТЫ, но её можно заменить на =COUNTA(A1:A100) - COUNT(A1:A100) (если в диапазоне только числа и пустые ячейки).

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

Стандартными функциями это сделать нельзя, но есть два обходных пути:

  1. Фильтрация по цвету: Отфильтруйте данные по цвету (Данные → Фильтр → Фильтр по цвету), затем используйте СЧЁТЗ для видимого диапазона.
  2. VBA-скрипт: Напишите макрос, который будет проверять цвет каждой ячейки. Пример кода:
    Function CountByColor(rng As Range, color As Range) As Long
    

    Dim cl As Range

    Dim count As Long

    Dim targetColor As Long

    targetColor = color.Interior.Color

    count = 0

    For Each cl In rng

    If cl.Interior.Color = targetColor Then

    count = count + 1

    End If

    Next cl

    CountByColor = count

    End Function

    Используйте так: =CountByColor(A1:A100; B1), где B1 — ячейка с нужным цветом заливки.

🔹 Почему в моей таблице СЧЁТЗ показывает неверное значение?

Наиболее частые причины:

  • 📌 В диапазоне есть скрытые строки/столбцы — функция их учитывает. Используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; ...) для видимых ячеек.
  • 📌 Ячейки содержат непечатаемые символы (пробелы, табуляции). Проверьте с помощью =ДЛСТР(A1).
  • 📌 В диапазоне есть формулы с ошибками (например, #Н/Д) — они тоже считаются как непустые.
  • 📌 Диапазон включает объединённые ячейки — они могут считаться как одна.

Чтобы диагностировать проблему, проверьте каждую ячейку с помощью функции =ЕПУСТО(A1) (вернёт ИСТИНА, если ячейка действительно пуста).