Работа с большими таблицами в Microsoft Excel часто требует анализа заполненности данных. Пустые ячейки — это не просто "дыры" в информации, а потенциальные ошибки, пропущенные значения или намеренно оставленные пробелы для будущих записей. Их подсчёт помогает оценить полноту данных перед анализом, выявить несоответствия в отчётах или автоматизировать проверку форм. Но как точно определить количество незаполненных ячеек, если вручную пересчитывать их нереально?
В этой статье мы разберём 5 проверенных методов — от элементарных функций до продвинутых приёмов с использованием Power Query и VBA. Вы узнаете, как отличать действительно пустые ячейки от тех, что содержат невидимые символы (пробелы, апострофы), как учитывать условное форматирование и даже как автоматизировать процесс для регулярных отчётов. Все решения протестированы в Excel 2010–2023 и адаптированы для Google Таблиц.
1. Базовый метод: функция СЧЁТПУСТОТ (COUNTBLANK)
Самый простой способ — использовать встроенную функцию СЧЁТПУСТОТ (англ. COUNTBLANK). Она подсчитывает количество ячеек в диапазоне, которые не содержат данных, включая текст, числа и даже формулы, возвращающие пустую строку "".
Синтаксис функции:
=СЧЁТПУСТОТ(диапазон)
Примеры применения:
- 📌 Подсчёт пустых ячеек в столбце
Aс 1 по 100 строку:=СЧЁТПУСТОТ(A1:A100) - 📌 Анализ всей таблицы
A1:D50:=СЧЁТПУСТОТ(A1:D50) - 📌 Динамический диапазон (если данные заканчиваются в строке 50):
=СЧЁТПУСТОТ(A1:A50)+CTRL+SHIFT+↓для автозаполнения
Ограничения метода:
⚠️ Внимание: ФункцияСЧЁТПУСТОТсчитает пустыми ячейки с формулами, возвращающими""(например,=ЕСЛИ(A1=0;"";"Данные")). Если вам нужно исключить такие случаи, используйте метод сСЧЁТЕСЛИ(раздел 3).
2. Альтернатива: комбинация СЧЁТЗ и СЧИТАТЬПУСТОТЫ
Если вам нужно посчитать пустые ячейки в диапазоне, где уже есть другие данные, можно пойти от обратного: вычесть количество непустых ячеек из общего числа ячеек. Для этого используйте пару функций:
СЧЁТЗ(англ.COUNTA) — считает все непустые ячейки.СЧИТАТЬПУСТОТЫ— это просто разность между общим количеством ячеек иСЧЁТЗ.
Формула:
=СТРОКА(диапазон)*СТОЛБЕЦ(диапазон) - СЧЁТЗ(диапазон)
Пример для диапазона B2:B100:
=99 - СЧЁТЗ(B2:B100)
Когда этот метод полезен:
- 🔹 При работе с структурированными таблицами, где нужно исключить заголовки.
- 🔹 Если диапазон содержит формулы, которые могут возвращать пустые строки (например,
ВПРс ошибкой#Н/Д).
3. Продвинутый подсчёт: СЧЁТЕСЛИ с критерием ""
Функция СЧЁТЕСЛИ (англ. COUNTIF) позволяет гибко настраивать условия подсчёта. Для поиска пустых ячеек используйте критерий "" (две кавычки без пробела). Этот метод точнее СЧЁТПУСТОТ, так как игнорирует ячейки с формулами, возвращающими пустую строку.
Синтаксис:
=СЧЁТЕСЛИ(диапазон; "")
Сравнение с СЧЁТПУСТОТ:
| Метод | Считает ячейки с формулой ="" | Считает ячейки с пробелом | Работает в Google Таблицах |
|---|---|---|---|
СЧЁТПУСТОТ | Да | Нет | Да |
СЧЁТЕСЛИ(;"") | Нет | Нет | Да |
СЧЁТЗ (обратный метод) | Зависит от формулы | Да (считает как непустую) | Да |
Критическое отличие: СЧЁТЕСЛИ(;"") не учитывает ячейки с формулами, возвращающими пустую строку, в отличие от СЧЁТПУСТОТ. Это важно для отчётов, где пустые значения генерируются автоматически.
4. Подсчёт с учётом невидимых символов (пробелы, апострофы)
Частая проблема: ячейка визуально пустая, но содержит пробел, неразрывный пробел (CHAR(160)), апостроф или другой непечатаемый символ. Стандартные функции такие ячейки не посчитают как пустые. Решение — использовать комбинацию функций для "очистки" данных:
Формула для подсчёта реально пустых ячеек (без скрытых символов):
=СУММПРОИЗВ(--(ДЛСТР(ПЕЧСИМВ(диапазон))=0))
Где:
ПЕЧСИМВ— удаляет все непечатаемые символы.ДЛСТР— проверяет длину оставшегося текста.СУММПРОИЗВ— суммирует результаты (1 для пустых, 0 для непустых).
Пример для диапазона A1:A10:
=СУММПРОИЗВ(--(ДЛСТР(ПЕЧСИМВ(A1:A10))=0))
Если нужно найти ячейки с пробелами, используйте:
=СЧЁТЕСЛИ(диапазон; " ")
Как удалить невидимые символы из ячеек?
Чтобы очистить данные от пробелов и апострофов, используйте функцию СЖПРОБЕЛЫ (убирает лишние пробелы) или комбинацию:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"'";"");СИМВОЛ(160);"")
Где:
- "'" — апостроф (может использоваться для форматирования чисел как текста).
- СИМВОЛ(160) — неразрывный пробел.
5. Визуальный метод: фильтрация пустых ячеек
Если вам не нужна формула, а достаточно визуально выделить или посчитать пустые ячейки, используйте встроенные инструменты фильтрации:
Шаги для Excel 2016–2023:
- Выделите диапазон с заголовками (например,
A1:D100). - Перейдите на вкладку
Данные→Фильтр(или нажмитеCTRL+SHIFT+L). - Нажмите на стрелочку фильтра в заголовке столбца → снимите галочку с
(Выделить всё)→ поставьте галочку только напротив(Пустые). - Excel отобразит только пустые строки. Их количество будет в строке состояния (внизу окна).
Преимущества метода:
- 👁️ Визуальный контроль — вы сразу видите, где пропуски.
- 📊 Можно применить условное форматирование к отфильтрованным ячейкам (например, закрасить их красным).
- 🔄 Легко исправить данные прямо в фильтре.
⚠️ Внимание: Фильтр учитывает ячейки с формулами, возвращающими"", как пустые. Если вам нужно их исключить, предварительно применитеСпециальная вставка → Значения(CTRL+ALT+V → З).
Удалить лишние пробелы (СЖПРОБЕЛЫ)
Заменить неразрывные пробелы (CHAR(160)) на обычные
Проверить формулы на возвращаемые пустые строки
Сохранить резервную копию таблицы-->
6. Автоматизация: макрос VBA для подсчёта пустых ячеек
Если вам нужно регулярно анализировать большие таблицы, напишите простой макрос на VBA. Он подсчитает пустые ячейки с учётом ваших критериев (например, игнорируя формулы).
Код макроса:
Sub CountEmptyCells()
Dim rng As Range
Dim emptyCount As Long
Dim cell As Range
' Задайте диапазон для анализа
Set rng = Selection ' или укажите явно: Range("A1:D100")
emptyCount = 0
For Each cell In rng
' Проверяем, что ячейка действительно пуста (без формул и пробелов)
If IsEmpty(cell) Or (cell.Value = "" And cell.Formula = "") Then
emptyCount = emptyCount + 1
End If
Next cell
MsgBox "Количество пустых ячеек: " & emptyCount, vbInformation
End Sub
Как использовать:
- Нажмите
ALT+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Выделите диапазон в Excel и запустите макрос (
F5или черезView → Macros).
Модификации макроса:
- 🔧 Чтобы учитывать ячейки с пробелами, замените условие на:
If Trim(cell.Value) = "" Then. - 🔧 Для анализа только видимых ячеек (например, после фильтра) добавьте:
If Not cell.EntireRow.Hidden Then.
7. Power Query: подсчёт пустых ячеек в больших данных
Для обработки крупных наборов данных (тысячи строк) удобнее использовать Power Query — инструмент ETL (извлечение, преобразование, загрузка), встроенный в Excel 2016+. Он позволяет:
- 📊 Анализировать данные без изменения исходной таблицы.
- 🔄 Автоматизировать процесс (обновление при изменении источника).
- 📌 Подсчитывать пустые ячейки с учётом сложных условий (например, только в определённых столбцах).
Пошаговая инструкция:
- Выделите диапазон → вкладка
Данные→Из таблицы/диапазона(илиGet Data → From Table/Range). - В редакторе Power Query выделите столбец →
Добавить столбец → Пользовательский столбец. - Введите формулу для проверки пустоты:
= if [Column1] = null or [Column1] = "" then 1 else 0. - Добавьте группировку (
Преобразовать → Группировка) по новому столбцу с операциейСумма. - Нажмите
Закрыть и загрузить— результат появится на новом листе.
Преимущества Power Query:
- ⚡ Обрабатывает миллионы строк без замедления Excel.
- 🔗 Можно объединять данные из нескольких источников (например, CSV + SQL).
- 📅 Легко обновлять отчёты по расписанию.
FAQ: Частые вопросы о подсчёте пустых ячеек
❓ Почему СЧЁТПУСТОТ считает ячейку пустой, хотя там есть формула?
Функция СЧЁТПУСТОТ воспринимает как пустые ячейки, где формула возвращает пустую строку (=""). Чтобы исключить их, используйте СЧЁТЕСЛИ(диапазон; "") или проверяйте длину значения с ДЛСТР.
❓ Как посчитать пустые ячейки в фильтрованном диапазоне?
Стандартные функции не учитывают фильтры. Решения:
- Скопируйте видимые ячейки в новый диапазон (
ALT; + ;выделяет только видимые) и применитеСЧЁТПУСТОТ. - Используйте макрос VBA (раздел 6) с проверкой
cell.EntireRow.Hidden.
❓ Можно ли посчитать пустые ячейки в Google Таблицах?
Да, все описанные функции работают в Google Sheets:
=COUNTBLANK(A1:A100)— аналогСЧЁТПУСТОТ.=COUNTIF(A1:A100; "")— аналогСЧЁТЕСЛИ.- Для
Power Queryиспользуйте Google Apps Script.
❓ Как выделить пустые ячейки цветом?
Используйте условное форматирование:
- Выделите диапазон →
Главная → Условное форматирование → Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - Установите условие
Значение → равняется → ""(две кавычки). - Задайте формат (например, красный фон) и нажмите
ОК.
❓ Почему моя формула возвращает #ЗНАЧ! при подсчёте пустых ячеек?
Ошибка #ЗНАЧ! возникает, если:
- Диапазон содержит ячейки с ошибками (например,
#ДЕЛ/0!). - Вы используете
СУММПРОИЗВс несопоставимыми диапазонами. - В формуле есть опечатка (например, лишняя запятая).
Решение: проверьте диапазон на ошибки или используйте ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(СЧЁТПУСТОТ(A1:A100); 0)