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

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

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