
Общая формула
=IF(criteria,formula(),"")
Резюме
Чтобы запустить формулу только в том случае, если одна или несколько ячеек не пустые, можно использовать функцию ЕСЛИ с соответствующими логическими критериями. В показанном примере формула E5 выглядит так:
=IF(COUNT(C5:C7)=3,SUM(C5:C7),"")
Поскольку C7 не имеет значения на приведенном выше экране, формула не показывает результата. На приведенном ниже экране C7 содержит число и отображается сумма:
Объяснение
Цель этого примера - проверить ввод перед вычислением результата. Ключевым моментом для понимания является то, что можно заменить любую действительную формулу. Функция СУММ используется только в качестве примера. Логика также может быть изменена разными способами в зависимости от ситуации.
В показанном примере мы используем функцию ЕСЛИ вместе с функцией СЧЁТ. Критерий - это выражение, основанное на функции СЧЁТ, которая считает только числовые значения:
COUNT(C5:C7)=3 // returns TRUE or FALSE
Пока диапазон содержит три числа (т.е. все 3 ячейки не пустые), результатом будет ИСТИНА, а ЕСЛИ запустит функцию СУММ. В противном случае результатом будет ЛОЖЬ, а ЕСЛИ вернет пустую строку (""). Поскольку C7 не имеет значения на приведенном выше экране, формула не показывает результата.
Есть много способов проверить наличие пустых ячеек, и некоторые из них описаны ниже.
С COUNTBLANK
Функция COUNTBLANK подсчитывает пустые ячейки в диапазоне, поэтому мы можем написать немного более компактную формулу, подобную этой:
=IF(COUNTBLANK(C5:C7),"",SUM(C5:C7))
Если COUNTBLANK возвращает любое число, кроме нуля, функция ЕСЛИ будет оценивать как ИСТИНА и ничего не вернет (""). Если COUNTBLANK возвращает ноль, IF оценивается как FALSE и возвращает сумму.
С ISBLANK
В показанном примере все входные ячейки находятся в одном непрерывном диапазоне. В случаях, когда ячейки не вместе, вы можете составить такую формулу:
=IF(OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)),"",SUM(C5:C7))
В этом примере используется буквальный подход с функцией ISBLANK. Поскольку мы хотим проверить все три ячейки одновременно, нам нужно трижды использовать ISBLANK внутри функции ИЛИ. Это логический тест внутри IF:
OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)
Когда OR возвращает TRUE (хотя бы одна ячейка пуста), IF возвращает пустую строку (""). Когда OR возвращает FALSE (нет пустых ячеек), IF запускает функцию SUM и возвращает результат:
SUM(C5:C7)
С логическими операторами
Функцию ISBLANK можно заменить стандартными логическими операторами, например:
=IF(OR(C5="",C6="",C7=""),"",SUM(C5:C7))
В качестве альтернативы, мы можем объединить не равно operator () с функцией AND следующим образом:
=IF(AND(C5"",C6"",C7""),SUM(C5:C7),"")
Обратите внимание, что функция СУММ была перенесена на ИСТИННЫЙ результат. Он будет работать, только если C5 и C6 и C5 не пусты.
С COUNTA
Наконец, вы можете использовать функцию СЧЁТ, чтобы проверить ввод чисел или текста:
=IF(COUNTA(C5:C7)=3,SUM(C5:C7),"")
Пока диапазон C5: C5 содержит три значения (числа или текст), результатом будет ИСТИНА, и функция СУММ будет запущена. На самом деле это не имеет смысла для показанного примера (который требует числового ввода), но его можно использовать в других ситуациях.