Funkcia IIf

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

Pomocou funkcie IIF môžete použiť výrazy. Ak chcete zistiť, či je iný výraz pravdivý alebo nepravdivý, použite IIF . Ak je výraz pravdivý, funkcia IIF vráti jednu hodnotu. Ak je argument false, funkcia IIF vráti ďalšiu hodnotu. Zadáte hodnoty, ktoré sa vrátia do funkcie IIF .

Pozrite si niekoľko príkladov

Syntax

IIF ( výraz, pravda, NEPRAVDA)

Syntax funkcie IIF obsahuje tieto argumenty:

Argument

Popis

výraz

Povinný argument. Výraz, ktorý chcete vyhodnotiť.

pravda

Povinný argument. Hodnota alebo výraz vráti hodnotu true.

NEPRAVDA

Povinný argument. Hodnota alebo výraz vráti hodnotu False.


Poznámky

Funkcia IIF vždy vyhodnotí aj pravda aj NEPRAVDA, hoci vráti iba jeden z nich. Z tohto dôvodu by ste sa mali pozerať na nežiaduce vedľajšie účinky. Ak napríklad vyhodnotí NEPRAVDA výsledky v delení nulou, chyba sa vyskytuje aj v prípade, že výraz je pravdivý.

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 KrajinaOblasť. Vo formulári chcete uviesť, či je taliančina prvým jazykom kontaktu. Môžete pridať ovládací prvok a použiť IIF v jeho vlastnosti Zdroj ovládacieho prvku , napríklad:

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

Keď otvoríte formulár vo formulárovom zobrazení, ovládací prvok zobrazí "taliančina" vždy, keď je hodnota pre KrajinaOblasť v Taliansku a "iný jazyk" vždy, keď KrajinaOblasť je ľubovoľná iná hodnota.

Použitie funkcie IIF v zložitých výrazoch    Ľubovoľný výraz môžete použiť ako ľubovoľnú časť príkazu IIF . Môžete tiež "vnoriť" výrazy, ktoré vám umožnia vyhodnotiť rad závislých výrazov. Ak chcete pokračovať v predchádzajúcom príklade, môžete otestovať niekoľko rôznych hodnôt KrajinaOblasť a potom Zobraziť príslušný jazyk podľa toho, ktorá hodnota existuje:

= IIf ([KrajinaOblasť] = "Taliansko", "taliančina", IIf ([KrajinaOblasť] = "Francúzsko", "francúzština", IIf ([KrajinaOblasť] = "Nemecko", "nemčina", "iný jazyk")))

Text "iný jazyk" je argument NEPRAVDA najvnútornejšie funkcie IIF . Keďže každá vnorená funkcia IIF je argumentom NEPRAVDA funkcie IIF , ktorá ho obsahuje, text "iný jazyk" sa vráti iba vtedy, ak všetky argumenty výrazu vo všetkých funkciách IIF vyhodnotia hodnotu False.

Ak chcete použiť iný príklad, Predpokladajme, že pracujete v knižnici. Databáza knižníc obsahuje tabuľku s názvom check outs, ktorá obsahuje pole s názvom termín dokončenia, ktorý obsahuje dátum, kedy je určitá kniha spôsobená späť. Môžete vytvoriť formulár označujúci stav položky vzaté z projektu v ovládacom prvku pomocou funkcie IIF v vlastnosti Zdroj ovládacieho prvku ovládacieho prvku, napríklad takto:

= IIf ([dátum dokončenia] <Date (), "po TERMÍNe", IIf ([dátum dokončenia] = Date (), "splatné dnes", "ešte nie je splatný"))

Keď otvoríte formulár vo formulárovom zobrazení, ovládací prvok zobrazí "ONESKOREné", ak je hodnota termínu dokončenia menšia než aktuálny dátum, "splatná dnes", ak sa rovná aktuálnemu dátumu a "ešte nie je splatná".

