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

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

В отличие от очевидных "дырок" в данных, скрытые пустые ячейки часто остаются незамеченными. Например, после импорта из CSV или копирования с веб-страниц в ячейках могут сохраняться непечатаемые символы (CHAR(10), CHAR(13)), которые Excel воспринимает как содержимое. Даже функция =ЕПУСТО() не всегда их распознаёт. В этой статье — 7 способов проверки с учётом таких нюансов, от ручного осмотра до автоматизированных скриптов.

1. Визуальный осмотр: когда достаточно глаз

Если таблица небольшая (до 500 строк), самый быстрый способ — визуальная проверка. Включите отображение формул через вкладку Формулы → Показать формулы или нажмите Ctrl + `. Это поможет выявить:

  • 🔹 Ячейки с формулами, возвращающими пустую строку (="").
  • 🔹 Скрытые символы (например, пробелы после текста).
  • 🔹 Ячейки с ошибками (#Н/Д, #ЗНАЧ!), которые иногда воспринимаются как пустые.

Для удобства используйте горячие клавиши навигации:

  • 🔹 Ctrl + → — перейти к последней заполненной ячейке в строке (если курсор остановится раньше, значит, есть пустые).
  • 🔹 Ctrl + End — перейти к последней ячейке с данными на листе (если результат неожиданный, в таблице есть "мусор").

2. Функция ЕПУСТО(): базовый метод с подводными камнями

Функция =ЕПУСТО(ячейка) возвращает ИСТИНА, если ячейка пуста, и ЛОЖЬ — если содержит данные. Однако она не распознаёт ячейки с формулами, возвращающими пустую строку (например, =ЕСЛИ(A1=0;"";"Значение")). Пример использования:

=ЕПУСТО(A1)  // Проверяет ячейку A1

=ЕСЛИ(ЕПУСТО(B2);"Пусто";"Есть данные")

Ограничения функции:

  • 🚫 Не видит пробелы или символы табуляции.
  • 🚫 Игнорирует ячейки с ошибками (#Н/Д, #ДЕЛ/0!).
  • 🚫 Не работает с массивами (требуется БЫСТР.АНАЛИЗ или ФИЛЬТР).
Как обойти ограничения ЕПУСТО()?

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

=И(ЕПУСТО(A1);ДЛСТР(A1)=0) — проверяет и пустоту, и длину содержимого.

Или для текста с пробелами:

=ИЛИ(ЕПУСТО(A1);A1="").

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

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

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

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

=ДЛСТР(A1)=0
📊 Какой метод проверки пустых ячеек вы используете чаще?
Функция ЕПУСТО
Условное форматирование
Горячие клавиши
Фильтр по пустым значениям

4. Фильтр и сортировка: быстрая очистка данных

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

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

Для сортировки:

  • 🔹 Выделите диапазон с заголовками.
  • 🔹 Нажмите Данные → Сортировка.
  • 🔹 В настройках сортировки выберите столбец и порядок По убыванию — пустые ячейки окажутся внизу.

5. Формулы для сложных случаев: пробелы, ошибки, непечатаемые символы

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

Цель проверки Формула Пример результата
Пустая ячейка или пробелы =ЕСЛИ(ДЛСТР(СЖПРОБЕЛЫ(A1))=0;"Пусто";"Есть данные") Распознаёт ячейки с одним или несколькими пробелами.
Ячейка с ошибкой (#Н/Д, #ЗНАЧ!) =ЕСЛИОШИБКА(A1;"Пусто") Заменяет ошибки на "Пусто".
Непечатаемые символы (перенос строки) =ЕСЛИ(ЧИСТ(A1)="";"Пусто";"Есть данные") Удаляет символы с кодами 0–31 (включая CHAR(10)).
Пустая ячейка или ноль =ЕСЛИ(ИЛИ(ЕПУСТО(A1);A1=0);"Пусто/ноль";"Другое") Различает реально пустые ячейки и нули.

Для проверки целого диапазона используйте формулу массива (введите с Ctrl + Shift + Enter в старых версиях Excel):

=СУММПРОИЗВ(--(ДЛСТР(СЖПРОБЕЛЫ(A1:A100))=0))

Эта формула вернёт количество реально пустых ячеек в диапазоне A1:A100, игнорируя пробелы.

6. Power Query: автоматизированная очистка данных

Если вы работаете с большими наборами данных (например, импортируете из SQL или CSV), используйте Power Query:

  1. Выделите диапазон и нажмите Данные → Из таблицы/диапазонаExcel 2016+).
  2. В редакторе Power Query выберите столбец, затем Главная → Заменить значения.
  3. В поле "Значение для поиска" оставьте пустым, в "Заменить на" укажите null или нужный текст.
  4. Нажмите Закрыть и загрузить.

Для удаления строк с пустыми ячейками:

  • 🔹 В Power Query выберите столбец → Главная → Удалить строки → Удалить пустые.
  • 🔹 Чтобы удалить строки, где все ячейки пустые, используйте Удалить строки → Удалить строки с ошибками (предварительно замените пустые значения на ошибки через =ЕСЛИ(ЕПУСТО(A1);#Н/Д;A1)).

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

Если нужно автоматизировать проверку в сотнях файлов, используйте макрос:

Sub FindEmptyCells()

Dim rng As Range, cell As Range

Set rng = Selection

For Each cell In rng

If IsEmpty(cell) Or Len(Trim(cell.Value)) = 0 Then

cell.Interior.Color = RGB(255, 200, 200) ' Красный цвет

End If

Next cell

End Sub

Как запустить:

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

Для удаления пустых строк целиком:

Sub DeleteEmptyRows()

Dim i As Long

For i = Cells.Rows.Count To 1 Step -1

If WorksheetFunction.CountA(Rows(i)) = 0 Then

Rows(i).Delete

End If

Next i

End Sub

✅ Удалите лишние пробелы функцией СЖПРОБЕЛЫ

✅ Замените непечатаемые символы через ЧИСТ или ПЕЧСИМВ

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

✅ Примените условное форматирование для визуального контроля

-->

Частые ошибки и как их избежать

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

⚠️ Внимание: Функция =ЕПУСТО() не распознаёт ячейки с формулой =НД() или ="" как пустые. Для таких случаев используйте =ЕСЛИ(ЯЧЕЙКА("тип";A1)="b";"Пусто";"Есть данные"), где "b" — код пустой ячейки.

Другие типичные проблемы:

  • 🔸 Ложные срабатывания: Ячейки с формулой =ЕСЛИ(A1=0;"";"Текст") воспринимаются как пустые, хотя содержат логику.
  • 🔸 Скрытые символы: После импорта из PDF или веб-страниц в ячейках остаются символы CHAR(160) (неразрывный пробел), которые ЕПУСТО() не видит.
  • 🔸 Ошибки форматирования: Ячейки с пользовательским форматом (;;; для скрытия нулей) могут казаться пустыми, но содержат данные.
⚠️ Внимание: При использовании Фильтра по пустым значениям Excel не учитывает ячейки с формулами, возвращающими "". Чтобы их отфильтровать, добавьте вспомогательный столбец с формулой =ЕСЛИ(ДЛСТР(A1)=0;"Пусто";"") и фильтруйте по нему.

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

Почему функция ЕПУСТО не работает с ячейками, где формула возвращает пустую строку?

Функция ЕПУСТО проверяет только физическое отсутствие данных в ячейке. Если ячейка содержит формулу (даже возвращающую ""), она не пуста с точки зрения Excel. Используйте =ДЛСТР(A1)=0 для проверки результата формулы.

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

Примените формулу =СЖПРОБЕЛЫ(A1)="" или условное форматирование с правилом =ДЛСТР(СЖПРОБЕЛЫ(A1))>0 (выделит ячейки с пробелами). Для массовой очистки используйте НАЙТИ/ЗАМЕНИТЬ (Ctrl + H): в поле "Найти" введите пробел, в "Заменить на" оставьте пустым.

Можно ли проверить пустоту ячейки в Google Sheets?

В Google Sheets работают те же принципы, но есть нюансы:

  • 🔹 Функция =ISBLANK() аналогична ЕПУСТО.
  • 🔹 Для проверки пробелов используйте =LEN(TRIM(A1))=0.
  • 🔹 Условное форматирование настраивается через Формат → Условное форматирование.

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

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

  • 🔹 Для реально пустых ячеек: =СЧЁТЕСЛИ(A1:A100;"").
  • 🔹 Для ячеек с пробелами или пустых: =СУММПРОИЗВ(--(ДЛСТР(СЖПРОБЕЛЫ(A1:A100))=0)) (вводите с Ctrl+Shift+Enter в старых версиях).
  • 🔹 Для ячеек с ошибками: =СЧЁТЕСЛИМНЖ(A1:A100;"#Н/Д").

Почему после удаления пустых строк номера строк сбиваются?

При удалении строк в Excel происходит сдвиг данных вверх, поэтому номера строк изменяются. Чтобы сохранить исходные номера:

  1. Добавьте вспомогательный столбец с номерами строк (=СТРОКА()).
  2. Преобразуйте формулы в значения (Копировать → Специальная вставка → Значения).
  3. Удалите пустые строки — номера останутся привязанными к данным.