Функція IIF

Увага! : Цю статтю перекладено за допомогою служби машинного перекладу; див. застереження. Версію цієї статті англійською мовою див. тут для отримання довідки.

Повертає одну із двох частин, залежно від обчислення вираз.

Функцію IIf можна використовувати скрізь, де можна використовувати вирази. Функцію IIf можна використати, щоб визначити істинність або хибність іншого виразу. Якщо значення виразу – True, то функція IIf повертає одне значення, а якщо значення виразу – False, функція IIf повертає інше значення. Значення, які повертає функція IIf, визначаєте ви.

Розглянемо кілька прикладів

Синтаксис

IIf ( вираз , якщо_істина , якщо_хибність )

Синтаксис функції IIf має такі аргументи:

Аргумент

Опис

вираз

Обов’язковий аргумент. Вираз, який потрібно обчислити.

якщо_істина

Обов’язковий аргумент. Значення або вираз, що повертається, якщо вираз має значення True (істина).

якщо_хибність

Обов’язковий аргумент. Значення або вираз, що повертається, якщо вираз має значення False (хибність).


Примітки

Функція IIf завжди обчислює значення якщо_істина та якщо_хибність, навіть якщо повертає лише одне з них. Тому потрібно зважати на небажані побічні ефекти. Наприклад, якщо в результаті обчислення значення якщо_хибність виникла помилка через ділення на нуль, помилка виникне, навіть якщо вираз має значення True.

Приклади

Використання формули IIf у формі або у звіті   . Наприклад, у таблиці " Клієнти" міститься поле "Країна". У формі потрібно позначити, чи є італійська першою мовою звертання. Можна додати елемент керування й використати функцію IIf у властивості Джерело елемента керування таким чином:

=IIf([Країна]="Італія", "Італійська", "Інша мова")

Якщо відкрити форму в поданні форми, елемент керування відображатиме "Італійська", якщо значення поля "Країна" – "Італія", та "Інша мова", якщо для поля "Країна" задано інше значення.

Використання формули IIf у складних виразах   . У якості будь-якої частини виписки функції IIf можна використати будь-який вираз. Можна також "вкласти" вирази функції IIf, що дасть змогу обчислити ряд залежних виразів. Щоб продовжити попередній приклад, можливо, потрібно перевірити інші значення в полі "Країна", а потім відобразити відповідну мову, залежно від наявних значень:

=IIf([Країна]="Італія", "Італійська", IIf([Країна]="Франція", "Французька", IIf([Країна]="Німеччина", "Німецька", "Інша мова")))

Текст "Інша мова" – це аргумент, який має значення якщо_хибність внутрішньої функції IIf. Якщо кожна вкладена функція IIf – це аргумент, який має значення якщо_хибність у функції IIf, яка її містить, текст "Інша мова" повертається лише якщо всі аргументи виразу всіх функцій IIf обчислені як "False".

У іншому прикладі робота проводиться, наприклад у бібліотеці. У базі даних бібліотеки міститься таблиця "Взято на редагування", у якій є поле "Дата завершення", із зазначенням дати повернення певної книги. Можна створити форму, у якій зазначено стан елементів, взятих на редагування, в елементі керування за допомогою функції IIf у властивості Джерело елемента керування цього елемента керування таким чином:

=IIf([Дата завершення]<Date(),"Прострочено",IIf([Дата завершення]=Date(),"Сьогодні", "Ще не завершилося"))

Якщо відкрити форму в поданні форми, елемент керування відобразить "Прострочено", якщо значення Дати завершення менше за поточну дату, "Сьогодні" якщо значення відповідає поточній даті й "Ще не завершилося" в іншому випадку.

Примітка : Щоб використовувати логічні оператори, наприклад "And" або "Or" в аргументі виразу функції IIf, необхідно вкласти логічний вираз у функцію Eval. Див. приклад таблиці далі.

Використання функції IIf у запиті    

