Atgriež vienu no divām daļām atkarībā no izmantotās izteiksme.
Varat izmantot IIf jebkur , lai izmantotu izteiksmes. Izmantojiet IIf, lai noteiktu, vai cita izteiksme ir patiesa vai aplama. Ja izteiksme ir patiesa, IIf atgriež vienu vērtību; ja tā ir aplama, funkcija IIf atgriež citu vērtību. Norādiet vērtības, ko atgriež IIf .
Sintakse
IIf ( expr , true_daļa , false_daļa )
Funkcijas IIf sintaksē ir šādi argumenti:
Arguments |
Apraksts |
izteiksme |
Obligāts. Izteiksme, kuru vēlaties novērtēt. |
true_daļa |
Obligāts arguments. Vērtība vai izteiksme, kas tiek atgriezta , ja expr ir True. |
false_daļa |
Obligāts arguments. Vērtība vai izteiksme, kas tiek atgriezta , ja expr ir False. |
Piebildes
IIf vienmēr novērtē gan true_daļa , gan false_daļa, pat ja tā atgriež tikai vienu no tām. Šī iemesla dēļ jums jāuzmanās, vai blakus efekti ir labi. Piemēram, ja, novērtējot false_daļa , rodas dalīšana ar nulli kļūda, kļūda rodas arī tad, ja expr ir True.
Piemēri
IIf izmantošana formā vai atskaitē Pieņemsim, ka jums ir tabula Klienti, kurā ir lauks ar nosaukumu CountryRegion. Veidlapā jūs vēlaties norādīt, vai kontaktpersonas pirmā valoda ir itāļu valoda. Savā rekvizītā Vadīklas avots varat pievienot vadīklu un izmantotIIf, līdzīgi šim:
=IIf([Valsts_reģions]="Itālija", "Itāļu", "Kāda cita valoda")
Atverot formu formas skatā, katru reizi, kad CountryRegion vērtība ir Itālija, vadīkla parāda "Itāļu", un ikreiz, kad CountryRegion ir jebkura cita vērtība, tiek rādīta vērtība "Itāļu".
IIf izmantošana sarežģītās izteiksmēs Jebkuru izteiksmi varat izmantot kā jebkuru IIf priekšraksta daļu. Varat arī "ligzdot" IIf izteiksmes, kas ļauj novērtēt atkarīgu izteiksmju sēriju. Lai turpinātu ar iepriekšējo piemēru, iespējams, vēlēsities pārbaudīt vairākas atšķirīgas CountryRegion vērtības un pēc tam parādīt atbilstošo valodu atkarībā no tā, kāda vērtība pastāv:
=IIf([Valsts_reģions]="Itālija", "Itāļu", IIf([Valsts_reģions]="Francija", "Franču", IIf([Valsts_reģions]="Vācija", "Vācu", "Kāda cita valoda")))
Teksts "Kādā citā valodā" ir iekšējās funkcijas IIf arguments false_daļa. Tā kā katra ligzdotā funkcija IIf ir funkcijas IIf arguments false_daļa, kas to satur, teksts "Cita valoda" tiek atgriezts tikai tad, ja visi funkcijas IIfexpr argumenti tiek novērtēti kā Aplams.
Piemērs: jūs strādājat bibliotēkā. Bibliotēkas datu bāzē ir tabula ar nosaukumu Pa izrakstīšanās, kurā ir lauks ar nosaukumu Izpildes datums, kas ietver datumu, pēc kura ir noteikta grāmata. Varat izveidot formu, kas norāda paņemiet vienumu vadīklā, izmantojot funkciju IIf vadīklas rekvizītā Vadīklas avots, līdzīgi šim:
=IIf([Izpildes datums]<Date(),"NOKAVĒTS",IIf([Izpildes datums]=Datums(),"Izpildes datums šodiena","Vēl nav apmaksas termiņš"))
Atverot formu formas skatā, vadīkla parāda "NOKAVĒTS", ja izpildes datuma vērtība ir mazāka par pašreizējo datumu, "Apmaksas termiņš šodiena", ja tas ir vienāds ar pašreizējo datumu, bet pretējā gadījumā — "Vēl nav apmaksas termiņš".
Piezīme.: Lai funkcijas IIf izteiksmes argumentā izmantotu loģiskos operatorus, piemēram, "And" vai "Or", loģiskā izteiksme ir jāiekļauj Eval funkcijā. Skatiet tālāko parauga tabulu.
IIf izmantošana vaicājumā
Funkcija IIf bieži tiek izmantota, lai vaicājumos izveidotu aprēķinātos laukus. Sintakse ir tāda pati, izņemot gadījumu vaicājumā, izteiksme ir jāizveido ar lauka aizstājvārdu un kolu (:), nevis vienādības zīmi (=). Lai izmantotu iepriekšējo piemēru, vaicājuma noformējuma režģa rindā Lauks ierakstiet šādu tekstu:
Valoda: IIf([Valsts_reģions]="Itālija", "Itāļu", "Kāda cita valoda")
Šajā gadījumā "Valoda:" ir lauka aizstājvārds.
Papildinformāciju par vaicājumu un aprēķināto lauku izveidi skatiet rakstā Vienkārša atlases vaicājuma izveide.
IIf izmantošana VBA kodā
Piezīme.: Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.
Šajā piemērā tiek izmantota funkcija IIf, lai novērtētu procedūras CheckIt parametru TestMe un atgrieztu vārdu "Liels", ja summa ir lielāka par 1000; Pretējā gadījumā tiek atgriezts vārds "Mazs".
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small") End Function
Citi piemēri
Izteiksme |
Rezultāti |
=IIf([Lidostas_kods]="ORD","Čikāga",IIf([Lidostas_kods]="ATL","Atlanta",IIf([Lidostas_kods]="SEA","Rīga","Cits"))) |
Ja [Lidostas_kods] ir "ORD", atgriež "Chicago". Pretējā gadījumā, ja [Lidostas_kods] ir "ATL", atgriež "Atlanta". Pretējā gadījumā, ja [Lidostas_kods] ir "SEA", atgriež "Seattle". Pretējā gadījumā atgriezt vērtību "Cits". |
=IIf([Piegādes_datums]<Date(),"Nosūtīts",IIf([Piegādes_datums]=Date(),"Piegāde šodien","Nesasūtīts")) |
Ja [Piegādes_datums] ir pirms šodienas datuma, atgrieziet "Nosūtīts". Pretējā gadījumā, ja [Piegādes_datums] ir vienāds ar šodienas datumu, atgriež vērtību "Nosūtīšana šodien". Pretējā gadījumā atgriezt vērtību "Nav piegādes". |
=IIf([PurchaseDate]<#1/1/2008#,"Old","New") |
Ja [PurchaseDate] ir pirms 01.01.2008., tiek atgriezts "Vecais". Pretējā gadījumā atgriezt vērtību "Jauns". |
=IIf(Eval([Maksājots] Between 12 And 15 And [amps] Between 0.25 And 0.3),"OK","Out of kalibrēšana") |
Ja [Volts] ir starp 12 un 15 un [amps] ir no 0,25 līdz 0,3, atgriezt "Labi". Pretējā gadījumā atgrieziet "Ārpus kalibrēšanas". |
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"Ziemeļamerika","Cits") |
Ja [Valsts_reģions] ir "Kanāda", "ASV" vai "Meksika", atgriež "Ziemeļamerika". Pretējā gadījumā atgriezt vērtību "Cits". |
=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F")))) |
Ja [Average] ir 90 vai lielāka, atgriež "A". Pretējā gadījumā, ja [Average] ir 80 vai lielāks, atgriež "B". Pretējā gadījumā, ja [Average] ir 70 vai lielāka, atgriež "C". Pretējā gadījumā, ja [Average] ir 60 vai lielāks, atgriež "D". Pretējā gadījumā atgriezt "F". |
Piezīme.: Ja izmantojat funkciju IIf , lai vaicājumā izveidotu aprēķinātu lauku, aizstājiet vienādības zīmi (=) ar lauka aizstājvārdu un kolu (:). Piemēram, Statuss: IIf([Piegādes_datums]<Date(),"Nosūtīts",IIf([Piegādes_datums]=Datums(),"Piegāde šodien","Nesasūtīts"))