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

Пустые ячейки в Excel: почему это важно и когда требуется их подсчёт

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

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

  • 📊 Анализ полноты данных — перед построением отчётов или диаграмм нужно убедиться, что все необходимые поля заполнены.
  • 🔍 Поиск ошибок — пропущенные значения могут указывать на сбои при импорте данных или некорректную работу формул.
  • 📈 Оптимизация таблиц — избыток пустых ячеек увеличивает размер файла и замедляет вычисления.
  • 🤖 Автоматизация процессов — многие макросы и скрипты требуют предварительной очистки данных от пробелов.

В этой статье мы разберём 5 проверенных способов подсчёта пустых ячеек — от простых формул до продвинутых инструментов анализа. Вы узнаете, как отличать "" (пустую строку) от #N/A (ошибки), почему функция COUNTBLANK не всегда работает ожидаемо, и как обрабатывать скрытые символы (например, пробелы или неразрывные разрывы).

📊 Как часто вам приходится работать с пустыми ячейками в Excel?
Постоянно, это часть моей работы
Иногда, при анализе больших таблиц
Рядом, только если данные импортируются из других источников
Никогда, я всегда заполняю все ячейки

Способ 1: Функция COUNTBLANK — самый простой метод

Начнём с базового инструмента, который доступен во всех версиях Excel — функции COUNTBLANK. Она предназначена специально для подсчёта пустых ячеек и имеет простейший синтаксис:

=COUNTBLANK(диапазон)

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

=COUNTBLANK(A1:A100)

Однако у COUNTBLANK есть важные ограничения, о которых многие не знают:

  • ⚠️ Она считает только полностью пустые ячейки (без формул, пробелов или невидимых символов).
  • ⚠️ Ячейки с формулами, возвращающими "" (пустую строку), не учитываются как пустые.
  • ⚠️ Если в ячейке есть пробел или неразрывный разрыв (CHAR(160)), COUNTBLANK её проигнорирует.

Что такое неразрывный пробел и почему он мешает подсчёту?

Неразрывный пробел (код 160 в Unicode) — это специальный символ, который выглядит как обычный пробел, но не позволяет словам разрываться при переносе. Он часто попадает в Excel при копировании данных из веб-страниц или текстовых редакторов. Функция COUNTBLANK его не распознаёт как "пустоту", поэтому такие ячейки не будут учтены в результатах.

Пример: В таблице ниже показано, как COUNTBLANK ведёт себя с разными типами "пустоты":

Ячейка Содержимое COUNTBLANK считает пустой?
A1 Пусто (нажато Delete) ✅ Да
A2 ="" (формула) ❌ Нет
A3 Пробел (" ") ❌ Нет
A4 Неразрывный пробел (CHAR(160)) ❌ Нет
A5 #N/A (ошибка) ❌ Нет

Способ 2: Комбинация функций COUNTIF и ISBLANK для гибкого анализа

Когда COUNTBLANK не справляется (например, при наличии формул или скрытых символов), на помощь приходит комбинация COUNTIF и ISBLANK. Этот метод позволяет точнее контролировать, что именно считать пустым.

Вариант 1: Подсчёт ячеек с формулами, возвращающими ""

=COUNTIF(диапазон; "")

Вариант 2: Подсчёт реально пустых ячеек (включая ошибки)

=SUMPRODUCT(--(ISBLANK(диапазон)))

Разберём на примере. Допустим, у вас есть столбец B1:B10 с данными:

Убедитесь, что в диапазоне нет объединённых ячеек|Проверьте наличие скрытых символов функцией LEN|Отключите фильтры, если они применены к таблице|Сохраните резервную копию данных перед массовыми изменениями-->

Сравнение методов:

Метод Учитывает пустые строки от формул Учитывает ячейки с пробелами Учитывает #N/A Скорость работы
COUNTBLANK ❌ Нет ❌ Нет ❌ Нет ⚡ Быстро
COUNTIF("") ✅ Да ❌ Нет ❌ Нет ⚡ Быстро
SUMPRODUCT(ISBLANK) ❌ Нет ❌ Нет ✅ Да 🐢 Медленнее

Критичный нюанс: функция ISBLANK не распознаёт ячейки с формулами, возвращающими "" как пустые. Для них нужно использовать COUNTIF("").

Способ 3: Фильтрация данных — визуальный подход

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

Пошаговая инструкция:

  1. Выделите диапазон данных (включая заголовки).
  2. Перейдите на вкладку ДанныеФильтр (или нажмите Ctrl+Shift+L).
  3. Нажмите на стрелку фильтра в заголовке столбца и выберите (Пустые) в выпадающем списке.
  4. Excel отобразит только строки с пустыми ячейками в выбранном столбце.

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

  • 👁️ Визуализация — вы сразу видите все пропуски.
  • 🔄 Гибкость — можно фильтровать по нескольким столбцам одновременно.
  • 📊 Подготовка к очистке — удобно выделять и заполнять пустые ячейки прямо в отфильтрованном виде.

Ограничения:

  • ⚠️ Не подходит для автоматизации (нужно делать вручную).
  • ⚠️ Не учитывает ячейки с формулами, возвращающими "".
  • ⚠️ В больших таблицах (100 000+ строк) может тормозить.

⚠️ Внимание: Если после фильтрации вы удалите отображаемые строки, Excel удалит все строки целиком, а не только пустые ячейки. Чтобы избежать потери данных, используйте Удалить ячейки сдвигом влево.

