Если нужно найти данные, соответствующие нескольким условиям, например товары, проданные с апреля по январь, или объем продаж Катерины, можно использовать функции И и ИЛИ вместе. Пример:
Эта формула вложена функция AND в функцию OR для поиска единиц, проданных в период с 1 апреля 2011 г. по 1 января 2012 г., или любых единиц, проданных компанией "Нэнси". Вы можете увидеть, что он возвращает Значение true для единиц, проданных Нэнси, а также для единиц, проданных Тимом и Эдом в даты, указанные в формуле.
Ниже приведена формула в форме, которую можно скопировать и вставить. Если вы хотите играть с ним в примере книги, см. конец этой статьи.
=ИЛИ(И(C2>ДАТА(30,4,2011),C2<ДАТА(1,1,2012)),B2="Катерина")
Давайте немного углубимся в формулу. Для функции OR требуется набор аргументов (фрагментов данных), которые можно проверить, чтобы определить, соответствуют ли они значению true или false. В этой формуле первым аргументом является функция AND и вложенная в нее функция DATE , а второй — "Нэнси". Формулу можно прочитать следующим образом: Проверьте, была ли продажа сделана после 30 апреля 2011 года и до 1 января 2012 года или была сделана Нэнси.
Функция AND также возвращает значение True или False. В большинстве случаев ее используют для расширения возможностей других функций, таких как ИЛИ и ЕСЛИ. В данном примере функция ИЛИ не нашла бы правильные даты без функции И.
Использование функций И и ИЛИ с функцией ЕСЛИ
Функции И и ИЛИ можно использовать с функцией ЕСЛИ.
В этом примере люди не получают бонусы, пока не продадут товары на сумму не менее 125 000 долларов США, если только они не работают в южном регионе, где рынок меньше. В этом случае они имеют право на бонус после $ 100000 в продажах.
=ЕСЛИ(ИЛИ(C4>=125000;И(B4="Южный";C4>=100000))=ИСТИНА;C4*0,12;"Премия не положена")
Давайте посмотрим немного глубже. Для правильного выполнения функции IF требуются три фрагмента данных (аргументы). Первый является логическим тестом, второй — значением, которое вы хотите увидеть, возвращает ли тест True, а третий — значение, которое вы хотите увидеть, возвращает ли тест false. В этом примере функция OR и все вложенные в нее элементы предоставляют логический тест. Его можно прочитать следующим образом: Найдите значения, превышающие 125 000 или равных 125 000, если только значение в столбце C не является "South", а затем найдите значение больше 100 000 и каждый раз, когда оба условия выполняются, умножьте значение на 0,12, сумму комиссии. В противном случае отобразятся слова "Нет бонуса".
Образец данных
Если вы хотите работать с примерами из этой статьи, скопируйте следующую таблицу в ячейку A1 в собственной электронной таблице. Обязательно выделите всю таблицу, включая строку заголовка.
Продавец |
Область |
Продажи |
Формула или результат |
---|---|---|---|
Гладких |
Восточный |
87925 |
=ЕСЛИ(OR(C2>=125000,AND(B2="South";C2>=1000000))=TRUE,C2*0.12;"Без бонуса") |
Ильина |
Северный |
100000 |
=IF(OR(C3>=125000;AND(B3="South";C3>=1000000))=TRUE,C3*0.12;"Без бонуса") |
Песоцкий |
Западный |
145000 |
=ЕСЛИ(ИЛИ(C4>=125000;И(B4="Южный";C4>=100000))=ИСТИНА;C4*0,12;"Премия не положена") |
Корепин |
Южный |
200750 |
=IF(OR(C5>=125000,AND(B5="South";C5>=1000000))=TRUE,C5*0.12;"Нет бонуса") |
Зуева |
Южный |
178650 |
=ЕСЛИ(OR(C6>=125000,AND(B6="South";C6>=1000000))=TRUE,C6*0.12;"Нет бонуса") |
Томас |
Северный |
99555 |
=IF(OR(C7>=125000,AND(B7="South";C7>=1000000))=TRUE,C7*0.12;"Без бонуса") |
Кивер |
Восточный |
147000 |
=ЕСЛИ(OR(C8>=125000,AND(B8="South";C8>=1000000))=TRUE,C8*0.12;"Без бонуса") |
Кассазза |
Северный |
213450 |
=IF(OR(C9>=125000,AND(B9="South";C9>=1000000))=TRUE,C9*0.12;"Без бонуса") |
Браунли |
Южный |
122680 |
=IF(OR(C10>=125000,AND(B10="South";C10>=1000000))=TRUE,C10*0.12;"Без бонуса") |
Смитберг |
Западный |
92500 |
=IF(OR(C11>=125000,AND(B11="South";C11>=1000000))=TRUE,C11*0.12;"Без бонуса") |
Бенсон |
Восточный |
88350 |
=IF(OR(C12>=125000,AND(B12="South";C12>=1000000))=TRUE,C12*0.12;"Без бонуса") |
Чтение |
Западный |
102500 |
=IF(OR(C13>=125000,AND(B13="South";C13>=1000000))=TRUE,C13*0.12;"Без бонуса") |