Poznámka: Ak chcete použiť logické operátory, ako napríklad "and" alebo "or" v argumente výrazu funkcie IIF , musíte uzavrieť logický výraz vo funkcii eval . Pozrite si príklad nasledujúcej tabuľky.

Použitie funkcie IIf v dotaze    

Funkcia IIF sa často používa na vytvorenie vypočítavaných polí v dotazoch. Syntax je rovnaká, s výnimkou toho, že v dotaze je nutné, aby ste pred výrazom pretvárli alias poľa a dvojbodku (:) namiesto znamienka rovnosti (=). Ak chcete použiť predchádzajúci príklad, zadajte do riadka pole v mriežke návrhu dotazu nasledovné:

Language: IIf ([KrajinaOblasť] = "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 používa funkcia IIF na vyhodnotenie parametra TestMe v CheckIt postupe a vráti slovo "veľké", ak je čiastka väčšia ako 1000; v opačnom prípade vráti slovo "malé".

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

Ďalšie príklady

Výraz

Výsledky

= IIf ([AirportCode] = "ORD", "Chicago", IIf ([AirportCode] = "ATL"; "Atlanta", IIf ([AirportCode] = "more"; "Seattle"; "iné")))

Ak je položka [AirportCode] "ORD", vráťte sa "Chicago". V opačnom prípade, ak je položka [AirportCode] "ATL", vráťte "Atlanta". Ak sa v opačnom prípade [AirportCode] nachádza "more", vráťte sa do "Seattle". V opačnom prípade sa vráťte na položku Ostatné.

= IIf ([stĺpec dátumodoslania] <Date (), "odoslané", IIf ([stĺpec dátumodoslania] = Date (), "Shipping Today", "Neodoslané"))

Ak je položka [stĺpec dátumodoslania] pred dnešným dátumom, vráťte sa do časti odoslané. Ak sa v opačnom prípade [stĺpec dátumodoslania] rovná dnešnému dátumu, vráťte sa na položku dodanie dnes. V opačnom prípade sa vráťte na položku Neodoslané.

= IIf ([PurchaseDate] <#1/1/2008 #, "staré", "nové")

Ak je položka [PurchaseDate] pred 1/1/2008, vráťte sa "staré". V opačnom prípade sa vráťte na položku nové.

= IIf (eval ([Volts] medzi 12 a 15 a [ampéry] medzi 0,25 a 0,3), "OK", "out of Kalibrácia")

Ak je položka [Volts] medzi 12 a 15 a [ampéry] je medzi 0,25 a 0,3, vráťte "OK". V opačnom prípade sa vráťte do časti kalibrácia.

= IIf (eval ([KrajinaOblasť] in ("Kanada", "USA"; "Mexiko")), "Severná Amerika", "iné")

Ak je položka [KrajinaOblasť] "Kanada", "USA" alebo "Mexiko", vráťte sa do časti Severná Amerika. V opačnom prípade sa vráťte na položku Ostatné.

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

Ak je položka [Average] 90 alebo vyššia, vráťte hodnotu "A". Ak je v opačnom prípade položka [priemer] 80 alebo vyššia, vráťte hodnotu B. Ak je v opačnom prípade položka [priemer] 70 alebo vyššia, vráťte hodnotu C. Ak je v opačnom prípade položka [priemer] 60 alebo vyššia, vráťte hodnotu D. V opačnom prípade vráťte slovo "F".

Poznámka: Ak používate funkciu IIF na vytvorenie vypočítavaného poľa v dotaze, nahraďte znamienko rovnosti (=) s aliasom poľa a dvojbodkou (:). Napríklad stav: IIF ([stĺpec dátumodoslania] <Date (), "odoslané", IIF ([stĺpec dátumodoslania] = Date (), "dodávka dnes", "Neodoslané"))

Potrebujete ďalšiu pomoc?

Rozšírte svoje zručnosti práce s balíkom Office
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 vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×