Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Комбінування AND, OR, NOT | Розширена логіка валідації
Перевірка та контроль даних в Excel

Комбінування 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)

Обидві межі мають бути виконані одночасно — якщо ціна занадто низька або занадто висока, введення не проходить перевірку.

Note
Примітка

Залежно від версії 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 умов, розгляньте можливість використання допоміжного стовпця або розділення правила на дві простіші перевірки для кращої зрозумілості.

Завдання

  1. Застосувати перевірку AND до стовпця Unit Price:

    • Формула: =AND(I2>=50, I2<=5000)
    • Повідомлення про помилку: "Unit Price must be between 50 and 5000"
  2. Застосувати перевірку OR до стовпця Discount %:

    • Формула: =OR(C2="East", C2="West", J2=0)
    • Повідомлення про помилку: "Discounts are only allowed for East and West regions"
  3. Застосувати перевірку NOT до стовпця Status:

    • Формула: =NOT(AND(M2="Closed", L2=""))
    • Повідомлення про помилку: "Status cannot be Closed while End Date is empty"
  4. Перевірити кожне правило на коректних і некоректних даних — переконатися, що всі три працюють як очікується;

  5. У порожньому стовпці вставити формулу з завдання 3 як допоміжну та переглянути результати TRUE/FALSE по рядках перед її видаленням.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 2
some-alt