Формула Excel: вычислять, только если не пусто -

Содержание

Общая формула

=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 содержит три значения (числа или текст), результатом будет ИСТИНА, и функция СУММ будет запущена. На самом деле это не имеет смысла для показанного примера (который требует числового ввода), но его можно использовать в других ситуациях.

Интересные статьи...