Funktionen IIf

Returnerer en af to dele afhængigt af evalueringen af en udtryk.

Du kan bruge IIf overalt, hvor du kan bruge udtryk. Du bruger IIf til at afgøre, om et andet udtryk er sandt eller falsk. Hvis udtrykket er sandt, returnerer IIf én værdi. hvis den er falsk, returnerer IIf en anden. Du angiver de værdier, som IIf returnerer.

Se eksempler

Syntaks

IIf (udtryk, sand del, falsk del)

Syntaksen for funktionen IIf har disse argumenter:

Argument

Beskrivelse

udtryk

Påkrævet. Udtryk, du vil evaluere.

truepart

Påkrævet. Værdi eller udtryk, der returneres, hvis udtryk er Sand.

falsk del

Påkrævet. Værdi eller udtryk, der returneres, hvis udtryk er Falsk.


Bemærkninger

IIf evaluerer altid både sand del og falsk del,selvom den kun returnerer én af dem. Derfor bør du holde øje med uønskede bivirkninger. Hvis evaluering af falsk del f.eks. resulterer i en division med nulfejl, opstår der en fejl, selvom udtryk er Sand.

Eksempler

Brug IIf i en formular eller rapport    Antag, at du har tabellen Kunder, der indeholder et felt med navnet LandOmråde. I en formular skal du angive, om italiensk er kontaktens første sprog. Du kan tilføje et kontrolelement og bruge IIf iegenskaben Kontrolelementkilde, således:

=IIf([LandOmråde]="Italien", "Italiensk", "Et andet sprog")

Når du åbner formularen i formularvisning, vises "Italiensk", når værdien for LandOmråde er Italien, og "Et andet sprog", når LandOmråde har en anden værdi.

Brug IIf i komplekse udtryk    Du kan bruge et hvilket som helst udtryk som en del af en IIf-sætning. Du kan også "indlejre" IIf-udtryk, så du kan evaluere en række afhængige udtryk. Hvis du vil fortsætte med det foregående eksempel, kan det være en god ide at teste for flere forskellige Landeområde-værdier og derefter få vist det rette sprog, afhængigt af hvilken værdi der findes:

=IIf([LandOmråde]="Italien", "Italiensk", IIf([LandOmråde]="Frankrig", "Fransk", IIf([LandOmråde]="Tyskland", "Tysk", "Et andet sprog")))

Teksten "Et andet sprog" er falskdel-argumentet for den inderste IIf-funktion. Da hver indlejret IIf-funktion er falskdel-argumentet for den IIf-funktion, der indeholder den, returneres teksten "Et andet sprog" kun, hvis alle udtryksargumenterne fra alle IIf-funktionerne evalueres til Falsk.

Antag, at du arbejder i et bibliotek i et andet eksempel. Biblioteksdatabasen har en tabel med navnet Tjek ud, der indeholder et felt med navnet Forfaldsdato, der indeholder den dato, hvor en bestemt bog skal forfalde. Du kan oprette en formular, der angiver status for et element, der er tjekket ud i et kontrolelement, ved hjælp af funktionen IIf i egenskaben Kontrolelementkilde i kontrolelementet, således:

=IIf([Forfaldsdato]<Dato(),"OVERSKREDET",IIf([Forfaldsdato]=Dato(),"Forfaldsdato i dag","Endnu ikke forfalden"))

Når du åbner formularen i formularvisning, viser kontrolelementet "OVERSKREDET", hvis værdien af Forfaldsdato er mindre end dags dato, "Forfalder i dag", hvis den er lig med dags dato og "Endnu ikke forfalden".

Bemærk!: Hvis du vil bruge logiske operatorer som f.eks. "Og" eller "Eller" i argumentet udtryk for funktionen IIf, skal du omslutte det logiske udtryk i funktionen Eval. Se nedenstående eksempeltabel.

Brug IIf i en forespørgsel    

Funktionen IIf bruges ofte til at oprette beregnede felter i forespørgsler. Syntaksen er den samme med undtagelse af, at i en forespørgsel skal du skrive et feltalias foran udtrykket og et kolon (:) i stedet for et lighedstegn (=). Hvis du vil bruge det foregående eksempel, skal du skrive følgende i rækken Felt i forespørgselsdesigngitteret:

Sprog: IIf([LandOmråde]="Italien", "Italiensk", "Et andet sprog")

I dette tilfælde er "Sprog:" feltaliasset.

Du kan finde flere oplysninger om oprettelse af forespørgsler og beregnede felter i artiklen Opret en simpel udvælgelsesforespørgsel.

Brug IIf i VBA-kode    

Bemærk!: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

I dette eksempel bruges funktionen IIf til at evaluere TestMe-parameteren for CheckIt-proceduren og returnerer ordet "Stor", hvis beløbet er større end 1000. Ellers returneres ordet "Lille".

Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

Flere eksempler

Udtryk

Resultater

=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))

Hvis [AirportCode] er "ORD", returneres "Chicago". Ellers returneres "Atlanta", hvis [AirportCode] er "ATL". Ellers skal du returnere "Seattle", hvis [AirportCode] er "SEA". Ellers returneres "Andet".

=IIf([Forsendelsesdato]<Dato(),"Afsendt",IIf([Forsendelsesdato]=Dato(),"Levering i dag","Ikke sendt"))

Hvis [Forsendelsesdato] er før dags dato, returneres "Afsendt". Ellers hvis [Forsendelsesdato] er lig med dags dato, returneres "Levering i dag". Ellers returneres "Ikke leveret".

=IIf([PurchaseDate]<#1/1/2008#,"Old","New")

Hvis [PurchaseDate] ligger før den 1/1/2008, returneres "Gammel". Ellers returneres "Ny".

=IIf(Eval([Skærm] Between 12 And 15 And [amps] Between 0.25 And 0.3),"OK","Out of kalibrering")

Hvis [Kangivelser] er mellem 12 og 15, og [Amps] er mellem 0,25 og 0,3, returneres "OK". Ellers returneres "Ude af kalibrering".

=IIf(Eval([LandOmråde] In ("Canada","USA","Mexico")),"Nordamerika","Andet")

Hvis [LandOmråde] er "Canada", "USA" eller "Mexico", returneres "Nordamerika". Ellers returneres "Andet".

=IIf([Gennemsnit]>=90,"A",IIf([Gennemsnit]>=80,"B",IIf([Gennemsnit]>=70,"C",IIf([Gennemsnit]>=60,"D","F"))))

Hvis [Gennemsnit] er 90 eller større, returneres "A". Ellers returneres "B", hvis [Gennemsnit] er 80 eller større. Ellers returneres "C", hvis [Gennemsnit] er 70 eller større. Ellers returneres "D", hvis [Gennemsnit] er 60 eller større. Ellers returneres "F".

Bemærk!: Hvis du bruger funktionen IIf til at oprette et beregnet felt i en forespørgsel, skal du erstatte lighedstegnet (=) med et feltalias og et kolon (:). Status: IIf([Forsendelsesdato]<Dato(),"Forsendelse",IIf([Forsendelsesdato]=Dato(),"Levering i dag","Ikke sendt"))

Har du brug for mere hjælp?

Udvid dine Office-færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider