Funkcia IIf

Dôležité : Tento článok je strojovo preložený, prečítajte si vyhlásenie. Anglickú verziu tohto článku nájdete tu a môžete ju použiť ako referenciu.

Vráti jednu z dvoch častí v závislosti od vyhodnotenia výraz.

Funkciu IIf môžete použiť všade tam, kde môžete použiť výrazy. Funkcia IIf sa používa na určenie, či je iný výraz pravdivý alebo nepravdivý. Ak je výraz pravdivý, funkcia IIf vráti jednu hodnotu. Ak je nepravdivý, funkcia IIf vráti inú hodnotu. Hodnoty, ktoré funkcia IIf vráti, určuje používateľ.

Pozrite si niektoré príklady

Syntax

IIf ( výraz ; pravda ; NEPRAVDA )

Syntax funkcie IIf má tieto argumenty:

Argument

Popis

výraz

Povinné. Výraz, ktorý sa má vyhodnotiť.

truepart

Povinné. Hodnota alebo výraz, ktoré sa vrátia, ak hodnota argumentu expr je True.

falsepart

Povinné. Hodnota alebo výraz, ktoré sa vrátia, ak hodnota argumentu expr je False.


Poznámky

Funkcia IIf vždy vyhodnocuje argument truepart aj argument falsepart, aj keď vráti iba jeden z nich. Je preto nutné dávať si pozor na možné nežiaduce sprievodné javy. Ak napríklad vyhodnotenie argumentu falsepart bude mať za následok chybu delenia nulou, vyskytne sa chyba, aj keď argument expr má hodnotu True.

Príklady

Použitie funkcie IIf vo formulári alebo zostave    Predpokladajme, že máte tabuľku Zákazníci, ktorá obsahuje pole s názvom krajina. Vo formulári chcete označujú, či taliančina je prvý jazyk kontaktu. Môžete pridať ovládací prvok a použitie funkcie IIf v jeho vlastnosť Zdroj ovládacieho prvku , napríklad takto:

=IIf([Krajina]="Taliansko", "taliančina", "iný jazyk")

Keď otvoríte formulár vo formulárovom zobrazení, v ovládacom prvku sa vždy zobrazí hodnota taliančina, keď bude pole Krajina obsahovať hodnotu Taliansko a hodnota iný jazyk sa zobrazí vždy, keď bude mať pole Krajina inú hodnotu.

Použitie funkcie IIf v zložitých výrazoch    Môžete použiť ľubovoľný výraz ako ľubovoľnú časť príkazu IIf . Môžete tiež "vnoriť" IIf výrazy, čo umožňuje vyhodnotiť sériu závislé výrazov. Ak chcete pokračovať v predchádzajúcom príklade, môžete vyskúšať niekoľko rôznych KrajinaOblasť hodnôt a potom zobrazte príslušný jazyk, v závislosti od toho, ktorá existuje hodnota:

=IIf([Krajina]=„Taliansko“, „taliančina“, IIf([Krajina]=„Francúzsko“, „francúzština“, IIf([Krajina]=„Nemecko“, „nemčina“, „iný jazyk“)))

Text „iný jazyk“ je argument falsepart pre prvú vnútornú funkciu IIf. Keďže každá vnorená funkcia IIf je argumentom falsepart funkcie IIf, ktorá ju obsahuje, text „iný jazyk“ sa vráti len v prípade, že všetky argumenty expr všetkých funkcií IIf sú vyhodnotené ako False.

Predpokladajme napríklad, že pracujete v knižnici. Databáza knižnice zahŕňa tabuľku s názvom Požičané a nej sa nachádza pole s názvom Dátum vrátenia, ktoré obsahuje dátum, kedy sa má konkrétna kniha vrátiť. Môžete vytvoriť tabuľku, ktorá zobrazuje stav požičanej položky, pomocou funkcie IIf vo vlastnosti ovládacieho prvku Zdroj ovládacieho prvku:

=IIf([Dátum vrátenia]<Date(),"OMEŠKANÉ",IIf([Dátum vrátenia]=Date(),"Dnes","Nie"))

Pri otvorení formulára vo formulárovom zobrazení sa v ovládacom prvku zobrazí hodnota OMEŠKANÉ, ak je hodnota v poli Dátum vrátenia skoršia ako aktuálny dátum, hodnota Dnes, ak je zhodná s aktuálnym dátumom, a hodnota Nie, ak je v tomto poli neskorší dátum.

