Допустим, что в некой колонке нам нужно по условию отобразить заметный маркер вроде «●» или «✅». Также допустим, что внизу таблицы нам нужно сосчитать и вывести количество ячеек, в которых присутствует маркер.
Составляем вот такую простую таблицу с именами:
Далее, в колонке «B» выводим маркер напротив имён, которые содержат более 5 букв:
Пока всё хорошо. Похоже, наша формула =IF(…,"●","")
вполне работает. Теперь сосчитаем ячейки с маркером (то есть, непустые ячейки) в колонке «B». Нам поможет функция COUNTA():
Что мы видим? Почему-то вывелось 5, хотя визуально непустых ячеек всего две. Мы знаем, что COUNTA()
использует ту же логику, что и ISBLANK()
. Вероятно, ISBLANK()
по какой-то причине возвращает FALSE
для всех ячеек, а не только для тех, в которых находится маркер. Проверяем наше предположение:
Хммм… Везде FALSE
. Значит, значение ""
не является пустым. Не будем заниматься гаданием, а перейдём сразу к ответу.
По замыслу разработчиков Google Sheets значение
""
действительно не является пустым (blank). Трудно сказать, почему они так решили, но это факт. В документации на ISBLANK() об этом ни слова.
Чтобы вывести настоящее пустое значение, нужна формула IFERROR(0/0)
.
Любопытен метод, которым пустое значение изготавливается. По сути IFERROR() — защита от ошибки при расчёте значения. Мы специально делим на ноль, вызывая ошибку, которую тут же сами «ловим».
Правим формулу вывода маркера и смотрим:
Теперь всё в порядке.
Запомнили: для вывода пустого значения используем формулу IFERROR(0/0)
.