Palauttaa toisen kahdesta osasta lausekkeen arvioinnista riippuen.
Voit käyttää IIf lausekkeita missä tahansa. Tämän avulla IIf voit määrittää, onko toinen lauseke tosi vai epätosi. Jos lauseke on tosi, palauttaa IIf yhden arvon. Jos se on epätosi, IIf palauttaa toisen arvon. Voit määrittää arvot, jotka IIf palauttavat.
Syntaksi
IIf(expr, truepart, falsepart)
IIf Funktion syntaksilla on seuraavat argumentit:
| Argumentti | Kuvaus |
|---|---|
expr |
Pakollinen. Lauseke, jonka arvo halutaan laskea. |
truepart |
Pakollinen. Palautettava arvo tai lauseke, jos expr on True. |
falsepart |
Pakollinen. Palautettava arvo tai lauseke, jos expr on False. |
Huomautuksia
IIf laskee aina molemmat truepart ja, falsepartvaikka se palauttaa vain toisen niistä. Tämän toiminnan vuoksi tarkkaile ei-toivottuja sivuvaikutuksia. Jos esimerkiksi arvioinnin falsepart tuloksena on jako nollalla-virhe, virhe tapahtuu vaikka expr se on True.
Esimerkkejä
Käytä IIf lomakkeessa tai raportissa
Oletetaan, että sinulla on Customers taulukko, jossa on kenttä nimeltä CountryRegion. Lomakkeessa haluat näyttää, onko italia yhteyshenkilön äidinkieli. Voit lisätä ohjausobjektin ja käyttää IIf sen Control Source ominaisuuksissa:
=IIf([CountryRegion]="Italy", "Italian", "Some other language")
Kun avaat lomakkeen lomakenäkymään, ohjausobjekti tulee näkyviin Italian aina, kun CountryRegion arvo on Italy. Se tulee näkyviin Some other language aina, kun CountryRegion siinä on muita arvoja.
Käyttö IIf monimutkaisissa lausekkeissa
Voit käyttää mitä tahansa lauseketta lausekkeen IIf missä tahansa osassa. Voit myös asettaa sisäkkäisiä IIf lausekkeita, joiden avulla voit arvioida useita toisistaan riippuvaisia lausekkeita. Oletetaan jatkoa edelliseen esimerkkiin: haluat ehkä testata useita eri CountryRegion arvoja ja näyttää sitten sopivan kielen arvon perusteella:
=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))
Teksti Some other language on falsepart sisimmän IIf funktion argumentti. Koska kukin sisäkkäinen IIf funktio on falsepart sen sisältävän funktion argumenttiIIf, teksti palautetaan vain, Some other language jos funktioiden kaikkien expr argumenttien IIf tulos on .False
Oletetaan toisena esimerkkinä, että työskentelet kirjastossa. Kirjastotietokannassa on taulukko nimeltä Check Outs , joka sisältää kentän nimeltä Due Date, joka sisältää tietyn kirjan palautuspäivän. Voit luoda lomakkeen, joka näyttää ohjausobjektissa uloskuitatun kohteen tilan, käyttämällä IIf kyseisen ohjausobjektin ominaisuuden Control Source funktiota:
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
Kun avaat lomakkeen lomakenäkymään, ohjausobjekti näyttää OVERDUE , jos arvo Due Date on pienempi kuin kuluva päivä, jos Due today se on yhtä suuri kuin kuluva päivä ja Not Yet Due muuten .
Huomautus
Jos haluat käyttää funktion argumentissa IIf loogisia operaattoreita, kuten or-operaattoria exprAndOr, looginen lauseke on lisättävä Eval-funktioon. Saat lisätietoja esimerkkitaulukosta.
Käytä IIf kyselyssä
IIf Funktiota käytetään usein kyselyiden laskettujen kenttien luomiseen. Syntaksi on sama, paitsi että kyselyssä sinun täytyy lisätä lausekkeen eteen kentän tunnus ja kaksoispiste (:) yhtäsuuruusmerkin ()= sijaan. Käyttääksesi edellistä esimerkkiä, kirjoita kyselyn rakenneruudukon Kenttä-riville seuraava teksti:
Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")
Tässä tapauksessa Language: se on kentän tunnusnimi.
Lisätietoja kyselyjen ja laskettujen kenttien luomisesta on artikkelissa Yksinkertaisen valintakyselyn luominen.
Käytä IIf VBA-koodissa
Huomautus
Seuraavissa esimerkeissä näytetään, miten tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Saat lisätietoja VBA-koodin käyttämisestä valitsemalla Haku-kohdan vieressä olevasta avattavasta luettelosta Sovelluskehittäjän oppaan ja kirjoittamalla hakuruutuun vähintään yhden termin.
Tässä esimerkissä IIf funktion avulla lasketaan TestMe toimintosarjan parametri CheckIt ja palautetaan sana, Large jos määrä on suurempi kuin 1 000. Muussa tapauksessa se palauttaa sanan Small.
Function CheckIt(TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
Lisää esimerkkejä
Lauseke:
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))Tulos: Jos
[AirportCode]on"ORD", palauta"Chicago". Muussa tapauksessa, jos[AirportCode]on"ATL", palauta"Atlanta". Muussa tapauksessa, jos[AirportCode]on"SEA", palauta"Seattle". Muussa tapauksessa palauta ."Other"Lauseke:
=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))Tulos: Jos
[ShipDate]se on aiempi kuin tämän päivän päivämäärä, palauta"Shipped". Muuten, jos[ShipDate]se on sama kuin kuluvan päivän päivämäärä, palauta ."Shipping today"Muussa tapauksessa palauta ."Unshipped"Lauseke:
=IIf([PurchaseDate]<#1/1/2008#,"Old","New")Tulos: Jos
[PurchaseDate]on aikaisemmin kuin1/1/2008, palauta"Old". Muussa tapauksessa palauta ."New"Lauseke:
=IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")Tulos: Jos
[Volts]on 12–15 ja[Amps]0,25–0,3, palauta"OK". Muussa tapauksessa palauta ."Out of calibration"Lauseke:
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")Tulos: If
[CountryRegion]is"Canada","USA", tai"Mexico", return"North America". Muussa tapauksessa palauta ."Other"Lauseke:
=IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))Tulos: Jos
[Average]arvo on 90 tai suurempi, palauta ."A"Muuten, jos[Average]arvo on 80 tai suurempi, palauta"B". Muuten, jos[Average]arvo on 70 tai suurempi, palauta"C". Muuten, jos[Average]arvo on 60 tai suurempi, palauta"D". Muussa tapauksessa palauta ."F"
Huomautus
Jos IIf luot funktiolla lasketun kentän kyselyyn, korvaa yhtäläisyysmerkki (=) kentän tunnuksella ja kaksoispisteellä (:).
Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))Esimerkiksi .