Funkcia IF v Exceli je ako švajčiarsky nožík funkcií Excelu. V skutočnosti sa používa v mnohých situáciách. Funkciu IF programu Excel môžete často použiť s inými funkciami. IF je štrukturálne ľahko pochopiteľné. Funkcia Excel IF má tri argumenty:
- Test, ktorý dáva pravdivú alebo nepravdivú odpoveď. Napríklad test „je hodnota v bunke A5 rovná hodnote v bunke A8“ môže mať iba jednu z dvoch možných odpovedí, áno alebo nie. V počítačových rozhovoroch je to pravda alebo nepravda. Pozor, toto nie je výpočet, ale porovnanie.
- Údaje, ktoré má vrátiť funkcia IF, ak je test pravdivý.
- Údaje, ktoré má vrátiť funkcia IF, ak je test nepravdivý.
Znie to dosť jednoducho. Tu je niekoľko príkladov:
Funkcia |
Komentujte |
=IF(D10>D20, D10, D20) |
Ak je hodnota v D10 väčšia ako hodnota v D20, vráti sa hodnota v D10, pretože test je pravdivý. Ak hodnota v D10 nie je väčšia ako – teda menšia alebo rovná – hodnota v D20, vráti sa hodnota v D20. Ak sú hodnoty v D10 a D20 rovnaké, test vráti hodnotu false a vráti hodnotu v D20. |
=IF(D10>D20, "Dobré správy!", "Zlé správy!") |
Ak je hodnota v D10 väčšia ako hodnota v D20, zobrazí sa text „Dobré správy!“ sa vráti. V opačnom prípade „zlé správy!“ sa vráti. |
=IF(D10>D20, "", "Zlé správy!") |
Ak je hodnota v D10 väčšia ako hodnota v D20, nevráti sa nič . V opačnom prípade „zlé správy!“ sa vráti. Všimnite si, že druhý argument je pár prázdnych úvodzoviek. |
=IF(D10>D20, "Dobré správy!", "") |
Ak je hodnota v D10 väčšia ako hodnota v D20, „Dobré správy!“ sa vráti. V opačnom prípade sa nič nevracia. Všimnite si, že tretí argument sú prázdne úvodzovky. |
Dôležitý aspekt, ktorý treba poznamenať pri používaní IF: nechať druhý alebo tretí argument nevrátiť nič. Vráti sa prázdny reťazec a najlepší spôsob, ako to urobiť, je umiestniť dve dvojité úvodzovky a nič do stredu. Výsledkom je, že bunka obsahujúca funkciu IF zostane prázdna.
IF vám preto umožňuje nastaviť dva výsledky, ktoré sa majú vrátiť: jeden, keď je test pravdivý, a druhý, keď je test nepravdivý. Každý výsledok môže byť číslo, nejaký text, funkcia alebo vzorec alebo dokonca prázdne miesto.
Ako vidíte v predchádzajúcom príklade, IF sa bežne používa na to, aby ste videli, ako sa dve hodnoty porovnávajú a vrátia buď jednu alebo druhú hodnotu, v závislosti od toho, ako nastavíte test v prvom argumente.
IF sa často používa ako overovacia kontrola, aby sa predišlo chybám . Predpokladajme, že máte finančný pracovný hárok, ktorý vo svojich výpočtoch používa premenlivé percento. Používateľ musí zadať toto percento každý deň, ale nikdy nesmie byť väčšie ako 10 percent. Ak chcete zabrániť chybám, môžete použiť funkciu IF na zobrazenie chybového hlásenia v susednej bunke, ak omylom zadáte hodnotu mimo povoleného rozsahu. Za predpokladu, že percento je zadané v bunke A3, tu je požadovaná funkcia IF:
=IF(A3>.1, "CHYBA: % v A3 JE PRÍLIŠ VEĽKÉ", "")
Nasledujúci obrázok ukazuje, ako sa dá IF dobre využiť v podnikovej aplikácii. Fiktívny obchod – Ken's Guitars (trochu šikovné, nemyslíte?) – má prehľad o inventári v excelovom pracovnom hárku.
Dohliadajte na zásoby v obchode s gitarami.
V stĺpci D sú uvedené úrovne zásob a v stĺpci E sú úrovne preusporiadania. Funguje to takto: Keď je úroveň zásob produktu rovnaká alebo nižšia ako úroveň doobjednania, je čas objednať si viac produktu. Bunky v stĺpci F obsahujú vzorec.
Vzorec Excelu v bunke F8 je =IF(D8<>. Hovorí, že ak je počet gitár Stratoblaster 9000 na sklade rovnaký alebo menší ako úroveň pre objednanie, vráťte objednávku. Ak je počet na sklade väčší ako úroveň pre objednanie , nič nevracia. Nič sa nevracia, pretože tri sú na sklade a úroveň doobjednania je 2. V ďalšom riadku sa počet lietajúcich X rovná úrovni doobjednania, preto sa v bunke F9 zobrazí Objednať.
Používanie funkcie IF v Exceli je jednoduché. Nasleduj tieto kroky:
Zadajte dve hodnoty do pracovného hárka. Tieto hodnoty by pre vás mali mať nejaký význam, ako napríklad príklad úrovní zásob zobrazený vyššie.
Kliknite na bunku, kde sa má zobraziť výsledok.
Napíšte =IF( na spustenie funkcie.
Rozhodnite sa, aký test chcete vykonať. Môžete vidieť, či sú tieto dve hodnoty rovnaké; či je jeden väčší ako druhý; či je odčítanie jedného od druhého väčšie, rovné alebo menšie ako 0; a tak ďalej. Ak chcete napríklad zistiť, či sa prvá hodnota rovná druhej hodnote, kliknite na prvú bunku (alebo zadajte jej adresu), zadajte znamienko rovnosti (=) a potom kliknite na druhú bunku (alebo zadajte jej adresu).
Napíšte čiarku (,).
Zadajte výsledok, ktorý by sa mal objaviť, ak je test pravdivý .
Zadajte napríklad „Hodnoty sú rovnaké“. Text musí byť uzavretý v úvodzovkách.
Napíšte čiarku (,).
Zadajte výsledok, ktorý by sa mal objaviť, ak je test nepravdivý . Zadajte napríklad „Hodnoty sa nezhodujú“ .
Napíšte a) a stlačte Enter.
Funkcia Excel IF dokáže oveľa viac. Vnorené funkcie IF vám poskytujú oveľa väčšiu flexibilitu pri vykonávaní testov na údajoch pracovného hárka. Na to, aby ste sa cez to dostali, je potrebná trocha vytrvalosti. Vnorené znamená, že funkciu IF môžete umiestniť do inej funkcie IF. To znamená, že vnútorný IF je umiestnený tam, kde ide pravdivý alebo nepravdivý argument vo vonkajšom IF (alebo dokonca použite interné IF pre oba argumenty). Prečo by ste to robili?
Tu je príklad: Minulú noc sme sa rozhodovali, kam ísť na večeru. zvažovali sme taliančinu a rozhodli sme sa, že ak pôjdeme na talianske miesto a bude sa tam podávať manicotti, dali by sme si manicotti. Inak sme sa rozhodli jesť pizzu.
Logicky toto rozhodnutie vyzerá takto:
Ak je reštaurácia talianska, potom Ak reštaurácia ponúka manicotti, potom budeme mať manicotti, inak budeme mať pizzu
Vyzerá to ako programovací kód. Príkazy End If boli zámerne vynechané, aby sa predišlo nejasnostiam, pretože funkcia IF nemá žiadnu ekvivalentnú hodnotu. To je všetko! Všimnite si, že vnútorný príkaz IF má výsledok pre pravdivé aj nepravdivé možnosti. Vonkajší IF nie. Tu je štruktúra ako vnorené príkazy Excel IF:
=IF(Reštaurácia=Taliančina, IF(Reštaurácia podáva manicotti, "manicotti", "pizza"), "")
Ak by reštaurácia nebola talianska, nezáležalo by na výbere (ako naznačuje tretí argument, že vonkajší IF je prázdny).
Môžete vložiť až 64 príkazov IF, hoci veci sa pravdepodobne veľmi skomplikujú, keď prekročíte 4 alebo 5.
Môžete použiť vnorený príkaz IF, aby ste zvýšili sofistikovanosť pracovného hárka inventára zhora. Nasledujúci obrázok má ďalší stĺpec: Hot Item. Horúca položka môže mať tri podoby:
- Ak je úroveň zásob polovičná alebo menšia než úroveň preskupenia a dátum posledného predaja je za posledných 30 dní, ide o Hot Item . Ide o to, že za 30 dní alebo menej sa zásoby predali na polovicu alebo menej, ako je úroveň doobjednania. To znamená, že zásoby sa obracajú rýchlym tempom.
- Ak je úroveň inventára polovičná alebo nižšia ako úroveň doobjednania a dátum posledného predaja je za posledných 31 – 60 dní, ide o teplý tovar . Ide o to, že za 31 – 60 dní sa zásoby predali na polovicu alebo menej, ako je úroveň doobjednania. To znamená, že zásoby sa obracajú stredným tempom.
- Ak nie je splnená ani jedna z predchádzajúcich dvoch podmienok, položke sa nepridelí žiadny špeciálny status.
Hľadáte horúce položky inventára.
Existujú horúce položky a teplé položky. Obidve musia spĺňať spoločné kritérium, že inventár je 50 percent alebo menej úrovne preskupenia. Až po splnení tejto prvej podmienky prichádza na rad druhé kritérium – počet dní od poslednej objednávky. Znie mi to ako vnorené IF! Tu je vzorec v bunke G8:
=IF(D8<><><>
Dobre, nadýchni sa.
Vonkajší IF testuje, či sú zásoby v stĺpci D rovné alebo menšie ako polovica (50 percent) úrovne preusporiadania. Časť vzorca, ktorá to robí, je =IF(D8<>. Tento test, samozrejme, dáva pravdivú alebo nepravdivú odpoveď. Ak je nepravdivá, použije sa falošná časť vonkajšieho IF (čo je len prázdny reťazec nachádza sa na konci vzorca: "")).
Nechá sa prebrodiť celá stredná časť. Zostaňte pri tom!
Ak je prvý test pravdivý, použije sa skutočná časť vonkajšieho IF. Náhodou sa stane, že táto pravdivá časť je ďalšou funkciou IF:
IF(NOW()-C8<>
Prvý excelový argument vnútorného IF testuje, či je počet dní od dátumu poslednej objednávky (v stĺpci C) menší alebo rovný 30. Urobíte to tak, že od dnešného dňa odčítate dátum poslednej objednávky, ktorý ste získali z funkcie NOW. .
Ak je test pravdivý a dátum poslednej objednávky je za posledných 30 dní, HOT! sa vráti. Naozaj horúci predajca! Ak je test nesprávny... počkajte, čo je toto? Ďalšia funkcia IF! Áno: IF vo vnútri IF vo vnútri IF. Ak je počet dní od dátumu poslednej objednávky väčší ako 30, nasledujúci vnorený IF otestuje, či je počet dní v rámci posledných 60 dní:
IF(NOW()-C8<
Ak je tento test pravdivý, teplo! sa vráti. Ak je test nepravdivý, nič sa nevráti.
Niekoľko kľúčových bodov o tomto trojúrovňovom vyhlásení IF:
- IF, ktoré testuje, či je počet uplynutých dní 30 alebo menej, má hodnotu, ktorá sa má vrátiť, ak je pravda (HOTVÁ!) a hodnotu, ktorá sa má vrátiť, ak je nepravda (čokoľvek, čo vráti nasledujúci vnorený IF).
- Vonkajšie IF a najvnútornejšie IF nevracajú nič, keď je ich test nepravdivý.
- Na prvý pohľad , test na 60 alebo menej dní by tiež zachytil dátum, ktorý je 30 dní alebo menej od dátumu poslednej objednávky. V skutočnosti to tak nie je. Test by mal znieť, či je počet uplynutých dní 60 alebo menej, ale viac ako 30. V skutočnosti to nemusíte takto rozpisovať, pretože vzorec sa dostal do bodu testovania na 60-dňovú hranicu len preto, že 30 -prah dňa už zlyhal. Na tieto veci si treba dávať pozor!