Способ 4: Условное форматирование для выделения пустых ячеек

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

Как настроить:

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

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

  • 🎨 Наглядность — пустые ячейки сразу бросаются в глаза.
  • 🔄 Динамичность — форматирование обновляется автоматически при изменении данных.
  • 📌 Гибкость — можно комбинировать с другими правилами (например, выделять ячейки с ошибками другим цветом).

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

=LEN(A1)=0

Это правило будет игнорировать ячейки с пробелами или формулами, возвращающими "".

⚠️ Внимание: Условное форматирование не влияет на печать по умолчанию. Чтобы распечатать выделенные ячейки, перейдите в Файл → Печать → Параметры страницы и установите флажок Печатать с качеством черновика (в некоторых версиях Excel).

Способ 5: Power Query для сложных сценариев

Если вы работаете с очень большими таблицами (100 000+ строк) или данными из внешних источников (SQL, CSV, веб), стандартные функции Excel могут подтормаживать. В таких случаях оптимально использовать Power Query — инструмент для преобразования и очистки данных.

Пошаговая инструкция:

  1. Выделите ваш диапазон и перейдите на вкладку ДанныеИз таблицы/диапазона (в Excel 2016+).
  2. В открывшемся редакторе Power Query выберите столбец, в котором нужно посчитать пустые ячейки.
  3. Нажмите правой кнопкой на заголовок столбца → Заменить значения.
  4. В поле Значение для поиска оставьте пустым, в Заменить на введите NULL.
  5. Добавьте новый столбец с формулой = if [YourColumn] = null then 1 else 0.
  6. Сложите значения в новом столбце, чтобы получить количество пустых ячеек.
  7. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

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

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

Пример кода на языке M (для Power Query):

let

Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],

#"Added Custom" = Table.AddColumn(Source, "IsBlank", each if [Column1] = null then 1 else 0),

#"Grouped Rows" = Table.Group(#"Added Custom", {}, {{"BlankCount", each List.Sum([IsBlank]), type number}})

in

#"Grouped Rows"

⚠️ Внимание: В Power Query пустые ячейки и ячейки с NULL обрабатываются одинаково, но ячейки с формулами, возвращающими "", не считаются пустыми. Чтобы их учесть, предварительно замените "" на NULL с помощью команды Заменить значения.

Типичные ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при работе с пустыми ячейками. Вот самые распространённые ловушки и способы их обхода:

1. Ячейки "выглядят" пустыми, но ими не являются

Проблема: Ячейка визуально пустая, но COUNTBLANK её не считает. Причина — скрытые символы (пробелы, табуляции, неразрывные пробелы).

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

=TRIM(CLEAN(SUBSTITUTE(A1; CHAR(160); " ")))

2. Формулы, возвращающие пустую строку

Проблема: Формула вида =IF(B1>10; ""; "Мало") создаёт "пустую" ячейку, но ISBLANK её не распознаёт.

Решение: Замените "" на NA() или используйте COUNTIF с критерием "".

3. Объединённые ячейки

Проблема: COUNTBLANK некорректно работает с объединёнными ячейками, особенно если они частично пустые.

Решение: Разъедините ячейки перед подсчётом или используйте VBA.

4. Пустые ячейки в отфильтрованном диапазоне

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

Решение: Используйте SUBTOTAL с функцией 103 (для видимых ячеек):

=SUBTOTAL(103; диапазон)

5. Пустые ячейки в сводных таблицах

Проблема: Сводные таблицы по умолчанию скрывают пустые ячейки, что искажает подсчёты.

Решение: Перейдите в Параметры сводной таблицыМакеты и форматДля пустых ячеек отображать и укажите 0 или другой маркер.

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

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

Да, но с ограничениями. Если лист защищён без разрешения на использование функций, COUNTBLANK и другие формулы не будут работать. Решение: временно снимите защиту (если у вас есть пароль) или используйте Power Query, который обходит ограничения листа.

Почему COUNTBLANK считает ячейку с формулой ="" непустой?

Функция COUNTBLANK проверяет физическое отсутствие данных в ячейке. Формула, даже возвращающая пустую строку, считается содержимым. Для таких случаев используйте =COUNTIF(диапазон; "").

Как посчитать пустые ячейки в диапазоне с ошибками (#N/A, #VALUE!)?

Ошибки не считаются пустыми ячейками. Чтобы учесть их, комбинируйте COUNTBLANK с COUNTIF для ошибок:

=COUNTBLANK(диапазон) + COUNTIF(диапазон; "#N/A")

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

=SUMPRODUCT(--(ISBLANK(диапазон) + ISERROR(диапазон)))
Можно ли автоматически заполнять пустые ячейки значением из ячейки выше?

Да, с помощью функции Go To Special (Перейти → Выделить пустые ячейки) или формулы:

=IF(ISBLANK(A1); A2; A1)

Для массового заполнения:

  1. Выделите диапазон (включая заголовок).
  2. Нажмите F5ВыделитьПустые ячейки.
  3. Введите = и кликните на ячейку выше первой пустой.
  4. Нажмите Ctrl+Enter, чтобы применить ко всем выделенным ячейкам.

Как посчитать пустые ячейки в Google Sheets?

В Google Sheets работают те же функции, что и в Excel:

  • =COUNTBLANK(A1:A100) — для пустых ячеек.
  • =COUNTIF(A1:A100; "") — для ячеек с пустыми строками от формул.

Отличие: в Google Sheets нет Power Query, но есть Apps Script для сложных задач.