Функция IIf

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

Возвращает одну из двух частей в зависимости от оценки выражение.

Вы можете использовать функцию IIf везде, где можно использовать выражения. IIf используется для определения, является ли другое выражение истиной или ложью. Если выражение истинно, IIf возвращает одно значение; если оно ложно, IIf возвращает другое значение. Значения, возвращаемые IIf, устанавливаете вы.

Некоторые примеры

Синтаксис

IIf ( выражение , если_истина , если_ложь )

Функция IIf имеет аргументы, указанные ниже.

Аргумент

Описание

выражение

Обязательный аргумент. Выражение, которое требуется оценить.

если_истина

Обязательный аргумент. Значение или выражение, возвращаемое, если значение аргумента выражение является истинным.

если_ложь

Обязательный аргумент. Значение или выражение, возвращаемое, если значение аргумента выражение является ложным.


Замечания

IIf всегда оценивает обе части если_истина и если_ложь, хотя и возвращает только одну из частей. Обратите на это внимание, чтобы избежать нежелательных последствий. Например, если при оценивании части если_ложь приходится делить на ноль, возникает ошибка, даже если выражение является истинным.

Примеры

Использование IIf в форме или отчете    Предположим, что у вас есть таблица клиентов, который содержит поле с именем Страна или регион. В форме нужно указывают, является ли итальянский язык первый контакт. Можно добавить элемент управления и использование функции IIf в свойстве Control Source следующим образом:

=IIf([Страна или регион]="Италия", "Итальянский", "Другой язык")

Когда вы открываете форму в режиме формы, элемент управления отображает "Итальянский", если в поле "Страна или регион" указана Италия, и "Другой язык", если в поле "Страна или регион" указано другое значение.

Использование IIf в сложных выражениях    Любое выражение можно использовать как любой части инструкцию IIf . Можно также «вложить» IIf выражения, позволяя вычисления ряда зависимых выражения. Чтобы продолжить работу в предыдущем примере, может потребоваться для нескольких различных значений Страна или регион, а затем отобразите нужный язык в зависимости от того, что существует значение:

=IIf([Страна или регион]="Италия", "Итальянский", IIf([Страна или регион]="Франция", "Французский", IIf([Страна или регион]="Германия", "Немецкий", "Другой язык")))

Текст "Другой язык" является аргументом если_ложь внутренней функции IIf. Поскольку каждая вложенная функция IIf является аргументом если_ложь функции IIf, которая ее содержит, текст "Другой язык" возвращается только в случае, если все аргументы выражение всех функций IIf оцениваются как ложные.

Приведем другой пример. Предположим, что вы работаете в библиотеке. В базе данных библиотеки есть таблица под названием "Выданные книги", которая содержит поле "Срок" с датой, когда нужно вернуть определенную книгу. Вы можете создать форму, которая указывает состояние выданной книги в элементе управления, с помощью функции IIf в свойстве Данные, например:

=IIf([Срок]<Date(),"ПРОСРОЧЕНО",IIf([Срок]=Date(),"Срок истекает сегодня","Срок еще не истек"))

Когда вы открываете форму в режиме формы, элемент управления отображает "ПРОСРОЧЕНО", если значение "Срок" меньше, чем текущая дата, "Срок истекает сегодня", если оно равно текущей дате, или "Срок еще не истек" в другом случае.

Примечание : Чтобы использовать логические операторы, такие как «И» или «Или» в аргументе выражение функцию IIf , необходимо заключить логическое выражение в функция Eval . Пример таблицы, следующий за см.

Использование функции IIf в запросе   

Создавать вычисляемые поля в запросах часто используется функция IIf . Синтаксис не изменяется, за исключением в запросе, необходимо введите перед выражением псевдоним поля и двоеточие (:) вместо знак равенства (=). Чтобы использовать в предыдущем примере, необходимо ввести в строку поле бланка запроса следующее:

Язык: IIf([Страна или регион]="Италия", "Итальянский", "Другой язык")

В этом случае "Язык:" — это псевдоним поля.

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

Использование функции IIf в коде VBA   

Примечание : В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В этом примере функция IIf используется для оценки параметра TestMe процедуры CheckIt и возвращает слово "Large", если объем больше 1000; в ином случае она возвращает слово "Small".

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([ДатаПокупки]<#1/1/2008#,"Старая","Новая")

Если [ДатаПокупки] раньше 1/1/2008, возвращается "Старая". В противном случае возвращается "Новая".

=IIf(Eval([Вольт] Between 12 And 15 And [Ампер] Between 0.25 And 0.3),"ОК","Неоткалибровано")

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

=IIf(Eval([Страна или регион] In ("Канада","США","Мексика")),"Северная Америка","Другое")

Если [Страна или регион] — "Канада", "США" или "Мексика", возвращается "Северная Америка". В противном случае возвращается "Другое".

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

Если [Среднее] — 90 или больше, возвращается "A". Если [Среднее] — 80 или больше, возвращается "B". Если [Среднее] — 70 или больше, возвращается "C". Если [Среднее] — 60 или больше, возвращается "D". В противном случае возвращается "F".

Примечание : Если вы используете функцию IIf для создания вычисляемого поля в запросе, замените знак равенства (=) псевдоним поля и двоеточие (:). Например Состояние: IIf ([ShipDate] < Дата (), «Отгруженные», IIf ([ShipDate] = (дата), «Доставки сегодня», «Unshipped»))

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×