Funkce IF aplikace Excel je jako švýcarský armádní nůž funkcí aplikace Excel. Opravdu se používá v mnoha situacích. Často můžete použít funkci IF aplikace Excel s jinými funkcemi. IF je strukturálně snadno pochopitelné. Funkce Excel IF má tři argumenty:
- Test, který dává pravdivou nebo nepravdivou odpověď. Například test „je hodnota v buňce A5 rovna hodnotě v buňce A8“ může mít pouze jednu ze dvou možných odpovědí, ano nebo ne. V počítačové řeči je to pravda nebo lež. To není výpočet, pozor, ale srovnání.
- Data, která má funkce IF vrátit, pokud je test pravdivý.
- Data, která má funkce IF vrátit, pokud je test nepravdivý.
Zní to jednoduše. Zde jsou nějaké příklady:
Funkce |
Komentář |
=IF(D10>D20; D10; D20) |
Pokud je hodnota v D10 větší než hodnota v D20, vrátí se hodnota v D10, protože test je pravdivý. Pokud hodnota v D10 není větší než — tj. menší nebo rovna — hodnotě v D20, vrátí se hodnota v D20. Pokud jsou hodnoty v D10 a D20 stejné, test vrátí hodnotu false a vrátí hodnotu v D20. |
=IF(D10>D20, "Dobré zprávy!", "Špatné zprávy!") |
Pokud je hodnota v D10 větší než hodnota v D20, zobrazí se text „Dobré zprávy!“ je vráceno. V opačném případě "Špatné zprávy!" je vráceno. |
=IF(D10>D20, "", "Špatné zprávy!") |
Pokud je hodnota v D10 větší než hodnota v D20, nic se nevrací. V opačném případě "Špatné zprávy!" je vráceno. Všimněte si, že druhý argument je dvojice prázdných uvozovek. |
=IF(D10>D20, "Dobré zprávy!", "") |
Pokud je hodnota v D10 větší než hodnota v D20, „Dobré zprávy!“ je vráceno. Jinak se nic nevrací. Všimněte si, že třetí argument jsou prázdné uvozovky. |
Důležitý aspekt, který je třeba poznamenat o použití IF: nechat druhý nebo třetí argument nevracet nic. Vrátí se prázdný řetězec a nejlepší způsob, jak toho dosáhnout, je umístit dvě dvojité uvozovky a nic uprostřed. Výsledkem je, že buňka obsahující funkci KDYŽ zůstane prázdná.
IF tedy umožňuje nastavit dva výsledky, které se mají vrátit: jeden pro případ, že je test pravdivý, a druhý pro případ, kdy je test nepravdivý. Každý výsledek může být číslo, nějaký text, funkce nebo vzorec nebo dokonce prázdné místo.
Jak vidíte v předchozím příkladu, běžným použitím IF je vidět, jak se dvě hodnoty porovnávají a vracejí buď jednu, nebo druhou hodnotu, v závislosti na tom, jak nastavíte test v prvním argumentu.
IF se často používá jako kontrola ověření, aby se předešlo chybám . Předpokládejme, že máte finanční list, který ve svých výpočtech používá proměnnou procentuální hodnotu. Uživatel musí toto procento zadávat každý den, ale nikdy nesmí být větší než 10 procent. Abyste zabránili možnosti chyb, můžete použít funkci KDYŽ k zobrazení chybové zprávy v sousední buňce, pokud omylem zadáte hodnotu mimo povolený rozsah. Za předpokladu, že procento je zadáno do buňky A3, zde je požadovaná funkce KDYŽ:
=IF(A3>.1, "CHYBA: % v A3 JE PŘÍLIŠ VELKÉ", "")
Následující obrázek ukazuje, jak lze IF dobře využít v podnikové aplikaci. Fiktivní obchod – Ken's Guitars (trochu elegantní, nemyslíte?) – udržuje přehled o inventáři v excelovém listu.
Hlídejte si zásoby v obchodě s kytarami.
Sloupec D ukazuje úrovně zásob a sloupec E ukazuje úrovně přeskupení. Funguje to takto: Když je úroveň zásob produktu stejná nebo nižší než úroveň objednání, je čas objednat další produkt. Buňky ve sloupci F obsahují vzorec.
Vzorec Excelu v buňce F8 je =IF(D8<>. Říká, že pokud je počet kytar Stratoblaster 9000 na skladě stejný nebo nižší než úroveň pro objednání, vraťte objednávku. Pokud je počet na skladě větší než úroveň pro objednání , nic nevrací. Nic se nevrací, protože tři jsou na skladě a úroveň doobjednání je 2. V dalším řádku se počet Flying X rovná úrovni doobjednávání, proto se v buňce F9 zobrazí Objednávka.
Použití funkce IF aplikace Excel je snadné. Následuj tyto kroky:
Zadejte dvě hodnoty do listu. Tyto hodnoty by pro vás měly mít nějaký význam, jako například výše uvedený příklad úrovní zásob.
Klepněte na buňku, kde chcete zobrazit výsledek.
Zadejte =IF( pro spuštění funkce.
Rozhodněte se, jaký test chcete provést. Můžete vidět, zda jsou tyto dvě hodnoty stejné; zda je jeden větší než druhý; zda odečítání jednoho od druhého je větší než, rovno nebo menší než 0; a tak dále. Chcete-li například zjistit, zda se první hodnota rovná druhé hodnotě, klikněte na první buňku (nebo zadejte její adresu), zadejte rovnítko (=) a poté klikněte na druhou buňku (nebo zadejte její adresu).
Zadejte čárku (,).
Zadejte výsledek, který by se měl objevit, pokud je test pravdivý .
Zadejte například „Hodnoty se rovnají“. Text musí být uzavřen v uvozovkách.
Zadejte čárku (,).
Zadejte výsledek, který by se měl objevit, pokud je test nepravdivý . Zadejte například „Hodnoty se nerovnají“ .
Napište a) a stiskněte Enter.
Funkce Excel IF umí mnohem více. Vnořené funkce IF vám poskytují mnohem větší flexibilitu při provádění testů na datech listu. K tomu, abyste se přes to dostali, je potřeba trocha vytrvalosti. Vnořený znamená, že můžete umístit funkci KDYŽ do jiné funkce KDYŽ. To znamená, že vnitřní IF je umístěn tam, kde jde pravdivý nebo nepravdivý argument ve vnějším IF (nebo dokonce použijte interní IF pro oba argumenty). proč bys to dělal?
Zde je příklad: Minulou noc jsme se rozhodovali, kam jít na večeři. zvažovali jsme italštinu a rozhodli jsme se, že kdybychom šli do italského podniku a podávali manicotti, měli bychom manicotti. Jinak jsme se rozhodli jíst pizzu.
Logicky toto rozhodnutí vypadá takto:
Pokud je restaurace italská, pak Pokud restaurace podává manicotti, pak budeme mít manicotti, jinak budeme mít pizzu
Vypadá to hodně jako programovací kód. Příkazy End If byly záměrně vynechány, aby nedošlo k záměně, protože funkce IF nemá žádnou ekvivalentní hodnotu. A je to! Všimněte si, že vnitřní příkaz IF má výsledek pro pravdivou i nepravdivou možnost. Vnější IF ne. Zde je struktura jako vnořené příkazy Excel IF:
=IF(Restaurace=italština, IF(Restaurace podává manicotti, "manicotti", "pizza"), "")
Pokud by restaurace nebyla italská, nezáleželo by na výběru (jak naznačuje třetí argument, že vnější IF je prázdný).
Můžete vnořit až 64 příkazů IF, ačkoli věci se pravděpodobně velmi zkomplikují, jakmile překročíte 4 nebo 5.
Můžete použít vnořený příkaz IF a zvýšit tak sofistikovanost listu inventáře shora. Následující obrázek má další sloupec: Hot Item. Hot Item může mít tři podoby:
- Pokud je stav zásob poloviční nebo méně než úroveň přeskupení a datum posledního prodeje spadá do posledních 30 dnů, jedná se o žhavou položku . Názor je takový, že za 30 dní nebo méně se zásoby prodaly na polovinu nebo méně, než je úroveň přeskupení. To znamená, že zásoby se rychle obrátí.
- Pokud je úroveň zásob poloviční nebo méně než úroveň doobjednání a datum posledního prodeje spadá do posledních 31–60 dnů, jedná se o teplý předmět . Názor je takový, že za 31–60 dní se zásoby prodaly na polovinu nebo méně, než je úroveň doobjednání. To znamená, že zásoby se obrátí středním tempem.
- Pokud není splněna ani jedna z předchozích dvou podmínek, položce není přidělen žádný zvláštní status.
Hledáte horké položky inventáře.
Existují horké předměty a teplé předměty. Oba musí splňovat společné kritérium, že zásoby jsou 50 procent nebo méně z úrovně přeskupení. Teprve po splnění této první podmínky přichází na řadu druhé kritérium – počet dní od poslední objednávky. Zní mi to jako vnořené IF! Zde je vzorec v buňce G8:
=IF(D8<><><>
Dobře, nadechni se.
Vnější IF testuje, zda je inventář ve sloupci D roven nebo menší než polovina (50 procent) úrovně přeskupení. Část vzorce, která to dělá, je =IF(D8<>. Tento test samozřejmě dává pravdivou nebo nepravdivou odpověď. Pokud je nepravdivá, vezme se nepravdivá část vnějšího IF (což je jen prázdný řetězec najdete na konci vzorce: "")).
To zbývá probrodit celou střední část. Zůstaňte u toho!
Pokud je první test pravdivý, bere se skutečná část vnějšího IF. Náhodou se stane, že tato pravdivá část je další funkcí KDYŽ:
IF(NOW()-C8<><>
První excelový argument vnitřního IF testuje, zda je počet dní od data poslední objednávky (ve sloupci C) menší nebo roven 30. To provedete odečtením data poslední objednávky od dnešního dne, jak je získáno z funkce NOW .
Pokud je test pravdivý a datum poslední objednávky je za posledních 30 dní, HOT! je vráceno. Opravdu horký prodejce! Pokud je test nepravdivý… počkejte, co to je? Další funkce IF! Ano: IF uvnitř IF uvnitř IF. Pokud je počet dní od data poslední objednávky větší než 30, další vnořený IF otestuje, zda počet dní spadá do posledních 60 dnů:
IF(NOW()-C8<>
Pokud je tento test pravdivý, Warm! je vráceno. Pokud je test nepravdivý, nic se nevrací.
Několik klíčových bodů o tomto trojúrovňovém příkazu IF:
- KDYŽ testuje, zda je počet uplynulých dnů 30 nebo méně, má hodnotu, která se má vrátit, pokud je pravda (HOT!) a hodnotu, která se má vrátit, pokud je nepravda (cokoli vrátí další vnořený IF).
- Vnější IF a nejvnitřnější IF nevrací nic, když je jejich test nepravdivý.
- Na první pohled, test na 60 nebo méně dní by také zachytil datum, které je 30 dní nebo méně od data poslední objednávky. To ve skutečnosti není to, co má být. Test by měl znít, zda je počet uplynulých dnů 60 nebo méně, ale více než 30. Nemusíte to ve skutečnosti takto hláskovat, protože vzorec se dostal do bodu testování na hranici 60 dnů jen proto, že 30 -denní prahová hodnota již selhala. Na tyhle věci si musíte dát pozor!