Atgriež vienu no divām daļām atkarībā no izteiksmes novērtējuma.
Varat izmantot IIf izteiksmes visur, kur varat izmantot. Lietojiet IIf , lai noteiktu, vai cita izteiksme ir patiesa vai aplama. Ja izteiksme ir patiesa, IIf atgriež vienu vērtību. Ja tas ir aplams, IIf atgriež citu vērtību. Ir jānorāda atgriežamās IIf vērtības.
Sintakse
IIf(expr, truepart, falsepart)
Funkcijas IIf sintaksei ir šādi argumenti:
| Arguments | Apraksts |
|---|---|
expr |
Obligāts arguments. Izteiksme, kuru vēlaties novērtēt. |
truepart |
Obligāts arguments. Vērtība vai izteiksme tiek atgriezta, ja expr tāda ir True. |
falsepart |
Obligāts arguments. Vērtība vai izteiksme tiek atgriezta, ja expr tāda ir False. |
Piezīmes
IIf Vienmēr novērtē abus truepart un falsepart, lai gan atgriež tikai vienu no tiem. Šādas uzvedības dēļ novērojiet nevēlamas blakusparādības. Piemēram, ja novērtēšanas falsepart rezultāts ir dalīšana ar nulli, kļūda rodas pat tad, ja expr ir True.
Piemēri
Izmantošana IIf formā vai atskaitē
Pieņemsim, ka jums ir tabula, Customers kurā ir lauks ar nosaukumu CountryRegion. Formā vēlaties parādīt, vai itāļu valoda ir kontaktpersonas pirmā valoda. Varat pievienot vadīklu un izmantot IIf tās Control Source rekvizītā:
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
Atverot formu formas skatā, vadīkla tiek parādīta Italian ikreiz, kad vērtība ir ItalyCountryRegion . Tā tiek rādīta Some other language ikreiz, kad tam CountryRegion ir kāda cita vērtība.
Lietošana IIf saliktās izteiksmēs
Jebkuru izteiksmi var izmantot jebkurā priekšraksta IIf daļā. Varat arī ligzdot IIf izteiksmes, kas ļauj novērtēt atkarīgu izteiksmju sēriju. Lai turpinātu iepriekšējo piemēru, varat pārbaudīt vairākas atšķirīgas CountryRegion vērtības un pēc tam parādīt atbilstošo valodu, pamatojoties uz vērtību:
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
Teksts Some other language ir falsepart iekšējās IIf funkcijas arguments. Tā kā katra ligzdotā funkcija ir falsepart tās funkcijas argumentsIIf, kas to satur, teksts Some other language tiek atgriezts tikai tad, ja visi funkciju argumenti exprIIf tiek novērtēti kā False.IIf
Cits piemērs: jūs strādājat bibliotēkā. Bibliotēkas datu bāzē ir tabula ar nosaukumu Check Outs , kurā ir lauks ar nosaukumu Due Date, kurā norādīts konkrētās grāmatas atpakaļizpildes datums. Formu, kas rāda paņemta vienuma statusu vadīklā, var izveidot, izmantojot IIf funkciju šīs vadīklas rekvizītā Control Source :
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
Atverot formu formas skatā, vadīklā tiek rādītsOVERDUE, vai vērtība Due Date ir mazāka par pašreizējo datumu, Due today ja tā ir vienāda ar pašreizējo datumu un Not Yet Due citādi.
Piezīme
Lai izmantotu loģiskos operatorus, piemēram And , funkcijas Or argumentā exprIIf , loģiskā izteiksme ir jāiekļauj funkcijā Eval . Skatiet tālāk esošo tabulas piemēru.
Izmantošana IIf vaicājumā
Šo IIf funkciju bieži izmanto aprēķināto lauku izveidei vaicājumos. Sintakse ir tāda pati, tikai vaicājumā izteiksmes sākumā jālieto lauka aizstājvārds un kols (:), nevis vienādības zīme (=). Lai izmantotu iepriekšējo piemēru, vaicājuma noformējuma režģa rindā Lauks ierakstiet šādu tekstu:
Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")
Šajā gadījumā Language: ir lauka aizstājvārds.
Papildinformāciju par vaicājumu un aprēķināto lauku izveidi skatiet sadaļā Vienkārša atlases vaicājuma izveide.
Lietošana IIf VBA kodā
Piezīme
Nākamajos piemēros ir parādīts, kā izmantot šo funkciju 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 pēc tam meklēšanas lodziņā ievadiet vienu vai vairākus vārdus.
Šajā piemērā funkcija tiek izmantota IIf , TestMe lai novērtētu procedūras parametru CheckIt un atgrieztu vārdu Large , ja summa ir lielāka par 1000. Pretējā gadījumā tā atgriež vārdu Small.
Function CheckIt(TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Citi piemēri
Izteiksme:
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))Rezultāts: Ja
[AirportCode]ir"ORD", atgriezt"Chicago". Pretējā gadījumā, ja[AirportCode]ir"ATL", atgriezt"Atlanta". Pretējā gadījumā, ja[AirportCode]ir"SEA", atgriezt"Seattle". Pretējā gadījumā atgrieziet"Other".Izteiksme:
=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))Rezultāts: ja
[ShipDate]ir agrāks par šodienas datumu, atgriezt"Shipped". Pretējā gadījumā, ja[ShipDate]vienāds ar šodienas datumu, atgriezt"Shipping today". Pretējā gadījumā atgrieziet"Unshipped".Izteiksme:
=IIf([PurchaseDate]<#1/1/2008#,"Old","New")Rezultāts: Ja
[PurchaseDate]ir agrāk par1/1/2008, atgriezt"Old". Pretējā gadījumā atgrieziet"New".Izteiksme:
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")Rezultāts: ja
[Volts]ir no 12 līdz 15 un[Amps]ir no 0,25 līdz 0,3, atgriež"OK". Pretējā gadījumā atgrieziet"Out of calibration".Izteiksme:
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")Rezultāts: ja
[CountryRegion]ir"Canada","USA"vai"Mexico", atgriezt"North America". Pretējā gadījumā atgrieziet"Other".Izteiksme:
=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))Rezultāts: Ja
[Average]ir 90 vai vairāk, atgriezt"A". Pretējā gadījumā, ja[Average]vērtība ir 80 vai lielāka, atgriezt"B". Pretējā gadījumā, ja[Average]ir 70 vai vairāk, atgriezt"C". Pretējā gadījumā, ja[Average]šī vērtība ir 60 vai lielāka, atgriezt"D". Pretējā gadījumā atgrieziet"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, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).