Подсчет пустых ячеек в MS EXCEL

Подсчет пустых ячеек? Имеется в виду ничего не содержащих ячеек? А есть разница? Разбираемся подробнее.

Под пустой ячейкой понимается ячейка, которая не содержит значения или формулы. Определить пустую ячейку можно с помощью функции ЕПУСТО().

Если необходимо подсчитать пустые ячейки в диапазоне A1:D4, то можно использовать формулу =СЧИТАТЬПУСТОТЫ(A1:D4) или =СУММПРОИЗВ(--ЕПУСТО(A1:D4)).

Но не все так просто.

Если ячейка содержит формулу, результатом которой является значение "" (Пустой текст), то начинаются сложности, т.к. одни функции считают, что это пустая ячейка, а другие с ними не соглашаются и считают, что Пустой текст – это текстовая строка. Еще более все усложняет то, что ячейка с Пустым текстом выглядит как пустая (если Пустой текст результат вычисления формулы или запись ="").

Что это еще за Пустой текст и откуда он берется? Значение Пустой текст (две кавычки (""), между которыми ничего нет) может быть результатом, например, вычисления формулы с условием: =ЕСЛИ(F1>0;"больше 0";"").
Т.е. разработчик намеренно использует значение Пустой текст. Это удобно, т.к. результат Пустой текст обладает замечательным свойством: ячейка выглядит пустой. Этого результата можно, конечно, добиться с помощью Условного форматирования или Пользовательского формата, но гораздо быстрее просто ввести "". Но, этот подход имеет и свою цену: некоторые функции и средства EXCEL интерпретирует ячейку, содержащую Пустой текст, как пустую ячейку, а другие, как содержащую текстовое значение.

Эксперимент

Для иллюстрации приведем пример того как рассматривают ячейку с Пустым текстом Условное форматирование и функция ЕПУСТО() (см. Файл примера).

Рассмотрим диапазон A1:D4, содержащий числа, текст, пустые ячейки и Пустой текст "" (наиболее общий случай).

Ячейка С4 содержит значение Пустой текст (введено как результат вычисления формулы =ЕСЛИ(1>2;1;"")) и выделена жирной границей. Условное форматирование с правилом «Форматировать только те ячейки, которые пустые» выделит действительно пустые ячейки и ячейку со значением Пустой текст!

Функция ЕПУСТО() не разделяет такого подхода и говорит, что в С4, что-то есть (формула =ЕПУСТО(C4) введенная в ячейку С5 возвращает ЛОЖЬ).

Функция СЧИТАТЬПУСТОТЫ() также как и Условное форматирование, учитывает при подсчете ячейки со значением Пустой текст вместе с пустыми ячейками.

Чтобы не запутаться с подсчетом пустых ячеек в диапазоне С2:С11 при наличии значений Пустой текст, приведем обобщающую таблицу:

Формула или средство EXCEL

Различает ли пустую ячейку и ячейку со значением Пустой текст?

Комментарий

Условное форматирование

нет

пустая ячейка и ячейка со значением Пустой текст считаются тождественными

=СЧИТАТЬПУСТОТЫ(С2:С11)

нет

подсчитает все пустые ячейки и ячейки, содержащие Пустой текст

=СУММПРОИЗВ(
--(C2:C11=""))

нет

--//--

=СЧЁТЕСЛИ(C2:C11;"")

нет

--//--

=СУММПРОИЗВ(--ЕПУСТО(C2:C11))

да

подсчет только пустых ячеек

Подробнее о подсчете значений в диапазонах с ячейками содержащих Пустой текст читайте в одноименной статье.

Связанные статьи

Похожие задачи
Прочитайте другие статьи, решающие похожие задачи в MS Excel. Это позволит Вам решать широкий класс подобных задач.
Средняя: 5 (10 оценок)