IF
Функція IF повертає одне із двох значень, якщо вказаний вираз визначає логічне значення TRUE або FALSE.
IF(вираз-умови; якщо-істина; якщо-хиба)
вираз-умови: логічний вираз. Аргумент вираз-умови може містити будь-яке значення, якщо вираз можна оцінити як логічне значення. Якщо вираз визначає числове значення, 0 вважається значенням FALSE (неістинним), а будь-яке інше число — значенням TRUE (істинним).
якщо-істина: значення повертається, якщо вираз-умови має значення TRUE. Аргумент якщо-істина може містити будь-який тип значення. Коли аргумент якщо-істина відсутній (є крапка з комою, але немає значення) і аргумент якщо-вираз оцінюється як TRUE, IF повертає 0.
якщо-хиба: додатковий аргумент, який визначає повернену величину, якщо вираз-умови має значення FALSE. Аргумент якщо-хиба може містити будь-який тип значення. Коли аргумент якщо-хиба відсутній (є крапка з комою, але немає значення) і аргумент якщо-вираз оцінюється як FALSE, IF повертає 0. Коли аргумент якщо-хиба пропущено повністю (немає крапки з комою після якщо-істина), а аргумент якщо-вираз визначається як FALSE, функція IF повертає FALSE.
Примітки
Аргументи якщо-істина і якщо-хиба можуть містити додаткові функції IF (вкладені функції IF).
Прості порівняння за допомогою IF |
---|
У наведеній нижче таблиці показано простий спосіб відстежувати оцінки учнів. |
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | Учень | Результат тесту 1 | Результат тесту 2 | Загальний результат | Буквена оцінка | Фінальний результат |
2 | 1 | 56 | 59 | 59 | F | Не склав |
3 | 2 | 75 | 84 | 84 | B | Склав |
4 | 3 | 100 | 93 | 100 | A | Склав |
Ви можете виконувати просте порівняння IF за допомогою цих даних. Нижче показано кілька прикладів використання функції IF. |
Повернення текстового значення на основі критеріїв: У цій формулі використовуються такі аргументи:
Ця формула призначає результат "Склав", якщо результат тесту Учня 1 дорівнює 60 або вище, інакше повертається "Не склав". |
Повернення цифрового значення на основі критеріїв: У цій формулі використовуються такі аргументи:
Ця формула обчислює фінальний результат як вище значення з двох результатів тестування, і її можна легко модифікувати для будь-якого з учнів у таблиці вище, змінивши посилання на клітинки відповідно до результатів потрібного учня. |
Тестування додаткових умов за допомогою вкладеної функції IF: Наведена вище формула призначає результат "Склав", якщо принаймні один із результатів тестування учня дорівнює або перевищує 60. Наведена вище формула призначає буквену оцінку на основі загального результату учня. Примітка. За використання вкладених функцій IF порядок порівнянь має значення, адже обчислення формули зупиняється після першого істинного твердження. Наприклад, якщо ви хотіли додати нову умову "не проходив" у формулу буквеної оцінки, якщо результат учня дорівнює 0, потрібно додати її як першу умову. Якщо додати її в кінці, у результаті буде отримано "F", навіть якщо результат дорівнює 0, оскільки результат уже оцінено як такий, що менше 60. Саме тому окремий аргумент якщо-вираз не потрібен для буквеної оцінки "A". Якщо результат учня не "B", то він не є будь-яким іншим і має бути "A". |
Спробуйте |
---|
Щоб побачити використання функції IF в е-таблиці Numbers, створіть нову електронну таблицю за шаблоном "Щоденник". Вилучіть ім’я в таблиці "Огляд курсу" й дізнайтеся, як це вплине на значення в стовпці "Підсумкова". Подивіться, як використовується функція в рядку "Підсумкова". |
Використання IF з іншими функціями |
---|
Наведена нижче формула працює з ISBLANK для виявленням пустих клітинок. У цій формулі використовуються такі аргументи:
Для більш складного тестування можна поєднувати IF з операторами AND, OR і NOT. |
Додаткові можливості функції IFS |
---|
Функцію IFS можна використовувати для оцінювання низки виразів і повернення значень на основі першої істинної умови, замінюючи кілька вкладених тверджень IF. |
Додаткові приклади |
---|
=IF(A5>=0; "Невід’ємне"; "Від’ємне") повертає текст "Невід’ємне", якщо клітинка A5 містить число, більше або рівне 0, або нечислове значення. Якщо клітинка A5 містить значення, менше 0, функція повертає "Відємне". =IF(A5<>0; "Nonzero"; "Zero") повертає текст "Nonzero", якщо клітинка A5 містить число, відмінне від 0. Якщо клітинка A5 містить 0, функція повертає "Zero". =IF(IFERROR(OR(ISEVEN(B4+B5); ISODD(B4+B5)); FALSE); "All numbers"; "Not all numbers") повертає текст All numbers, якщо клітинки B4 і B5 містять числа, інакше — текст Not all numbers. Це досягається через перевірку, чи сума двох клітинок є парною або непарною. Якщо клітинка не містить числового значення, тоді функції EVEN і ODD повертають помилку, а функція IFERROR повертає FALSE; інакше вона повертає TRUE, оскільки EVEN або ODD має значення TRUE. Тоді, якщо B4 або B5 не є числом або логічним значенням, функція IF повертає вираз якщо-хиба "Not all numbers"; інакше вона повертає вираз якщо-істина "All numbers". |
Приклади — уникнення помилок від ділення на 0 |
---|
Іноді неможливо побудувати таблицю так, щоб не відбувалося ділення на 0. Проте, якщо ділення на 0 виникає, результатом є значення помилки в клітинці, яке зазвичай не є потрібним результатом. У цьому прикладі показано три способи запобігання цій помилці. Припустімо, що обидві клітинки D2 і E2 містять числа. Можливо, що E2 містить 0. Потрібно розділити D2 на E2, проте уникнути помилки ділення на 0. Кожний із трьох способів повертає 0, якщо клітинка E2 дорівнює 0; в іншому разі буде повернено результат ділення D2/E2. =IF(E2=0; 0; D2/E2) напряму перевіряє, чи містить клітинка E2 0. =IFERROR(D2/E2; 0) повертає 0, якщо виникає будь-яка помилка. Ділення на 0 є помилкою. =IF(ISERROR(D2/E2); 0; D2/E2) виконує логічну перевірку, щоб визначити, чи результатом ділення D2/E2 є логічне значення TRUE. |
Приклад використання REGEX |
---|
Нехай клітинка A1 містить "marina@example.com" =IF(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"); "містить e-mail"; "No e-mail") повертає "містить e-mail". |