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

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

В этой статье мы разберём 5 проверенных методов — от элементарных до продвинутых, — которые покроют 99% практических задач. Вы узнаете не только базовые функции вроде СЧЁТЗ, но и малоизвестные приёмы с СЧЁТЕСЛИ, условным форматированием и даже Power Query. А в конце вас ждёт FAQ-блок с ответами на самые частые вопросы, которые пользователи задают на форумах.

Неважно, работаете ли вы с небольшой таблицей на 50 строк или с базой данных на тысячи записей — после прочтения этой статьи вы сможете мгновенно получать точные данные о количестве заполненных ячеек, не тратя время на ручной подсчёт. Начнём с самого простого!

1. Функция СЧЁТЗ: универсальный инструмент для подсчёта непустых ячеек

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

Синтаксис функции предельно лаконичен:

=СЧЁТЗ(значение1; [значение2]; ...)

Где значение1 — это обязательный аргумент (диапазон ячеек или отдельная ячейка), а последующие аргументы не обязательны. Функция учитывает все непустые ячейки, включая те, что содержат формулы, возвращающие пустую строку ("").

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

  • 📌 Чтобы посчитать заполненные ячейки в столбце A с 1 по 100 строку, введите:
    =СЧЁТЗ(A1:A100)
  • 📌 Для подсчёта в нескольких несмежных диапазонах:
    =СЧЁТЗ(A1:A100; C1:C50; E5:E20)
  • 📌 Чтобы учесть только ячейки с видимыми значениями (игнорируя скрытые строки), предварительно примените фильтр.
⚠️ Внимание: Функция СЧЁТЗ считает ячейки с формулами, возвращающими "" (пустую строку), как заполненные. Если вам нужно исключить такие случаи, используйте комбинацию СЧЁТЗ и СЧИТАТЬПУСТОТЫ.

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

  • ✅ Работает во всех версиях Excel (включая Excel 2003 и Excel 365).
  • ✅ Не требует дополнительных настроек.
  • ✅ Мгновенно пересчитывается при изменении данных.
📊 Какую версию Excel вы используете чаще всего?
Excel 2010-2016
Excel 2019
Excel 365 (онлайн или десктоп)
Mac-версия Excel
Другая

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

Что делать, если нужно посчитать только ячейки с определённым типом данных? Например, количество текстовых записей, чисел больше 100 или дат в конкретном диапазоне? Здесь на помощь приходят функции СЧЁТЕСЛИ (COUNTIF) и СЧЁТЕСЛИМН (COUNTIFS).

СЧЁТЕСЛИ подходит для одного условия:

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

А СЧЁТЕСЛИМН — для нескольких (логическое И):

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

Примеры применения:

  • 🔢 Подсчёт чисел больше 50 в диапазоне B1:B100:
    =СЧЁТЕСЛИ(B1:B100; ">50")
  • 📅 Подсчёт дат в 2026 году:
    =СЧЁТЕСЛИМН(A1:A100; ">31.12.2023"; A1:A100; "<01.01.2026")
  • 📝 Подсчёт текстовых ячеек (игнорируя числа и даты):
    =СЧЁТЕСЛИ(A1:A100; "*") - СЧЁТЗ(A1:A100) + СЧЁТ(A1:A100)
    Пояснение: "*" — любой текст, СЧЁТЗ учитывает все непустые ячейки, а СЧЁТ — только числа.
Тип данных Формула Пример условия
Текст =СЧЁТЕСЛИ(диапазон; "*") "привет" (содержит слово "привет")
Числа =СЧЁТ(диапазон) ">100", "<5"
Дата/время =СЧЁТЕСЛИ(диапазон; ">дата") ">=ДАТА(2026;1;1)"
Пустые ячейки =СЧИТАТЬПУСТОТЫ(диапазон)
⚠️ Внимание: При подсчёте текстовых значений учитывайте регистр! Условие "Привет" не найдёт ячейки с текстом "привет". Для регистронезависимого поиска используйте функцию ПОИСК в составе формулы массива.

Убедиться, что диапазон не содержит скрытых символов (пробелов, неразрывных пробелов)

Проверить формат ячеек (даты должны быть в формате дат, а не текста)

Использовать абсолютные ссылки ($A$1:$A$100) если формула будет копироваться-->

3. Фильтр и строка состояния: визуальный подсчёт без формул

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

Способ 1: Строка состояния

  1. Выделите диапазон ячеек (например, A1:A100).
  2. Посмотрите на строку состояния внизу окна Excel — там отобразится количество Заполнено (или Count в английской версии).

Способ 2: Фильтр + строка состояния

  1. Примените фильтр к данным (Данные → Фильтр или Ctrl+Shift+L).
  2. Отфильтруйте нужные значения (например, только текст или числа больше 100).
  3. Выделите отфильтрованный диапазон — в строке состояния появится количество видимых заполненных ячеек.

Этот метод удобен для быстрой проверки, но имеет ограничения:

  • ❌ Не сохраняет результат в ячейке (придётся запоминать или записывать вручную).
  • ❌ Не работает с несмежными диапазонами.
  • ❌ Не учитывает скрытые строки, если фильтр не применён.

4. Условное форматирование: визуализация заполненных ячеек

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

