Co je dobré vědět
- Funkce IF se používá k provedení logického testu, tj. zda je něco pravdivé nebo ne.
- Syntaxe a argumenty funkce IF jsou =IF(logický_test, hodnota_pokud_pravda, [hodnota_pokud_nepravda]).
- Například =IF(A2>A3, "Větší", "Menší").
Tento článek vysvětluje, jak používat funkci IF k provedení logického testu všech verzí Excelu, včetně Excelu 2019 a Microsoft 365. Je uvedeno několik příkladů.
Co je funkce IF?
Funkce IF v Excelu se používá k provedení logického testu. Vzorec používající tuto funkci se také nazývá příkaz IF nebo příkaz if/then.
Všechny vzorce, které používají tuto funkci, mohou mít jeden ze dvou výsledků. Způsob, jakým to funguje, jak uvidíme v příkladech níže, je takový, že vzorec je nastaven tak, aby otestoval, zda je něco pravdivé. Pokud je to pravda, stane se jedna věc, ale pokud je to nepravda, stane se něco jiného.
Funkce IF je jednou z několika logických funkcí, které můžete použít v Excelu. Mezi další patří AND, IFERROR, IFS, NOT a OR.
Syntaxe a argumenty funkce IF
Každý vzorec, který používá funkci KDYŽ, má několik částí:
=IF(logical_test, value_if_true, [value_if_false])
- logical_test: Stav, který testujete. Je to povinné.
- value_if_true: Co by se mělo stát, pokud je logical_test pravdivý. Je to povinné.
- value_if_false: Co by se mělo stát, pokud má logical_test hodnotu false. Je to volitelné.
Psaní příkazu IF v Excelu je snadné, pokud jej čtete trochu jinak: pokud je první část pravdivá, udělejte toto. Pokud je první část nepravdivá, udělejte místo toho tuto jinou věc.
Mějte na paměti tato pravidla:
- Excel vrátí FALSE, pokud je logical_test nepravda a value_if_false je vynechána.
- Chcete-li vrátit text jako value_if_true nebo value_if_false, musí být uzavřen v uvozovkách, s výjimkou slov TRUE a FALSE.
- Funkce KDYŽ nerozlišuje velká a malá písmena.
- Excel 2010 a novější umožňují existenci až 64 příkazů IF v rámci stejného vzorce. Starší verze Excelu jsou omezeny na sedm.
Příklady funkcí IF
Zde jsou některé z různých způsobů, jak můžete použít vzorce KDYŽ v Excelu:
Napište text, pokud je prohlášení pravdivé
=IF(A2>A3, "Větší", "Menší")
Toto je opravdu základní příklad příkazu IF v Excelu. Test má zjistit, zda je A2 větší než A3. Pokud ano, napište Větší, jinak napište Menší.
Počtěte, pokud je tvrzení pravdivé
=IF(A2>A3, A2-A3)
Tento příkaz IF je napsán trochu jinak. Místo toho, aby výsledkem value_if_true bylo slovo, odečítá se jedna hodnota od druhé. Pokud je tedy A2 ve skutečnosti větší než A3, výsledkem bude rozdíl. Pokud to není pravda, protože jsme vynechali část value_if_false, Excel vrátí FALSE.
Otestujte výrok s matematikou
=IF(A2/A3=5, A2/A3, "")
Další způsob, jak napsat příkaz IF, je provést výpočet v sekci logical_test. Podmínka IF je zde A2/A3=5. Pokud je to pravda, provedeme výpočet A2/A3. Pokud se nerovná 5, chceme, aby výsledek nebyl nic, proto použijeme dvojité uvozovky.
Otestujte, zda je datum dnes
=IF(A2=TODAY(), "Toto je dnes", "")
V rámci příkazu IF lze použít další funkce aplikace Excel. V tomto příkladu používáme funkci DNES ke kontrole, zda je A2 dnešní datum. Pokud je, vzorec píše This is today, jinak se nepíše nic.
Používání vzorce AND with IF
=IF(E2<=DNES(), "Nyní", "Brzy")
=IF(AND(F2="Nyní", D2>=(B2-C2)), "Ano", "Ne")
Tento příklad funkce IF je trochu složitější. Cílem je zjistit, zda položka, za kterou dlužíme peníze, je po splatnosti, a pokud ano, vidíme, zda je tato částka v našem rozpočtu či nikoli, abychom ji mohli splatit. Pokud jsou obě tato tvrzení pravdivá, můžeme ve sloupci G vidět, zda je čas zaplatit.
IF(E2<=DNES(), "Nyní", "Brzy") je ve sloupci Naléhavost. Porovnáním data splatnosti s dnešním datem nám řekne, zda je položka po splatnosti nebo zda je splatná dnes. Pokud je datum splatnosti dnes nebo v minulosti, je ve sloupci F zapsáno Now, jinak zapíšeme Brzy.
Druhý příkaz IF je stále strukturován jako příkaz IF, i když se v něm používá AND. Tučná část je tam, kde sedí funkce AND, a protože je v rámci první sady čárek, používáme ji jako logický_test:
=IF(AND(F2="Nyní", D2>=(B2-C2)), "Ano", "Ne")
Zde je to napsáno jinak, aby bylo vidět, že je to stejné jako u jiných příkazů IF:
=IF(otestujte tuto funkci A, napište Ano, pokud je to pravda, nebo napište Nepokud je to nepravda)
Ve funkci AND jsou dva příkazy IF:
- F2="Now" je součástí vzorců ve sloupci G. Kontroluje, zda je Now v F2.
- D2>=(B2-C2) má dvě části: nejprve provede výpočet B2-C2, abychom viděli, kolik nám zbývá zaplatit za položku, a poté zkontroluje dostupný rozpočet v D2, aby zjistil, zda máme peníze na jeho splacení.
Pokud tedy nyní dlužíme peníze a máme prostředky na jejich splacení, bylo nám řečeno, že Ano, je čas položku splatit.
Příklady vnořených příkazů IF
Vnořené příkazy IF se nazývají, když je ve vzorci zahrnut více než jeden příkaz IF. Nastavení je téměř totožné, ale místo uzavření závorky na konci první sady vložíme čárku a napíšeme další příkaz.
Dva výroky IF v jednom vzorci
=IF(B2="F", "Třída A", IF(B2="M", "Třída B"))
Tento první příklad se používá ke kategorizaci studentů podle jejich pohlaví, kde jsou ženy zařazeny do třídy A a muži do třídy B. Vzorec zkontroluje F a M v B2 a poté zapíše buď třídu A nebo třídu B v závislosti na výroku to je pravda.
Počet závorek, které potřebujete na konci vzorce s vnořenými funkcemi KDYŽ, je stejný, kolikrát je zapsáno KDYŽ. V našem příkladu je IF zapsáno dvakrát, takže potřebujeme dvě závorky na konci.
Tři příkazy IF v jednom vzorci
=IF(A2=DNES(), "Toto je dnes", IF(A2TODAY(), "Budoucí datum")))
Zde je příklad vzorce s více příkazy IF. Je to totožné s příkladem DNES výše, ale s ještě jedním logickým testem:
- První sada zkontroluje, zda je A2 dnešní datum a vrátí Toto je dnes, pokud ano.
- Druhý testuje, zda je dnešek větší než A2, aby určil, zda je A2 starší datum, a pokud je, vrátí Staré datum.
- Nakonec se testuje, zda je dnešní datum menší než datum v A2 a vzorec vrací Budoucí datum, pokud ano.
Kopírovat cenu, pokud jsou výpisy nepravdivé
=IF(C2="Účet", "", IF(C2="Jídlo", "", B2))
V tomto posledním příkladu vnořeného vzorce IF potřebujeme rychle identifikovat celkovou částku všech nákupů, které nespadají do určité kategorie. Sčítáme všechny naše zbytečné nákupy a s dlouhým seznamem je to nejlepší způsob, jak to udělat. Zjistili jsme, že jakýkoli popis položky, který říká Bill nebo Food, je důležitý, takže cena v B2 musí být uvedena u všech ostatních položek.
Toto se děje:
- C2="Bill", "": Pokud C2 říká Bill, ponechte pole prázdné.
- C2="Jídlo", "": Pokud C2 říká Jídlo, ponechte pole prázdné.
- B2: Pokud je některé z těchto tvrzení nepravdivé, napište, co je v B2.
Tento vzorec nám zanechá seznam cen, které pak můžeme sečíst pomocí funkce SUM, abychom mohli rychle posoudit, kolik peněz bylo utraceno za položky, které jsme nepotřebovali.
Snazší způsob psaní vnořených prohlášení IF
Jak do vzorce zabudováváte více a více, může se rychle stát neovladatelným a později obtížně upravitelným. Jedním ze způsobů, jak usnadnit práci s vnořenými příkazy IF, je vložit za každý příkaz zalomení řádku, jako je tento:
=
IF(A2=TODAY(), "Toto je dnes",
IF(A2<TODAY(), "Staré datum",
IF(A2IF(A2>TODAY(), "Budoucí datum")))
Aby to bylo možné v Excelu, musíme upravit z řádku vzorců:
- Vyberte řádek vzorců v horní části Excelu.
- Umístěte myš pod textový prostor, dokud se kurzor nezmění na oboustrannou šipku, a poté klikněte na pole a přetáhněte jej dolů, abyste získali více pracovního prostoru.
- Umístěte kurzor za rovnítko a stiskněte Alt+Enter (Windows) nebo Ctrl+Option+Enter (Mac). Tím se zbytek vzorce umístí na nový řádek.
-
Opakujte krok 3 před každým příkazem IF, aby se každá instance umístila na svůj vlastní řádek.