Използване на IF с функциите AND, OR и NOT

Функцията IF ви позволява да направите логическо сравнение между стойност и това, което очаквате, като прави проверка на дадено условие и връща резултат дали това условие е "Вярно" или "Невярно".

  • АКО (нещо е "Вярно", направи еди си какво, в противен случай направи нещо друго)

Какво ще стане обаче, ако трябва да проверите множество условия, където например всички условия трябва да са "Вярно" или "Невярно" (И), или само едно условие трябва да е "Вярно" или "Невярно" (ИЛИ), или ако искате да проверите дали дадено условие не отговаря НЕ на вашите критерии? И трите функции могат да се използва самостоятелно, но много по-често се срещат в комбинация с функцията IF.

Използвайте функцията IF заедно с AND, OR и NOT, за да извършвате множество оценки дали условията са "Вярно" или "Невярно".

Синтаксис

  • IF(AND()) - IF(AND(логически1; [логически2]; ...); стойност_ако_вярно; [стойност_ако_невярно]))

  • IF(OR()) - IF(OR(логически1; [логически2]; ...); стойност_ако_вярно; [стойност_ако_невярно]))

  • IF(NOT()) - IF(NOT(логически1); стойност_ако_вярно; [стойност_ако_невярно]))

Име на аргумент

Описание

логически_тест (задължително)

Условието, което искате да проверите.

стойност_ако_вярно (задължително)

Стойността, която искате да се върне, ако резултатът от логически_тест е ВЯРНО.

стойност_ако_невярно (незадължително)

Стойността, която искате да се върне, ако резултатът от логически_тест е НЕВЯРНО.

Ето един общ преглед как да структурирате отделните функции AND, OR и NOT. Когато комбинирате всяка от тях с инструкция IF, тя се разчита така:

  • AND – =IF(AND(нещо е вярно; нещо друго е вярно); стойност ако е вярно; стойност ако е невярно)

  • OR – =IF(OR(нещо е вярно; нещо друго е вярно); стойност ако е вярно; стойност ако е невярно)

  • NOT – =IF(NOT(нещо е вярно); стойност ако е вярно; стойност ако е невярно)

Примери

По-долу са дадени примери за някои често срещани вложени инструкции IF(AND()), IF(OR()) и IF(NOT()). Функциите AND и OR поддържат до 255 отделни условия, но не е добра практика да използвате повече от няколко, тъй като сложните вложени формули може да са много трудни за създаване, тестване и поддръжка. Функцията NOT изисква само едно условие.

Примери за използване на IF с AND, OR и NOT за изчисляване на числови стойности и текст

Ето формулите, разписани според тяхната логика:

Формула

Описание

=IF(AND(A2>0;B2<100);TRUE; FALSE)

АКО A2 (25) е по-голямо от 0 И B2 (75) е по-малко от 100, тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай и двете условия са изпълнени, така че се връща ВЯРНО.

=IF(AND(A3="Червено";B3="Зелено");TRUE;FALSE)

АКО A3 ("Синьо") = "Червено" И B3 ("Зелено") е равно на "Зелено", се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай само първото условие е вярно, така че се връща НЕВЯРНО.

=IF(OR(A4>0;B4<50);TRUE; FALSE)

АКО A4 (25) е по-голямо от 0 ИЛИ B4 (75) е по-малко от 50, тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай само първото условие е вярно, но тъй като функцията ИЛИ изисква "вярно" само за един аргумент, формулата връща ВЯРНО.

=IF(OR(A5="Червено";B5="Зелено");TRUE;FALSE)

АКО A5 ("Синьо") = "Червено" ИЛИ B5 ("Зелено") е равно на "Зелено", се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай имаме "вярно" за втория аргумент, така че формулата връща ВЯРНО.

=IF(NOT(A6>50);TRUE;FALSE)

АКО A6 (25) НЕ Е по-голямо от 50, тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай 25 не е по-голямо от 50, така че формулата връща ВЯРНО.

=IF(NOT(A7="Червено");TRUE;FALSE)

АКО A7 ("Синьо") НЕ Е равно на "Червено", тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО.