Инструкция:

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

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

  • 🔍 Вручную посчитать выделенные строки (удобно для небольших таблиц).
  • 📊 Использовать функцию СЧЁТЗ в отдельной ячейке (как в первом методе).
⚠️ Внимание: Условное форматирование не обновляет автоматически функции в зависимых ячейках. Если вы добавите новые данные, придётся вручную пересчитывать результат или использовать СЧЁТЗ.
Как выделить ячейки с формулами, возвращающими пустую строку?

Используйте правило условного форматирования с формулой:

=ЕСЛИ(ЕПУСТО(A1); ИСТИНА; ЛОЖЬ)

Это поможет найти ячейки, которые выглядят пустыми, но содержат формулы типа =ЕСЛИ(B1=0; ""; B1*10).

5. Power Query: продвинутый подсчёт для больших данных

Если вы работаете с огромными таблицами (десятки тысяч строк) или нуждаетесь в автоматизированном подсчёте с дополнительной обработкой, на помощь придёт Power Query (доступен в Excel 2016+ и Excel 365). Этот инструмент позволяет не только считать заполненные ячейки, но и очищать данные, объединять таблицы и многое другое.

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

  1. Выделите исходные данные и перейдите на вкладку Данные → Из таблицы/диапазона (или Get & Transform → From Table/Range в английской версии).
  2. В открывшемся редакторе Power Query выберите столбец, по которому нужно произвести подсчёт.
  3. Нажмите Преобразовать → Статистика → Подсчёт значений (Transform → Statistics → Count Values).
  4. Сохраните запрос и загрузите результат обратно в Excel.

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

  • ⚡ Обрабатывает миллионы строк без зависаний.
  • 🔄 Автоматически обновляет данные при изменении источника.
  • 🛠️ Позволяет комбинировать подсчёт с другими операциями (фильтрация, замена значений).

Пример: если вам нужно посчитать заполненные ячейки в столбце "Статус", но только для строк, где в столбце "Дата" указан 2026 год, в Power Query это делается за 3 клика:

  1. Фильтруете столбец "Дата" по условию "начинается с 2026".
  2. Выделяете столбец "Статус" и применяете Подсчёт значений.
  3. Загружаете результат.

6. VBA-скрипты: автоматизация для опытных пользователей

Если вам нужно регулярно подсчитывать заполненные ячейки в десятках файлов или по сложным критериям, которые не покрывают стандартные функции, на помощь придёт VBA (Visual Basic for Applications). Этот метод требует базовых знаний программирования, но открывает безграничные возможности.

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

Sub CountNonEmptyCells()

Dim rng As Range

Dim count As Long

Set rng = Selection

count = rng.SpecialCells(xlCellTypeConstants).Count + _

rng.SpecialCells(xlCellTypeFormulas).Count

MsgBox "Количество заполненных ячеек: " & count

End Sub

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите диапазон в Excel и запустите макрос (F5).

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

  • 🤖 Полная автоматизация (можно запускать по расписанию или при открытии файла).
  • 🎯 Точная настройка под любые условия (например, игнорировать ячейки с конкретным цветом фона).
  • 📂 Обработка нескольких файлов или листов за один запуск.
⚠️ Внимание: Макросы могут быть опасны, если вы скачиваете файлы из ненадёжных источников. Всегда проверяйте код перед запуском и отключайте макросы в файлах от неизвестных отправителей.

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

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

Используйте комбинацию функций:

=СЧЁТЗ(диапазон) - СЧИТАТЬПУСТОТЫ(диапазон) - СЧЁТЕСЛИ(диапазон; "=")
Пояснение: СЧИТАТЬПУСТОТЫ учитывает пустые ячейки, а СЧЁТЕСЛИ(диапазон; "=") — ячейки с формулами, возвращающими "".

❓ Почему СЧЁТЗ считает ячейки с формулой =ЕСЛИ(A1=0; ""; A1) как заполненные?

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

=СУММПРОИЗВ(--(ДЛСТР(диапазон)>0))
Введите как формулу массива (в старых версиях Excel нажмите Ctrl+Shift+Enter).

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

Да, но с ограничениями:

  • 🔓 Функции (СЧЁТЗ, СЧЁТЕСЛИ) работают, если диапазон не заблокирован.
  • 🔒 Power Query и VBA требуют разблокировки листа или специальных разрешений.

Если лист защищён, а данные заблокированы, единственный способ — временно снять защиту (если у вас есть пароль).

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

В Google Sheets используйте те же функции, но с английским синтаксисом:

  • =COUNTA(A1:A100) — аналог СЧЁТЗ.
  • =COUNTIF(A1:A100; ">50") — аналог СЧЁТЕСЛИ.

Также в Google Таблицах есть удобная функция =QUERY для сложных запросов.

❓ Почему при копировании формулы СЧЁТЗ результат не обновляется?

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

  • 🔄 В настройках Excel отключён автоматический пересчёт (включите в Формулы → Параметры вычислений → Автоматически).
  • 📎 Формула скопирована как значение (используйте Специальная вставка → Формулы).
  • 🛡️ Диапазон в формуле зафиксирован абсолютными ссылками (например, $A$1:$A$100 вместо A1:A100).