Функція IIf часто використовується під час створення обчислюваних полів у запитах. Синтаксис залишається той самий, за винятком того, що в запиті на початку кожного виразу необхідно додавати псевдонім поля і двокрапку (:) замість знака рівності (=). Щоб використати попередній приклад, у рядок символів для сітки макета запиту Поле потрібно ввести:

Мова: IIf([Країна]="Італія", "Італійська", "Інша мова")

У цьому випадку "Мова" – це псевдонім поля.

Додаткові відомості про створення запитів і обчислюваних полях перегляньте статтю створити простий Вибірковий запит.

Використання функції IIf у коді VBA    

Примітка : У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У цьому прикладі функція IIfвикористовується для обчислення параметра TestMe у процедурі CheckIt й повертає слово "Великий", якщо величина перевищує значення "1000", у іншому випадку вона повертає слово "Маленький".

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

Додаткові приклади

Вираз

Результати

=IIf([Код_аеропорту]="ORD","Чікаго",IIf([Код_аеропорту]="ATL","Атланта",IIf([Код_аеропорту]="SEA","Сієтл","Інше")))

Якщо [Код_аеропорту] – "ORD", повертається значення "Чікаго". У іншому випадку, якщо [Код_аеропорту] – "ATL", повертається значення "Атланта". У іншому випадку, якщо [Код_аеропорту] – "SEA", повертається "Сієтл". У іншому випадку повертається значення "Інше".

=IIf([Дата_доставки]<Date(),"Доставлено",IIf([Дата_доставки]=Date(),"Доставляється сьогодні","Не доставлено"))

Якщо [Дата_доставки] передує сьогоднішній даті, повертається значення "Доставлено". У іншому випадку, якщо [Дата_доставки] відповідає сьогоднішній даті, повертається значення "Доставляється сьогодні". У іншому випадку повертається значення "Не доставлено".

=IIf([Дата придбання]<#01.01.2008#,"Старий","Новий")

Якщо [Дата придбання] передує 01.01.2008, повертається значення "Старий". У іншому випадку повертається значення "Новий".

=IIf(Обчислення([Вольт] між 12 та 15 й [Ампер] між 0,25 та 0,3),"OK","Не відкалібровано")

Якщо [Вольт] між 12 та 15 й [Ампер] між 0,25 та 0,3, повертається значення "OK". У іншому випадку повертається значення "Не відкалібровано".

=IIf(Обчислення([Країна] у ("Канада","США","Мексика")),"Північна Америка","Інше")

Якщо [Країна] – це "Канада","США" або "Мексика", повертається значення "Північна Америка". У іншому випадку повертається значення "Інше".

=IIf([Середнє]>=90,"A",IIf([Середнє]>=80,"B",IIf([Середнє]>=70,"C",IIf([Середнє]>=60,"D","F"))))

Якщо [Середнє] – це 90 або більше, повертається значення "A". У іншому випадку, якщо [Середнє] – це 80 або більше, повертається значення "B". У іншому випадку, якщо [Середнє] – це 70 або більше, повертається значення "C". У іншому випадку, якщо [Середнє] – це 60 або більше, повертається значення "D". У іншому випадку повертається значення "F".

Примітка : Якщо функція IIf використовується під час створення обчислюваних полів у запиті, замініть знак рівності (=) на псевдонім поля й двокрапку (:). Наприклад, Стан: IIf([Дата_доставки]<Date(),"Доставлено",IIf([Дата_доставки]=Date(),"Доставка сьогодні","Не доставлено"))

Примітка : Застереження про машинний переклад: Цю статтю перекладено комп’ютерною системою без втручання людини. Корпорація Майкрософт пропонує таку послугу, щоб іншомовні користувачі могли дізнаватися про продукти, служби й технології Microsoft. Оскільки статтю перекладено за допомогою служби машинного перекладу, вона може містити смислові, синтаксичні або граматичні помилки.

Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

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

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×