Funkcija IIf

Atgriež vienu no divām daļām atkarībā no izteiksme novērtējuma.

Varat izmantot funkcijas IIf jebkur, kur var izmantot izteiksmes. Varat izmantot IIf , lai noteiktu, vai cita izteiksme ir TRUE vai FALSE. Ja izteiksme ir TRUE, funkcija IIf atgriež vienu vērtību; Ja tas ir aplams, funkcija IIf atgriež citu. Jūs norādāt vērtības IIf atgriež.

Daži piemēri

Sintakse

IIf ( izteiksme , patiesādaļa , aplamādaļa )

Funkcijas IIf sintaksei ir šādi argumenti.

Arguments

Apraksts

izteiksme

Obligāts. Izteiksme, kuru vēlaties novērtēt.

true_daļa

Obligāts. Vērtība vai izteiksme tiek atgriezta, ja izteiksme ir True.

false_daļa

Obligāts. Vērtība vai izteiksme atgriezta, ja izteiksme ir nepatiesa.


Piebildes

IIf vienmēr novērtē gan patiesādaļa , gan aplamādaļa, lai gan atgriež tikai vienu no tām. Šī iemesla dēļ ir jāuzmanās no nevēlamām blakusparādībām. Piemēram, ja, novērtējot aplamādaļa rezultātus dalīšanas ar nulles kļūdu, rodas kļūda pat tad, ja izteiksme ir True.

Piemēri

Funkcijas IIf lietošana formā vai atskaitē    Iedomājieties, ka jums ir tabula Customers, kurā ir lauks CountryRegion. Veidlapā jūs vēlaties norādīt, vai itāļu valoda ir pirmā kontaktpersona. Varat pievienot vadīklu un izmantot funkcijas IIf rekvizīta Vadīklas avots , piemēram, šādi:

= IIf ([CountryRegion] = "Itālija", "itāliešu", "cita valoda")

Atverot formu formas skatā, vadīkla parāda "itāļu", ja CountryRegion vērtība ir Itālija, un "cita valoda", ja CountryRegion ir jebkura cita vērtība.

Funkcijas IIf lietošana saliktās izteiksmēs    Jebkuru izteiksmi var izmantot kā daļu no IIf priekšraksta. Varat arī "ligzdot" IIf izteiksmes, ļaujot novērtēt atkarīgu izteiksmju sēriju. Lai turpinātu ar iepriekšējo piemēru, iespējams, vēlēsities testēt vairākas atšķirīgas vērtības CountryRegion un pēc tam attēlot attiecīgo valodu atkarībā no tā, kura vērtība pastāv:

= IIf ([CountryRegion] = "Itālija", "itāliešu", IIf ([CountryRegion] = "Francija", "franču", IIf ([CountryRegion] = "Vācija", "vācu", "cita valoda")))))

Teksts "cita valoda" ir visdziļākā funkcijasaplamādaļa arguments. Tā kā katra ligzdotā funkcija IIf ir aplamādaļa argumenta funkcija IIf , kas to satur, tad teksts "cita valoda" ir atgriezts tikai tad, ja visi funkcijas Sum argumenti tiek novērtēti aplami.

Citā piemērā pieņemsim, ka strādājat bibliotēkā. Bibliotēkas datu bāzē ir tabula ar nosaukumu Check outs, kas satur lauku, kura nosaukums ir. Varat izveidot formu, kas norāda paņemta vienuma statusu vadīklā, izmantojot funkciju IIf šīs vadīklas rekvizītā Vadīklas avots , piemēram, šādi:

= IIf ([izpildes datums] <datums (), "nokavēts", IIf ([izpildes datums] = Date (), "termiņš šodien", "vēl nav pienācis"))

Atverot formu formas skatā, vadīklā tiek parādīts teksts "nokavēts", ja izpildes datuma vērtība ir mazāka par pašreizējo datumu, "termiņš šodien", ja tas ir vienāds ar pašreizējo datumu, un "vēl nav jāveic" citādi.

Piezīme.: Lai izmantotu loģiskos operatorus, piemēram, "and" vai "or" funkcijas IIf argumentā izteiksme , funkcija eval ir jāiekļauj loģiskā izteiksmē. Skatiet tabulu piemērs, kas seko.

Funkcijas IIf lietošana vaicājumā    

Funkcija IIf tiek bieži izmantota, lai izveidotu aprēķinātos laukus vaicājumos. Sintakse ir tāda pati, izņemot gadījumu, ja vaicājumā ir jāmaina izteiksme 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:

Valoda: IIf ([CountryRegion] = "Itālija", "itāliešu", "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 lietoš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ā izmantota funkcija IIf , lai novērtētu CheckIt procedūras TestMe parametru, un atgriež 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 ([Airportcode;] = "ORD", "Čikāga", IIf ([Airportcode;] = "ATL", "Atlanta", IIf ([Airportcode;] = "jūra", "Sietla", "cits")))

Ja [Airportcode;] ir "ORD", Return "Chicago". Pretējā gadījumā, ja [Airportcode;] ir "ATL", Return "Atlanta". Pretējā gadījumā, ja [Airportcode;] ir "jūra", atgriež "Sietla". Pretējā gadījumā atgriezīs "cits".

= IIf ([ShipDate] <Date (), "nosūtīts", IIf ([ShipDate] = Date (), "Shipping Today", "nepiegādāts"))

Ja [ShipDate] ir pirms šodienas datuma, atgrieziet "nosūtīts". Pretējā gadījumā, ja [ShipDate] ir vienāds ar šodienas datumu, atdodiet "Shipping Today". Pretējā gadījumā atgriezt "nenosūtīts".

= IIf ([piegādes datums] <#1/1/2008 #, "vecs", "jauns")

Ja [piegādes datums] ir pirms 1/1/2008, atgrieziet "Old". Pretējā gadījumā atdodiet "jauns".

= IIf (eval ([volti] starp 12 un 15 un [ampēri] starp 0,25 un 0.3), "labi", "nav kalibrēšanas")

Ja [volti] ir starp 12 un 15 un [ampērs] ir no 0,25 līdz 0,3, atdodiet "labi". Pretējā gadījumā atgriež "nav kalibrācijas".

= IIf (eval ([CountryRegion] in ("Kanāda", "ASV", "Meksika")), "Ziemeļamerika", "cits")

Ja [CountryRegion] ir "Kanāda", "ASV" vai "Meksika", Return "Ziemeļamerika". Pretējā gadījumā atgriezīs "cits".

= IIf ([vidējais] >= 90, "A", IIf ([Average] >= 80, "B", IIf ([vidējais] >= 70, "C", IIf ([vidējais] >= 60, "D", "F"))))))

Ja [Average] ir 90 vai jaunāka versija, atdodiet "A". Pretējā gadījumā, ja [Average] ir 80 vai jaunāka, atgriež "B". Pretējā gadījumā, ja [Average] ir 70 vai jaunāka versija, atgriež "C". Pretējā gadījumā, ja [Average] ir 60 vai jaunāka versija, atgriež "D". Pretējā gadījumā atgriež "F".

Piezīme.: Ja izmantojat funkciju IIf , lai vaicājumā izveidotu aprēķinātu lauku, aizvietojiet vienādības zīmi (=) ar lauka aizstājvārdu un kolu (:). Piemēram, Statuss: IIf ([ShipDate] <Date (), "nosūtīts", IIF ([ShipDate] = Date (), "Shipping Today", "nenosūtīts"))

Vai nepieciešama papildu palīdzība?

Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×