Использование логического И или ИЛИ в инструкции SUM+IF в Excel

Аннотация

В Microsoft Excel логические функции И и/или ИЛИ, использующиеся внутри инструкции SUM+IF для проверки диапазона для нескольких условий, могут работать неправильно. Вложенная инструкция IF обеспечивает эту функциональность. Однако в этой статье рассматривается второй, более простой метод с использованием следующим формул.

Для условных операторов И

=SUM(IF(Test1*Test2*...*Testn))

Для условных операторов ИЛИ

=SUM(IF(Test1+Test2+...+Testn))

Дополнительная информация

Используйте инструкцию SUM+IF, чтобы подсчитать количество ячеек в диапазоне, передаваемом заданному тесту, или суммировать эти значения в диапазоне, для которого соответствующие значения в другом (или том же) диапазоне соответствуют заданным критериям. Это поведение аналогично функции DSUM в Microsoft Excel.

Пример

В этом примере учитывается число значений в диапазоне A1:A10, которые включительно находятся в диапазоне от 1 до 10.

Для этого можно использовать следующую вложенную инструкцию IF:

=SUM(IF(A1:A10>=1,IF(A1:A10<=10,1,0)))

Следующий метод также работает, и его гораздо легче воспринимать, если вы проводите несколько тестов:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),1,0))

Следующий метод подсчитывает количество дат, которые находятся между двумя заданными датами:

=SUM(IF((A1:A10>=DATEVALUE("1/10/99"))*(A1:A10<=DATEVALUE("2/10/99")),1,0))

Примечание.

  • Эти формулы необходимо ввести как формулы массива, одновременно нажав клавиши CTRL+SHIFT+ВВОД. На компьютере Macintosh нажмите клавиши COMMAND+RETURN.
  • Массивы не могут ссылаться на целые столбцы.

С помощью этого метода результаты одного логического теста умножаются на другой логический тест, чтобы вернуть значения TRUE и FALSE функции SUM. Их можно приравнять к:

TRUE*TRUE=1
TRUE*FALSE=0
FALSE*TRUE=0
FALSE*FALSE=0

Метод, показанный выше, подсчитывает количество ячеек в диапазоне A1:A10, для которого оба теста имеют значение TRUE. Чтобы суммировать значения в соответствующих ячейках (например, B1:B10), измените формулу, как показано ниже:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),B1:B10,0))

Оператор ИЛИ можно реализовать в инструкции SUM+IF аналогичным образом. Для этого измените формулу, показанную выше, заменив знак умножения (*) знаком «плюс» (+). Это дает следующую общую формулу:

=SUM(IF((Test1)+(Test2)+...+(Testn),1,0))

Ссылки

Для получения дополнительных сведений о том, как рассчитать значение на основе условия, щелкните пункт «Справка Microsoft Excel» в меню «Справка», введите «расчет значения на основе условия» в помощнике или в мастере ответов, затем нажмите «Поиск» для просмотра раздела.