Pateikia vieną iš dviejų dalių, atsižvelgiant į išraiška įvertinimą.
Galite naudoti IIf visur, kur galite naudoti reiškinius. IIf naudojate norėdami nustatyti, ar kitas reiškinys yra teisingas, ar klaidingas. Jei reiškinys yra teisingas, IIf pateikia vieną reikšmę; jei klaidinga, IIf grąžins kitą. Jūs nurodote reikšmes , kurias grąžina IIf .
Sintaksė
IIf ( išraiška , teisingadalis , klaidingadalis )
Funkcijos IIf sintaksė turi tokius argumentus:
Argumentas |
Aprašas |
reiškinys |
Būtinas. Išraiška, kurią norite įvertinti. |
teisingadalis |
Būtinas. Reikšmė arba reiškinys, grąžintas, jei išraiška yra Teisinga. |
klaidingadalis |
Būtinas. Reikšmė arba reiškinys pateikiamas, jei reiškinys yra False (klaidinga). |
Pastabos
IIf visada vertina ir truepart , ir falsepart, nors ji pateikia tik vieną iš jų. Dėl to turėtumėte stebėti nepageidaujamą šalutinį poveikį. Pavyzdžiui, jei vertinant klaidingądalį gaunama dalyba iš nulio klaidos, įvyksta klaida, net jei reiškinys yra Teisingas.
Pavyzdžiai
IIf naudojimas formoje arba ataskaitoje Tarkime, kad turite lentelę Klientai, kurioje yra laukas, pavadintas ŠalisRegionas. Formoje norite nurodyti, ar italų kalba yra pirmoji kontakto kalba. Galite įtraukti valdiklį ir naudoti IIf jo ypatybėje Valdiklio šaltinis , pvz.:
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
Kai atidarote formą formos rodinyje, valdiklis rodo "Italų", kai šalies_regionas reikšmė yra Italija, ir "Kita kalba", kai Šalisregionas yra bet kokia kita reikšmė.
Naudoti IIf sudėtinguose reiškiniuose Bet kurį reiškinį galite naudoti kaip bet kurią sakinio IIf dalį. Taip pat galite įdėti IIf reiškinius, kad galėtumėte įvertinti priklausomų reiškinių seką. Norėdami tęsti anksčiau pateiktame pavyzdyje, galbūt norėsite patikrinti kelias skirtingas CountryRegion reikšmes, tada rodyti atitinkamą kalbą, atsižvelgiant į tai, kuri reikšmė yra:
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
Tekstas "Kita kalba" yra klaidingos vidinio IIf funkcijos argumentas. Kiekviena įdėtoji funkcija IIf yra funkcijos IIfklaidingas argumentas, kuriame ji yra, todėl tekstas "Kita kalba" grąžinamas tik jei visi visų IIf funkcijų išraiškos argumentai vertinami kaip False.
Tarkime, dirbate bibliotekoje. Bibliotekos duomenų bazėje yra lentelė, pavadinta Paimti ir atrakinti, kurioje yra laukas, pavadintas Terminas, kuriame yra konkrečios knygos terminas. Galite sukurti formą, nurodančią paimto elemento būseną valdiklyje, naudodami to valdiklio ypatybės Valdiklio šaltinis funkciją IIf, pvz.:
=IIf([Terminas]<data(),"PRADELSTA",IIf([Terminas]=Date(),"Terminas šiandien","Dar nesumokėtas"))
Kai atidarote formą formos rodinyje, valdiklis rodo "PRADELSTA", jei termino reikšmė yra mažesnė už dabartinę datą, "Terminas šiandien", jei ji yra lygi dabartinei datai, ir "Nesumokėta" – kitu atveju.
Pastaba: Norėdami funkcijos IIf argumente reiškinyje naudoti loginius operatorius, pvz., "And" arba "Or", turite įtraukti loginį reiškinį į funkciją Eval. Peržiūrėkite toliau pateiktos lentelės pavyzdį.
IIf naudojimas užklausoje
Funkcija IIf dažnai naudojama užklausų apskaičiuotiesiams laukams kurti. Sintaksė yra tokia pati, išskyrus atvejus, kai užklausoje prieš išraišką reikia įvesti lauko pseudonimą ir dvitaškį (:), o ne lygybės ženklą (=). Norėdami naudoti ankstesnį pavyzdį, užklausos dizaino tinklelio eilutėje Laukas turėtumėte įvesti:
Kalba: IIf([CountryRegion]="Italy", "Italian", "Some other language")
Šiuo atveju "Kalba:" yra lauko pseudonimas.
Daugiau informacijos apie užklausų ir apskaičiuotųjų laukų kūrimą žr. straipsnyje Paprastos išrinkimo užklausos kūrimas.
Naudoti IIf VBA kode
Pastaba: Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.
Šiame pavyzdyje funkcija IIf naudojama procedūros CheckIt parametrui TestMe įvertinti ir, jei suma yra didesnė nei 1000, grąžinamas žodis "Didelis"; kitu atveju bus grąžintas žodis "Small".
Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small") End Function
Daugiau pavyzdžių
Reiškinys |
Rezultatai |
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other"))) |
Jei [AirportCode] yra ORD, pateikti "Čikaga". Kitu atveju, jei [AirportCode] yra ATL, grąžinkite "Atlanta". Kitu atveju, jei [AirportCode] yra "SEA", pateikti "Sietlas". Kitu atveju grąžinkite "Kita". |
=IIf([Siuntimo_data]<data(),"Išsiųsta",IIf([Siuntimo_data]=Data(),"Pristatymas šiandien","Išsiųsta")) |
Jei [Išsiuntimo data] yra ankstesnė už šiandienos datą, grąžinkite "Išsiųsta". Kitu atveju, jei [Išsiuntimo data] yra lygi šiandienos datai, grąžinkite "Pristatymas šiandien". Kitu atveju grąžinkite "Neišsiųsta". |
=IIf([PurchaseDate]<#1/1/2008#,"Old","New") |
Jei [PurchaseDate] yra ankstesnė už 2008-01-01, pateikti "Senas". Kitu atveju grąžinkite "Naujas". |
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration") |
Jei [Voltai] yra nuo 12 iki 15 ir [Amps] yra nuo 0,25 iki 0,3, pateikti "Gerai". Kitu atveju grąžinkite pranešimą "Kalibravimo pabaiga". |
=IIf(Eval([CountryRegion] in ("Canada","USA","Mexico")),"North America","Other") |
Jei [CountryRegion] yra "Kanada", "JAV" arba "Meksika", grąžinkite "Šiaurės Amerika". Kitu atveju grąžinkite "Kita". |
=IIf([Vidurkis]>=90,"A",IIf([Vidutinis]>=80,"B",IIf([Vidutinis]>=70,"C",IIf([Vidutinis]>=60,"D","F")))) |
Jei [Average] yra 90 arba daugiau, pateikti "A". Kitu atveju, jei [Vidurkis] yra 80 arba didesnis, pateikti "B". Kitu atveju, jei [Vidurkis] yra 70 arba didesnis, pateikti "C". Kitu atveju, jei [Vidurkis] yra 60 arba didesnis, pateikti "D". Kitu atveju grąžinkite "F". |
Pastaba: Jei naudojate funkciją IIf apskaičiuotajam laukui užklausoje kurti, pakeiskite lygybės ženklą (=) lauko pseudonimu ir dvitaškiu (:). Pvz., Būsena: IIf([Siuntimo data]<Data(),"Išsiųsta",IIf([Siuntimo_data]=Data(),"Pristatymas šiandien","Išsiųsta"))