Комбінування AND, OR, NOT
Свайпніть щоб показати меню
Чому потрібні кілька умов
Одна умова рідко достатня для реальних бізнес-правил. На практиці логіка перевірки часто формулюється так:
- "Приймати лише якщо X істинно і Y істинно";
- "Приймати, якщо виконано X або Y";
- "Приймати лише якщо X не виконується".
Функції Excel AND, OR та NOT дозволяють об'єднувати кілька логічних перевірок в одну формулу — саме це потрібно для користувацької перевірки даних.
AND — усі умови мають бути істинними
AND повертає TRUE лише тоді, коли кожна умова всередині виконується. Якщо хоча б одна не виконується, вся формула повертає FALSE і введення відхиляється.
Синтаксис: =AND(condition1, condition2, ...)
Приклад — ціна за одиницю в допустимому діапазоні для своєї категорії:
Усі продукти повинні мати ціну від 150 до 2000. Припустимо, Unit Price у стовпці I:
=AND(I2>=150, I2<=2000)
Обидві межі мають бути виконані одночасно — якщо ціна занадто низька або занадто висока, введення не проходить перевірку.
Залежно від версії Excel та регіональних налаштувань, у формулах як роздільники аргументів можуть використовуватися коми , або крапки з комою ;.
Наприклад:
=AND(I2>=150, I2<=2000)
=AND(I2>=150; I2<=2000)
OR — принаймні одна умова має бути істинною
OR повертає TRUE, якщо будь-яка з умов виконана. Лише якщо всі умови не виконуються, повертає FALSE.
Синтаксис: =OR(condition1, condition2, ...)
Приклад — Знижка дозволена лише для певних регіонів:
Знижки дозволені лише в регіонах East або West. Припустимо, Region знаходиться у стовпці C, а Discount % — у стовпці J:
=OR(C2="East", C2="West", J2=0)
Це означає: прийняти запис, якщо регіон — East або West, або якщо знижка не застосовується взагалі.
NOT — інвертує результат
NOT змінює TRUE на FALSE і FALSE на TRUE. Використовуйте, коли простіше визначити, що не дозволено, ніж що дозволено.
Синтаксис: =NOT(condition)
Приклад — Статус не може бути Closed, якщо End Date порожній:
=NOT(AND(M2="Closed", L2=""))
Це означає: відхилити запис, якщо Status — Closed І End Date порожній. Усі інші комбінації приймаються.
Комбінування всіх трьох
Справжня потужність — у вкладеному використанні цих функцій. Глибина вкладеності не обмежена — головне, щоб логіка залишалася зрозумілою.
Приклад — Кількість має бути додатною, а знижка — у дозволеному діапазоні:
=AND(H2>0, OR(J2=0, AND(J2>=5, J2<=30)))
Це означає: кількість має бути більшою за нуль, а знижка — або нуль, або в межах від 5 до 30.
Декілька практичних порад
- Поступове створення — перевіряйте кожну умову окремо перед їх об'єднанням;
- Використання допоміжного стовпця під час створення — вставте формулу в порожній стовпець, щоб побачити результати
TRUE/FALSEпо кожному рядку перед остаточним застосуванням у перевірці даних; - Збереження читабельності — якщо формула містить більше 3–4 умов, розгляньте можливість використання допоміжного стовпця або розділення правила на дві простіші перевірки для кращої зрозумілості.
Завдання
-
Застосувати перевірку
ANDдо стовпця Unit Price:- Формула:
=AND(I2>=50, I2<=5000) - Повідомлення про помилку: "Unit Price must be between 50 and 5000"
- Формула:
-
Застосувати перевірку
ORдо стовпця Discount %:- Формула:
=OR(C2="East", C2="West", J2=0) - Повідомлення про помилку: "Discounts are only allowed for East and West regions"
- Формула:
-
Застосувати перевірку
NOTдо стовпця Status:- Формула:
=NOT(AND(M2="Closed", L2="")) - Повідомлення про помилку: "Status cannot be Closed while End Date is empty"
- Формула:
-
Перевірити кожне правило на коректних і некоректних даних — переконатися, що всі три працюють як очікується;
-
У порожньому стовпці вставити формулу з завдання 3 як допоміжну та переглянути результати TRUE/FALSE по рядках перед її видаленням.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат