Функция IIf

Забележка: Бихме искали да ви осигурим най-новото помощно съдържание възможно най-бързо на вашия собствен език. Тази страница е преведена чрез автоматизация и може да съдържа граматически грешки и несъответствия. Нашата цел е това съдържание да ви бъде полезно. Можете ли да ни кажете дали информацията е била полезна за вас, в дъното на тази страница? Ето статията на английски за бърза справка.

Връща една от две части в зависимост от оценката на израз.

Можете да използвате IIf навсякъде, където можете да използвате изрази. Използвайте IIf, за да определите дали някой друг израз има стойност True или False. Ако стойността на израза е 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(),"Да се върне днес","Остават още дни"))

Когато отворите формуляра в изглед за формуляри, контролата показва " ПРОСРОЧЕНА", ако стойността на "Краен срок" е по-малка от текущата дата, "Да се върне днес", ако е равна на текущата дата, и "Остават още дни" в противен случай.

Забележка: За да използвате логически оператори, като например "И" или "Или" в аргументът израз на функцията 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", се връща "Сиатъл". В противен случай се връща "Other".

=IIf([ДатаНаИзпращане]<Date(),"Доставено",IIf([ДатаНаИзпращане]=Date(),"Доставка днес","Не е доставено"))

Ако [ДатаНаИзпращане] е преди днешната дата, се връща "Доставено". В противен случай, ако [ДатаНаИзпращане] е равно на днешната дата, се връща "Доставка днес". В противен случай се връща "Не е доставено".

=IIf([ДатаНаПокупка]<#1/1/2008#,"Стар","Нов")

Ако [ДатаНаПокупка] е преди 1/1/2008, връща "стар". В противен случай се връща "Нов".

=IIf(Eval([Напрежение] Between 12 And 15 And [Ток] Between 0,25 And 0,3),"OK","Извън обхвата")

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

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

Ако [Страна] е "Канада", " САЩ " или "Мексико", се връща "Северна Америка". В противен случай връща "Друго".

=IIf([СреднаСтойност]>=90;"",IIf([СреднаСтойност]>=80,"B",IIf([СреднаСтойност]>=70,"C",IIf([СреднаСтойност]>=60,"D","F"))))

Ако [СреднаСтойност] е 90 или по-голямо, се връща "A". В противен случай, ако [СреднаСтойност] е 80 или по-голямо, се връща "B". В противен случай, ако [СреднаСтойност] е 70 или по-голямо, се връща "C". В противен случай, ако [СреднаСтойност] е 60 или по-голямо, се връща "D". В противен случай се връща "F".

Забележка: Ако използвате функцията IIf за създаване на изчисляемо поле в заявка, заместете знака за равенство (=) с псевдоним на поле и двоеточие (:). Например състояние: IIf ([дата на изпращане] < дата (), "Изпратени", IIf ([дата на изпращане] = (дата), "Морски днес", "Unshipped"))

Разширете уменията си в Office
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×