Функція ЕСЛИ в Excel з декількома умовами

  • Поділитися Цим
Michael Brown

Урок показує, як створювати кілька операторів IF в Excel за допомогою логіки AND та OR. Також ви дізнаєтеся, як використовувати IF разом з іншими функціями Excel.

У першій частині нашого підручника з Excel IF ми розглянули, як побудувати простий оператор IF з однією умовою для тексту, чисел, дат, пропусків і не пропусків. Однак для ефективного аналізу даних часто може знадобитися оцінка декількох умов одночасно. Наведені нижче приклади формул покажуть вам найефективніші способи зробити це.

    Як використовувати функцію ЕСЛИ з декількома умовами

    По суті, розрізняють два види Формула IF з декількома критеріями на основі логіки І / АБО Отже, в логічному тесті вашої формули ЯКЩО слід використовувати одну з цих функцій:

    • Функція AND - повертає ІСТИНА, якщо всі умови виконуються; у протилежному випадку - FALSE.
    • Функція OR - повертає ІСТИНА, якщо будь-яка окрема умова виконується; FALSE у протилежному випадку.

    Щоб краще проілюструвати цю тезу, розглянемо кілька реальних прикладів формул.

    Оператор ЕСЛИ в Excel з декількома умовами (логіка І)

    Загальна формула Excel ЕСЛИ з двома і більше умовами виглядає наступним чином:

    ЯКЩО(І( умова1 , умова2 , ...), value_if_true, value_if_false)

    У перекладі на людську мову формула звучить так: Якщо умова 1 істинна І умова 2 істинна, повернути value_if_true ; else return value_if_false .

    Припустимо, у вас є таблиця, в якій у стовпчиках B і C вказані бали за два тести. Для того, щоб скласти випускний іспит, студент повинен мати обидва бали, більші за 50.

    Для логічної перевірки використовується наступний оператор AND: AND(B2>50, C2>50)

    Якщо обидві умови істинні, формула поверне "Pass", якщо будь-яка умова хибна - "Fail".

    =IF(AND(B2>50, B2>50), "Pass", "Fail")

    Знімок екрана нижче доводить, що наша формула Excel IF / AND працює правильно:

    Аналогічним чином можна використовувати функцію Excel ЕСЛИ з декількома текстові умови .

    Наприклад, виводити "Добре", якщо і B2, і C2 більше 50, "Погано" в іншому випадку, формула має вигляд:

    =IF(AND(B2="pass", C2="pass"), "Good!", "Bad")

    Важливо! Функція AND перевіряє всі умови навіть якщо вже перевірена умова (умови) повернула значення FALSE. Така поведінка є дещо незвичною, оскільки в більшості мов програмування наступні умови не перевіряються, якщо будь-яка з попередніх перевірок повернула значення FALSE.

    На практиці, здавалося б, правильний оператор IF може призвести до помилки через цю специфіку. Наприклад, наведена нижче формула поверне #DIV/0! (помилка "поділити на нуль"), якщо комірка A2 дорівнює 0:

    =IF(AND(A20, (1/A2)>0.5), "Добре", "Погано")

    Щоб уникнути цього, слід використовувати вкладену функцію IF:

    =IF(A20, IF((1/A2)>0.5, "Добре", "Погано"), "Погано")

    Для отримання додаткової інформації, будь ласка, дивіться формулу ЕСЛИ И в Excel.

    Функція ЕСЛИ в Excel з декількома умовами (логіка АБО)

    Зробити одне, якщо будь-яка умова виконується, інакше зробити щось інше, використовуйте цю комбінацію функцій IF та OR:

    ЯКЩО(АБО( умова1 , умова2 , ...), value_if_true, value_if_false)

    Відмінність від розглянутої вище формули ЕСЛИ / И полягає в тому, що Excel повертає значення ІСТИНА, якщо будь-яка із зазначених умов істинна.

    Отже, якщо в попередній формулі ми використовуємо АБО замість І:

    =IF(OR(B2>50, B2>50), "Pass", "Fail")

    Тоді кожен, хто набере більше 50 балів з обох іспитів, отримає "Pass" у колонці D. За таких умов наші студенти мають більше шансів скласти фінальний іспит (особливо не пощастило Іветті, якій не вистачило всього 1 балу :)

    Порада: якщо ви створюєте множинний оператор IF з текстом і перевірка значення в одній комірці за допомогою логіки АБО (тобто комірка може бути "ця" або "та"), то можна побудувати більш компактну формулу з використанням константи масиву.

    Наприклад, щоб позначити продаж як "закритий", якщо комірка B2 має значення "доставлено" або "оплачено", формула виглядає наступним чином:

    =IF(OR(B2={"доставлено", "оплачено"}), "Закрито", "")

    Більше прикладів формул можна знайти у функції Excel IF OR.

    IF з декількома операторами AND та OR

    Якщо ваша задача вимагає оцінки декількох наборів множинних умов, вам доведеться використовувати обидві функції І та АБО одночасно.

    У нашому прикладі таблиці припустимо, що Ви маєте наступні критерії перевірки результатів іспиту:

    • Умова 1: іспит 1 - 50 та іспит 2 - 50
    • Умова 2: іспит 1 - 40 років та іспит 2 - 60 років

    У разі виконання будь-якої з умов випускний іспит вважається складеним.

    На перший погляд, формула здається трохи складною, але насправді це не так! Ви просто виражаєте кожну з наведених вище умов у вигляді оператора І та вкладаєте їх у функцію АБО (оскільки не обов'язково виконувати обидві умови, достатньо будь-якої з них):

    АБО(І(B2>50, C2>50), І(B2>40, C2>60)

    Потім використовуйте функцію АБО для логічного тесту IF і подайте бажане значення value_if_true і value_if_false В результаті ви отримуєте наступну формулу IF з декількома умовами І / АБО:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

    Скріншот нижче свідчить про те, що ми зробили формулу правильно:

    Звичайно, ви не обмежуєтеся використанням тільки двох функцій І/АБО у формулах IF. Ви можете використовувати їх стільки, скільки вимагає ваша бізнес-логіка, за умови, що:

    • В Excel 2007 і вище у вас не більше 255 аргументів, а загальна довжина формули ЕСЛИ не перевищує 8 192 символів.
    • В Excel 2003 і нижче існує не більше 30 аргументів, а загальна довжина формули ЕСЛИ не перевищує 1024 символів.

    Вкладений оператор IF для перевірки декількох логічних тестів

    Якщо в межах однієї формули потрібно обчислити декілька логічних тестів, то можна вкласти декілька функцій одна в іншу. Такі функції називаються вкладені функції IF Вони виявляються особливо корисними, коли потрібно повертати різні значення в залежності від результатів логічних тестів.

    Наведемо типовий приклад: припустимо, ви хочете кваліфікувати досягнення учнів як " Добре. ", " Задовільно " і " Бідні " на основі наступних балів:

    • Добре: 60 і більше (>=60)
    • Задовільний: від 40 до 60 (>40 and <60)
    • Бідні: 40 або менше (<=40)

    Перед написанням формули продумайте порядок вкладених функцій. Excel буде оцінювати логічні тести в тому порядку, в якому вони з'являються у формулі. Як тільки умова отримує значення ІСТИНА, наступні умови не перевіряються, тобто формула зупиняється після першого результату, що має значення ІСТИНА.

    У нашому випадку функції розташовані від найбільшої до найменшої:

    =IF(B2>=60, "Добре", IF(B2>40, "Задовільно", "Погано"))

    Природно, при необхідності можна вкласти більше функцій (до 64 в сучасних версіях).

    Для отримання додаткової інформації див. статтю Як використовувати декілька вкладених операторів IF в Excel.

    Формула масиву ЕСЛИ в Excel з декількома умовами

    Інший спосіб отримати функцію ЕСЛИ в Excel для перевірки декількох умов - це використання формули масиву.

    Для оцінки умов з логікою І використовується зірочка:

    ЯКЩО( умова1 ) * ( умова2 ) * ..., value_if_true, value_if_false)

    Для перевірки умов з логікою "АБО" використовуйте знак "плюс":

    ЯКЩО( умова1 ) + ( умова2 ) + ..., value_if_true, value_if_false)

    Щоб правильно заповнити формулу масиву, натисніть одночасно клавіші Ctrl + Shift + Enter. В Excel 365 і Excel 2021 це також працює як звичайна формула завдяки підтримці динамічних масивів.

    Наприклад, щоб отримати "Зараховано", якщо і В2, і С2 більше 50, формула така:

    =IF((B2>50) * (C2>50), "Pass", "Fail")

    У моєму Excel 365 звичайна формула працює просто чудово (як ви можете бачити на скріншотах вище). В Excel 2019 і нижче не забудьте зробити її формулою масиву за допомогою комбінації клавіш Ctrl + Shift + Enter.

    Для обчислення декількох умов за допомогою логіки АБО використовується формула:

    =IF((B2>50) + (C2>50), "Pass", "Fail")

    Використання IF разом з іншими функціями

    У цьому розділі пояснюється, як використовувати функцію ЕСЛИ в поєднанні з іншими функціями Excel і які переваги це дає.

    Приклад 1. якщо в VLOOKUP помилка #N/A

    Коли VLOOKUP або інша функція пошуку не може щось знайти, вона повертає помилку #N/A. Щоб ваші таблиці виглядали красивіше, ви можете повернути нуль, порожній або певний текст, якщо #N/A. Для цього використовуйте цю загальну формулу:

    IF(ISNA(VLOOKUP(...)), значення_якщо_на , VLOOKUP(...))

    Наприклад:

    Якщо #N/A повернути 0:

    Якщо шукане значення в E1 не знайдено, формула повертає нуль.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    Якщо #N/A, поверніть порожній рядок:

    Якщо шукане значення не знайдено, формула не повертає нічого (порожній рядок).

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    Якщо #N/A повертає певний текст:

    Якщо шукане значення не знайдено, формула повертає конкретний текст.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Не знайдено", VLOOKUP(E1, A2:B10, 2, FALSE))

    Для отримання додаткових прикладів формул, будь ласка, зверніться до VLOOKUP з оператором IF в Excel.

    Приклад 2. IF з функціями SUM, AVERAGE, MIN та MAX

    Для підсумовування значень комірок за певними критеріями в Excel передбачені функції СУММЕСЛИ і СУММПРОИЗВ.

    У деяких ситуаціях бізнес-логіка може вимагати включення функції SUM в логічний тест IF. Наприклад, для повернення різних текстових написів в залежності від суми значень в B2 і C2, формула має вигляд:

    =IF(SUM(B2:C2)>130, "Добре", IF(SUM(B2:C2)>110, "Задовільно", "Погано"))

    Якщо сума більше 130, то результат "добрий", якщо більше 110 - "задовільний", якщо 110 і менше - "незадовільний".

    Аналогічним чином можна вбудувати функцію AVERAGE в логічний тест IF і повертати різні мітки на основі середнього балу:

    =IF(AVERAGE(B2:C2)>65, "Добре", IF(AVERAGE(B2:C2)>55, "Задовільно", "Погано"))

    Припускаючи, що загальний бал знаходиться в колонці D, можна визначити найвище та найнижче значення за допомогою функцій MAX та MIN:

    =IF(D2=MAX($D$2:$D$10), "Найкращий результат", "")

    =IF(D2=MAX($D$2:$D$10), "Кращий результат", "")

    Щоб мати обидві мітки в одному стовпчику, вкладіть вищевказані функції одна в іншу:

    =IF(D2=MAX($D$2:$D$10), "Найкращий результат", IF(D2=MIN($D$2:$D$10), "Найгірший результат", ""))

    Аналогічно, ви можете використовувати IF разом з вашими власними функціями. Наприклад, ви можете об'єднати його з GetCellColor або GetCellFontColor, щоб повернути різні результати, засновані на кольорі комірки.

    Крім того, в Excel передбачено ряд функцій для обчислення даних на основі умов. Детальні приклади формул можна знайти в наступних навчальних матеріалах:

    • COUNTIF - підрахувати комірки, які відповідають умові
    • COUNTIFS - підрахунок комірок за кількома критеріями
    • SUMIF - умовно підсумовувати комірки
    • SUMIFS - підсумовує комірки з декількома критеріями

    Приклад 3. IF з ISNUMBER, ISTEXT та ISBLANK

    Для ідентифікації тексту, чисел і порожніх комірок в Microsoft Excel передбачені спеціальні функції ISTEXT, ISNUMBER і ISBLANK. Помістивши їх в логічні тести трьох вкладених операторів IF, ви можете ідентифікувати всі різні типи даних за один раз:

    =IF(ISTEXT(A2), "Текст", IF(ISNUMBER(A2), "Номер", IF(ISBLANK(A2), "Пропуск", "")))

    Приклад 4. if та CONCATENATE

    Щоб вивести результат функції ЕСЛИ і деякий текст в одну комірку, використовують функції СЦЕПИТЬ або СЦЕПИТЬ (в Excel 2016 - 365) і ЕСЛИ разом. Наприклад:

    =CONCATENATE("Ви виступили ", IF(B1>100, "фантастично!", IF(B1>50, "добре", "погано")))

    =CONCAT("Ви виступили ", IF(B1>100, "фантастично!", IF(B1>50, "добре", "погано")))

    Дивлячись на скріншот нижче, вам навряд чи знадобляться пояснення, що робить ця формула:

    Формула IF ISERROR / ISNA в Excel

    У сучасних версіях Excel є спеціальні функції для відловлювання помилок і заміни їх іншим розрахунком або попередньо визначеним значенням - ЕСЛИ ПОМИЛКА (в Excel 2007 і новіших версіях) і ЕСЛИ НА (в Excel 2013 і новіших версіях). У більш ранніх версіях Excel замість них можна використовувати комбінації ЕСЛИ ПОМИЛКА і ЕСЛИ НА.

    Різниця в тому, що IFERROR і ISERROR обробляють всі можливі помилки Excel, включаючи #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! і #NULL!, тоді як IFNA і ISNA спеціалізуються виключно на помилках #N/A.

    Наприклад, для заміни помилки "ділення на нуль" (#DIV/0!) на свій текст можна скористатися наступною формулою:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

    Ось і все, що я хотів сказати про використання функції ЕСЛИ в Excel. Дякую за прочитання і сподіваюся побачити вас на нашому блозі наступного тижня!

    Практичний посібник для завантаження

    Excel ЕСЛИ кілька критеріїв - приклади (файл .xlsx)

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.