Как посчитать количество пустых ячеек в Excel: пошаговые инструкции и скрытые фишки

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

Пустые ячейки в Microsoft Excel — это не просто «дырки» в данных, а потенциальные источники ошибок в расчётах, искажений в отчётах и проблем при импорте информации в другие системы. Представьте: вы анализируете продажи за квартал, но 15% ячеек в столбце с суммами заказов пустые. Как это повлияет на итоговые цифры? А если эти данные пойдут в автоматизированную систему бухгалтерии?

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

  • 🔍 Выявить «прорехи» в базах данных перед отправкой отчётов руководству
  • 📊 Корректно рассчитать средние значения, игнорируя пропуски
  • 🤖 Подготовить данные для машинного обучения (где пустые значения часто требуют специальной обработки)
  • 🔄 Автоматизировать проверку заполненности анкет или опросных листов

В этой статье мы разберём 7 способов подсчёта пустых ячеек — от элементарных до профессиональных, включая малоизвестные приёмы с Power Query и VBA. Вы узнаете, какой метод выбрать для больших таблиц (100 000+ строк), как обойти ловушки с «невидимыми» символами и почему иногда COUNTBLANK врёт.

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

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

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

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

=COUNTBLANK(A1:A100)

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

  • ⚡ Мгновенный результат без дополнительных настроек
  • 📌 Работает во всех версиях Excel (начиная с Excel 2003)
  • 🔄 Автоматически обновляется при изменении данных

Но есть и подводные камни. COUNTBLANK считает пустыми только ячейки, которые совсем не содержат данных, включая:

  • 🚫 Ячейки с формулами, возвращающими пустую строку (="")
  • 🚫 Ячейки с пробелами или неразрывными пробелами (CHAR(160))
  • 🚫 Ячейки с нулевой длиной после очистки (LEN=0)
⚠️ Внимание: Если в ячейке есть формула =IF(условие;"";"значение"), которая возвращает пустую строку, COUNTBLANK посчитает её как пустую, хотя визуально она может выглядеть заполненной. Используйте ISTEXT для проверки таких случаев.

