Използване на функцията IIf за показване или изчисляване на стойност

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

Функция IIf има следния синтаксис:

IIf(логически тест, стойност при истина, стойност при неистина)

Например, за да изчислите данъка върху продажбите в текстово поле на формуляр, можете да въведете следния израз в свойството Източник за контролата за текстовото поле:

=IIf([Щат] = "WA",[ОбщаСума] * 0.095, 0)

Превод: ако полето "Щат" съдържа " WA", изчисли данъка върху продажбите като "ОбщаСума", умножена по 0.095. В противен случай просто върни нула.

Вложени функции IIf

След като вече имате представа за функцията IIf, ще откриете, че влагането им може да бъде много мощно. "Влагане" означава, че се използва функция IIf вътре в друга функция IIf или като аргумента "стойност при истина", или като аргумента "стойност при неистина" (или и двете). Нека например да искате една колона "Състояние" в отчет да показва "Изтекъл срок", ако на някой елемент е подаден крайният срок. Ако крайният срок е днес, искате да се покаже "Крайна дата: днес". Ако крайният срок още не е настъпил, искате колоната "Състояние" да бъде празна. Предполагайки, че днешната дата е 9 февруари 2012, бихте искали да видите нещо такова:

Отчет за задача с колона ''Състояние'', използваща функцията IIf за показване на съобщение.

Това може да се направи с помощта на две функции IIf, едната вложена като аргумента "стойност при неистина" на другата:

= IIf ([използване < дата (), "ИЗТЕКЪЛ срок", IIf (използване] = (дата), "Краен днес"))

Външната функция IIf сравнява полето "КраенСрок" с днешната дата (която е върната от функцията Date()). За първите двете задачи в отчета, показани по-горе, крайният срок е преди днешната дата, така че логическият тест за външната функция IIf дава за резултат "истина", и тя показва "Изтекъл срок". За третата задача (Боядисване на гаража) външната функция IIf дава за резултат "неистина", затова вложената функция IIf тества дали крайният срок е равен на днешната дата. Това е така, и затова вложената функция IIf показва "Крайна дата: днес". За четвъртата задача (Подрязване на дърветата) никоя от функциите Iif не дава резултат "истина", затова не се показва нищо, тъй като вложената функция Iif няма аргумент "стойност при неистина". Разбира се, можете да добавите аргумент, ако искате и в този случай да се показва нещо.

Полезен съвет

Вложени функции IIf е работа, но по принцип не искате да отидете на повече от една или две нива в дълбочина. Изразите може бързо да станат трудни за четене и поддържа. Ако вашата вложени функции IIF стават на ръка, може да помислите за използването на функция Switch, която предоставя подобни "if-след това" вид на логика.

Най-горе на страницата

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

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

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

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

×