Имайте предвид, че във всички примери има затваряща скоба след съответните въведени условия. Останалите аргументи Вярно/Невярно остават като част от външната инструкция IF. Също така можете да заместите стойностите ВЯРНО/НЕВЯРНО с текстови или числови стойности, които да се връщат в тези примери.

Ето някои примери за използване на AND, OR и NOT за изчисляване на дати.

Примери за използване на IF с AND, OR и NOT за изчисляване на дати

Ето формулите, разписани според тяхната логика:

Формула

Описание

=IF(A2>B2;TRUE;FALSE)

АКО A2 е по-голямо от B2, тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО. 12.03.2014 е по-голямо от 1.01.2014, така че формулата връща ВЯРНО.

=IF(AND(A3>B2;A3<C2);TRUE;FALSE)

АКО A3 е по-голямо от B2 И A3 е по-малко от C2, тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай имаме "вярно" и за двата аргумента, така че формулата връща ВЯРНО.

=IF(OR(A4>B2;A4<B2+60);TRUE;FALSE)

АКО A4 е по-голямо от B2 ИЛИ A4 е по-малко от B2+60, тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай за първия аргумент имаме "вярно", но за втория - "невярно". Тъй като функцията ИЛИ изисква "вярно" само за един аргумент, формулата връща ВЯРНО. Ако използвате съветника за изчисляване на формули от раздела "Формула", ще видите как Excel изчислява формулата.

=IF(NOT(A5>B2);TRUE;FALSE)

АКО A5 не е по-голямо от B2, тогава се връща ВЯРНО, в противен случай се връща НЕВЯРНО. В този случай A5 е по-голямо от B2, така че формулата връща НЕВЯРНО.

Пример за съветника за изчисляване на формули

Използване на AND, OR и NOT с условно форматиране

Можете да използвате AND, OR и NOT също и за да зададете критерии за условно форматиране с опцията "Формула". Когато направите това, можете да пропуснете функцията IF и да използвате AND, OR и NOT самостоятелно.

В раздела Начало щракнете върху Условно форматиране > Ново правило. След това изберете опцията "Използвайте формула, за да определите кои клетки да се форматират", въведете формулата и приложете формат по ваш избор.

Диалогов прозорец "Условно форматиране" > "Редактиране на правило", показващ метода "Формула"

Ако използваме горния пример с датите, ето как ще изглеждат формулите.

Пример за използване на AND, OR и NOT като проверки за условно форматиране


Формула

Описание

=A2>B2

Ако A2 е по-голямо от B2, клетката се форматира, в противен случай не се прави нищо.

=AND(A3>B2;A3<C2)

Ако A3 е по-голямо от B2 И A3 е по-малко от C2, клетката се форматира, в противен случай не се прави нищо.

=OR(A4>B2;A4<B2+60)

Ако A4 е по-голямо от B2 ИЛИ A4 е по-малко от B2+60 (дни), тогава клетката се форматира, в противен случай не се прави нищо.

=NOT(A5>B2)

Ако A5 НЕ Е по-голямо от B2, клетката се форматира, в противен случай не се прави нищо. В този случай A5 е по-голямо от B2, така че като резултат се връща НЕВЯРНО. Ако промените формулата на =NOT(B2>A5), тя ще върне ВЯРНО и клетката ще се форматира.

Забележка : Често срещана грешка е да въведете формулата за условно форматиране без знака за равенство (=). Ако направите това, ще видите, че диалоговият прозорец за условно форматиране добавя към формулата знак за равенство и кавички: ="OR(A4>B2;A4<B2+60)", така че ще трябва да махнете кавичките, за да може формулата да работи правилно.

Най-горе на страницата

Имате нужда от още помощ?

Винаги можете да попитате експерт в техническата общност на Excel, да получите поддръжка в общността за отговори или да предложите нова функция или подобрение на User Voice за Excel.

Вж. също

Вижте видео как да използвате функцията IF

Научете как да използвате вложени функции във формула

IF функция

AND функция

OR функция

NOT функция

Общ преглед на формулите в Excel

Начини за избягване на повредени формули

Използване на проверката за грешки за откриване на грешки във формули

Клавишни комбинации в Excel за Windows

Клавишни комбинации в Excel for Mac

Логически функции (справка)

Функции на Excel (по азбучен ред)

Функции на Excel (по категории)

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×