Poznámka : Používať logické operátory, ako napríklad "A" alebo "Alebo" v argumente výraz s funkciou IIf musíte uzavrieť logického výrazu v Eval funkcia. Pozrite si nasledujúcu tabuľku príklad.

Použitie funkcie IIf v dotaze   

Funkcia IIf sa často používa na Vytvoriť vypočítavané polia v dotazoch. Syntax je odlišný, s výnimkou, že v dotaze, musíte Úvod výraz alias poľa a dvojbodka (:) namiesto znak rovnosti (=). Ak chcete použiť v predchádzajúcom príklade, by zadajte nasledujúci do riadka pole v mriežke návrhu dotazu:

Jazyk:IIf([Krajina]="Taliansko“,"taliančina“,"iný jazyk“)

V tomto prípade je alias poľa „Jazyk:“.

Ďalšie informácie o vytváraní dotazov a vypočítavaných polí nájdete v článku Vytvorenie jednoduchého výberového dotazu.

Použitie funkcie IIf v kóde VBA   

Poznámka : Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V tomto príklade sa funkcia IIf používa na vyhodnotenie parametra TestMe procedúry CheckIt a vráti hodnotu Large, ak je suma väčšia ako 1000. Ak je hodnota menšia, vráti hodnotu Small.

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

Ďalšie príklady

Výraz

Výsledky

=IIf([KódLetiska]="ORD","Chicago",IIf([KódLetiska]="ATL","Atlanta",IIf([KódLetiska]="SEA","Seattle","iné")))

Ak [KódLetiska] je ORD, vráti sa hodnota Chicago. V opačnom prípade, ak [KódLetiska] je ATL, vráti sa hodnota Atlanta. V opačnom prípade, ak [KódLetiska] je SEA, vráti sa hodnota Seattle. V opačnom prípade sa vráti hodnota iné.

=IIf([TermínOdoslania]<Date(),"Odoslané",IIf([TermínOdoslania]=Date(),"Odosiela sa dnes","Neodoslané"))

Ak [TermínOdoslania] je skorší ako aktuálny dátum, vráti sa hodnota Odoslané. V opačnom prípade, ak je [TermínOdoslania] zhodný s aktuálnym dátumom, vráti sa hodnota Odosiela sa dnes. V opačnom prípade sa vráti hodnota Neodoslané.

=IIf([DátumKúpenia]<#1/1/2008#,"Staré","Nové")

Ak [DátumKúpenia] je skorší ako 1/1/2008, vráti sa hodnota Staré. V opačnom prípade sa vráti hodnota Nové.

=IIf(Eval([Volts] medzi 12 a 15 a [Amps] medzi 0.25 a 0.3),"OK","Nenakalibrované")

Ak hodnota [Volts] je medzi 12 a 15 a hodnota [Amps] medzi 0.25 a 0.3, vráti sa hodnota OK. V opačnom prípade sa vráti hodnota Nenakalibrované.

=IIf(Eval([Krajina] v krajinách ("Kanada","USA","Mexiko")),"Severná Amerika","iné")

Ak [Krajina] je Kanada, USA alebo Mexiko, vráti sa hodnota Severná Amerika. V opačnom prípade sa vráti hodnota iné.

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

Ak má [Priemer] hodnotu 90 a viac, vráti sa hodnota A. V opačnom prípade, ak má [Priemer] hodnotu 80 a viac, vráti sa hodnota B. V opačnom prípade, ak má [Priemer] hodnotu 70 alebo viac, vráti sa hodnota C. V opačnom prípade, ak má [Priemer] hodnotu 60 alebo viac, vráti sa hodnota D. V opačnom prípade sa vráti hodnota F.

Poznámka : Ak používate funkciu IIf na vytvorenie vypočítavaného poľa v dotaze, nahradiť znakom rovnosti (=) alias poľa a dvojbodka (:). Napríklad stav: IIf ([Dátumodoslania] < dátum (); "Odoslané", IIf ([Dátumodoslania] = (dátum), "Dnes doprava", "Unshipped"))

Poznámka : Vyhlásenie týkajúce sa strojového prekladu: Tento článok bol preložený počítačovým systémom bez zásahu človeka. Poskytovaním týchto strojových prekladov umožňuje spoločnosť Microsoft aj používateľom, ktorí nehovoria po anglicky, využívať obsah o produktoch, službách a technológiách spoločnosti Microsoft. Článok bol preložený strojovo, môže preto obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky.

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×