Использование логического И или ИЛИ в инструкции 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» в меню «Справка», введите «расчет значения на основе условия» в помощнике или в мастере ответов, затем нажмите «Поиск» для просмотра раздела.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по