Убедитесь, что в диапазоне нет формул с ""|Проверьте наличие пробелов функцией TRIM|Исключите ячейки с нулевыми значениями (0 ≠ пустота)|Учтите, что COUNTBLANK игнорирует ячейки с ошибками (#N/A, #VALUE!)

-->

Способ 2: COUNTIF для гибкого подсчёта

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

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

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

Но настоящая мощь COUNTIF проявляется при комбинировании с другими условиями. Например, чтобы посчитать пустые ячейки только в видимой области после фильтра, используйте:

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

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

=COUNTIF(диапазон; " ")
Задача Формула Пример
Пустые ячейки (включая "") =COUNTIF(A1:A100; "") Подсчёт всех «чистых» пустых ячеек
Ячейки с пробелами =COUNTIF(A1:A100; " ") Найдёт ячейки с одним пробелом
Ячейки с нулевой длиной после TRIM =SUMPRODUCT(--(LEN(TRIM(A1:A100))=0)) Учитывает любое количество пробелов
Пустые ячейки в отфильтрованном диапазоне =SUBTOTAL(103; A1:A100) Работает только с видимыми строками

Профессиональный лайфхак: чтобы посчитать непустые ячейки, используйте:

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

COUNTBLANK|COUNTIF|Фильтр + строка состояния|VBA|Не знаю, как это делать-->

Способ 3: Фильтр + строка состояния — без формул

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

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

Теперь внизу окна Excel, в строке состояния, вы увидите количество отобранных строк (то есть пустых ячеек в этом столбце). Этот метод идеален для:

  • 📋 Быстрой проверки небольших таблиц (до 10 000 строк)
  • 👁️ Визуального контроля — вы сразу видите, где расположены пустые ячейки
  • 🔄 Динамического анализа: при изменении данных фильтр обновляется автоматически
⚠️ Внимание: Если в ячейке есть формула, возвращающая пустую строку (=""), фильтр посчитает её как пустую, но визуально такая ячейка может выглядеть как заполненная. Для точности комбинируйте этот метод с COUNTIF.

Бонус: чтобы выделить все пустые ячейки в таблице, после фильтрации нажмите Ctrl + A (выделить всё) → Alt + ; (выделить только видимые ячейки). Теперь их можно закрасить или заполнить значением по умолчанию.

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

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

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

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

  • 🔢 Вручную — по строке состояния (как в способе 3).
  • 📊 Автоматически — добавьте формулу =COUNTIF(диапазон; "") в отдельную ячейку.

Продвинутый трюк: если нужно выделить ячейки, которые должны быть заполнены (например, столбец с email в базе клиентов), используйте правило:

=И(A1<>""; B1="")

Эта формула выделит строки, где столбец A заполнен, а столбец B (email) — пуст.

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

Перейдите в Главная → Условное форматирование → Управление правилами. Выделите правило для пустых ячеек и нажмите Удалить правило. Если правил много, отсортируйте их по столбцу Форматирование применяется к, чтобы быстрее найти нужное.

Способ 5: Power Query для больших данных

Если вы работаете с таблицами на 100 000+ строк, обычные формулы Excel начинают тормозить. Здесь на помощь приходит Power Query (в новых версиях Excel называется Get & Transform). Этот инструмент не только посчитает пустые ячейки, но и поможет их заполнить или удалить.

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

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

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

  • ⚡ Обрабатывает миллионы строк без зависаний
  • 🔄 Сохраняет шаги обработки — при обновлении данных всё повторится автоматически
  • 🛠️ Позволяет не только считать, но и заполнять пустые ячейки средними значениями, данными из других столбцов и т.д.
⚠️ Внимание: В Power Query пустые ячейки и ячейки с NULL обрабатываются по-разному. Если вы импортировали данные из базы, где пустые значения обозначаются как NULL, используйте проверку = null, а не ="".

Способ 6: VBA для автоматизации

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

Sub CountEmptyCells()

Dim rng As Range

Dim count As Long

Set rng = Selection

count = 0

For Each cell In rng

If IsEmpty(cell) Or cell.Value = "" Then

count = count + 1

End If

Next cell

MsgBox "Пустых ячеек: " & count, vbInformation, "Результат подсчёта"

End Sub

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

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

Продвинутая версия макроса может:

  • 📌 Сохранять результаты в отдельном листе
  • 🔍 Искать пустые ячейки только в определённых столбцах
  • 🎨 Подсвечивать найденные пустые ячейки цветом
  • 📊 Строить сводную таблицу с распределением пустых значений по столбцам

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

Sub CountEmptyByColumns()

Dim ws As Worksheet

Dim lastRow As Long, lastCol As Long

Dim i As Long, emptyCount As Long

Set ws = ActiveSheet

lastRow = ws.Cells(ws.Rows.count, 1).End(xlUp).Row

lastCol = ws.Cells(1, ws.Columns.count).End(xlToLeft).Column

For i = 1 To lastCol

emptyCount = WorksheetFunction.CountBlank(ws.Columns(i).Resize(lastRow))

ws.Cells(1, i).Value = "Пустых: " & emptyCount

Next i

End Sub

⚠️ Внимание: Макросы с проверкой IsEmpty могут давать ложные результаты для ячеек с формулами, возвращающими пустую строку. Для точности комбинируйте IsEmpty с проверкой cell.Value = "" и Len(Trim(cell.Value)) = 0.

Способ 7: Сводные таблицы для анализа распределения

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

Инструкция:

  1. Выделите исходную таблицу (включая заголовки).
  2. Нажмите Вставка → Сводная таблица.
  3. В окне сводной таблицы перетащите поле с категориями (например, «Регион») в область Строки.
  4. Перетащите тот же столбец, где ищете пустые ячейки, в область Значения (Excel посчитает количество непустых записей).
  5. Щёлкните по стрелочке рядом с полем в области ЗначенияПараметры полей значений → Дополнительные вычисления → % от строки.
  6. Добавьте ещё одно поле в Значения, но на этот раз выберите Количество и примените фильтр для пустых ячеек.

В результате вы получите таблицу, где будет видно:

  • 📍 В каких категориях больше всего пустых значений
  • 📊 Процент пустых ячеек от общего числа записей
  • 🔍 Возможные закономерности (например, в одном регионе пропущено 30% телефонов, а в другом — только 5%)

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

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

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

COUNTBLANK воспринимает ячейку с формулой ="" как пустую, потому что визуально она не содержит данных. А COUNTA считает все непустые ячейки, включая те, где формула возвращает пустую строку — ведь сама ячейка не пуста, она содержит формулу. Это ключевое отличие в логике работы функций.

Чтобы обойти это, используйте комбинацию:

=SUMPRODUCT(--(LEN(A1:A100)=0))

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

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

Для подсчёта пустых ячеек только в видимых строках после применения фильтра используйте функцию SUBTOTAL:

=SUBTOTAL(103; A2:A100)

Аргумент 103 означает подсчёт видимых ячеек по критерию COUNTBLANK. Альтернативные аргументы:

  • 2 — подсчёт непустых ячеек (COUNTA)
  • 102 — подсчёт видимых строк (COUNT)
Можно ли посчитать пустые ячейки в Google Таблицах?

Да, в Google Sheets работают те же принципы, но с нюансами:

  • =COUNTBLANK(A1:A100) — аналогично Excel
  • =COUNTA(A1:A100) - COUNTIF(A1:A100; "<>""") — альтернативный способ
  • Фильтр + строка состояния — работает так же, как в Excel

Отличие: в Google Таблицах нет Power Query, но есть Apps Script для автоматизации.

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

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

=SUMPRODUCT(--(LEN(TRIM(A1:A100))=0))

Эта формула:

  1. Удаляет все пробелы в начале и конце ячейки (TRIM)
  2. Проверяет длину оставшегося содержимого (LEN)
  3. Считает ячейки, где длина равна 0 (то есть совсем пустые)

Для поиска ячеек с неразрывными пробелами (CHAR(160)) используйте:

=COUNTIF(A1:A100; CHAR(160))
Как автоматически заполнить пустые ячейки значением из ячейки выше?

Если пустые ячейки нужно заполнить данными из предыдущей строки (например, для заполнения пропусков в столбце с категориями), используйте:

  1. Выделите диапазон с пустыми ячейками.
  2. Нажмите F5 → Выделить → Пустые ячейки → ОК.
  3. Введите = и стрелкой вверх выберите ячейку выше.
  4. Нажмите Ctrl + Enter, чтобы применить формулу ко всем выделенным ячейкам.
  5. Скопируйте диапазон и выполните Специальная вставка → Значения, чтобы заменить формулы на данные.

Для больших таблиц лучше использовать Power Query (шаг Заполнить вверх).