Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Praktické použití funkce KDYŽ / IF, příklady, návody, soubory ke stažení s praktickými ukázkami pro Microsoft Excel. Vše co chcete o KDYŽ vědět a bojíte se zeptat.
29.1.2016: Využití KDYŽ v maticích a KDYŽ a kontrola textů.
Na praktických příkladech ukázat použití jedné z nejdůležitějších a nejpoužívanějších funkcí KDYŽ / IF v MS Excelu.
Veškeré prezentované příklady jsou ke stažení zdarma.
Vrátí zadanou hodnotu, pokud je zadaná podmínka vyhodnocena jako PRAVDA, a jinou hodnotu, pokud je zadaná podmínka vyhodnocena jako NEPRAVDA.
=KDYŽ(Podmínka; Ano; Ne)
=IF(Podmínka; Ano; Ne)
Poznámka: funguje i v google dokumentech.
Poznámka: Při použití ve VBA nebo při hledání v anglických textech je tato funkce pod názvem IF - tj. pokud budete hledat u strejdy googla ;-) Navíc v anglické verzi Excelu je oddělovačem čárka ne středník jako v české.
Funkci lze vnořovat, pokud bude více vnoření než 8 (ač ji max jde použít 64), zamyslel bych se nad správností funkce, zda opravdu je potřeba tolika vnoření, nebo jde jen o špatnou úvahu, nebo nebude lepší použít funkci SHYHLEDAT, POZVYHLEDAT.
IF(Podmínka, Ano, Ne)
Další logické funkce jsem sepsal v článku: Logické funkce - MS Excel - přehled funkcí.
Teorií máte za sebou a jdeme na praktické příklady.
Zpět na seznam kapitol o funkci KDYŽ
V gif ukázka jak funguje, mění je jednotlivé podmínky a tím pádem i daný vzorec.
Začneme jednoduchým úkolem. Pokud hodnota v požadované buňce A9 je jedna 1 (zadána číslem) potřebujete vypsat: jednička.
Řešení:
=KDYŽ(A9=1;"jednička";"jiné číslo")
Je funkce pochopitelná tak pokračujme.
Zpět na seznam kapitol o funkci KDYŽ
Pokračujeme jednoduchým úkolem. Kontrolujeme zadané číslo, které nesmí být jedna. Pokud hodnota v požadované buňce A21 je jedna 1 (zadána číslem) potřebujete vypsat: Přepiš na jiné číslo!. Pokud je různá od jedné vypíšete Správně
Řešení:
=KDYŽ(A21<>1;"Správně";"Přepiš na jiné číslo!")
Logiku můžete obrátit a i toto je správné řešení:
=KDYŽ(A21=1;"Přepiš na jiné číslo!";"Správně.")
Obě řešení jsou správná. Zaleží na Vás co se Vám více libí a jak plánujete funkci KDYŽ rozšiřovat (jelikož podmínek může být více). Význam toho pochopíte dále na dalších příkladech.
Zpět na seznam kapitol o funkci KDYŽ
Rozdíl mezi použitím textových a číselných hodnot ve funkci KDYŽ.
Při kontrole textových hodnot je potřeba zadávat kontrolovanou hodnotu do uvozovek.
=KDYŽ(A1="B";PRAVDA;NEPRAVDA)
=KDYŽ(A1="B";"ANO";"NE")
Chybné zadání =KDYŽ(E4=B;PRAVDA;NEPRAVDA) skončí informaci o chybě #NÁZEV?.
Číselné hodnoty se zadávají bez uvozovek
=KDYŽ(B1=1;PRAVDA;NEPRAVDA)
Chybné zadání =KDYŽ(B26="1";PRAVDA;NEPRAVDA), pokud je v buňce číslo 1, výsledkem bude NEPRAVDA (ač v buňce je číslo 1)! Dokonce i když bude formát buňky nastavený jako text!
Správně bude vyhodnoceno, jen pokud bude zadáno čísl s apostrofem ', tj. '1.
Do jedné buňky A26 se má zadat jednička 1 a do buňky A27 zadejte slovo test. Pokud je zadána jen jednička obdržíte info Zadána jen jednička., pokud jen slovo test zadáno jen slovo test, pokud jednička i slovo test Zadána jednička a slovo test. pokud nic Nezadáno nic co je požadováno..
Řešení:
=KDYŽ(A26=1;KDYŽ(A27="test";"Zadána jednička a slovo test.";"Zadána jen jednička.");KDYŽ(A27="test";"zadáno jen
slovo test";"Nezadáno nic co je požadováno."))
Řešení další - lze využít i dalších logických funkcí jako A a NEBO což ukáži na dalších příkladech.
Poznámka: Funkce můžete vnořovat více. Od MS Excel 2007 (do verze 2003 je vnoření pouze 7) vnoření může být až 64! Nejvíce jsem použil 10 vnoření, ale třeba někdy v budoucnu...
Potřebujete k číslenému rozmezí, které bude zadáno v buňce A34 přiřadit písmeno (například školní výsledky testů). Požadované přiřazení je:
Řešení:
=KDYŽ(A34>89;"A";KDYŽ(A34>79;"B";KDYŽ(A34>69;"C";KDYŽ(A34>59;"D";"E"))))
Řešení 2
Pokud buňku do které zadáváte hodnotu pojmenujete průměr
=KDYŽ(průměr>89;"A";KDYŽ(průměr>79;"B";KDYŽ(průměr>69;"C";KDYŽ(průměr>59;"D";"E"))))
Poznámka: Tento úkol je možné řešit i využitím jiné funkce, například pomocí SVYHLEDAT.
Ve VBA (Visula Basic pro EXcel) je k dispozici syntaxe CASE SELECT. Podrobněji jsem sepsal samsotatný článek Select Case - Excel VBA, kde jsou k dispozici nejen teoretické informace, ale i praktické příklady ke stažení zdarma.
Další možnost řešení je využít funkci SVYLHEDAT. Jak řešit pomocí funkce SVYHLEDAT jsem popsal v samostatném článku Jak na funkci SVYHLEDAT prakticky
Při kopírování funkcí v tabulkách. Lze využít absolutních a relativních odkazů. Článek o Relativních a absolutních odkazech .
Zpět na seznam kapitol o funkci KDYŽ
Úkol: Zkontrolujte hodnoty v buňkách A72, A73, A74 obsahují hodnoty 1, 2, 3, pokud souhlasí informujte vše OK pokud je min jedna není informujte něco nesplněno pokud nesouhlasí ani jedna Vše nesprávně.
Možné řešení:
=KDYŽ(A(A72=1;A73=2;A74=3);"Vše OK";KDYŽ(NEBO(A72=1;A73=2;A74=3);"Něco nesplněno.";"Vše nesprávně."))
Poznámka: Další použité funkce A a NEBO. Popis těchto funkcí v článku: Logické funkce - MS Excel - přehled funkcí.
Zpět na seznam kapitol o funkci KDYŽ
Manželka chce po svém muži (programátor) ať zajde nakoupit:
Úkol: Zkontrolujte hodnotu v buňce A64 a pokud je menší než 100 informujte menší než 100, pokud je menší než 10 tak informujte menší než 10.
Špatné řešení:
=KDYŽ(A64<100;"menší než 100";KDYŽ(A64<10;"menší než 10";"100 a větší"))
Správné řešení:
=KDYŽ(A64<10;"menší než 10";KDYŽ(A64<100;"menší než 100";"100 a větší"))
Poznámka: pro složitější úlohy doporučuji vyzkoušet všechny varianty, zda Vámi vymyšlená logika funguje správně.
=111,13-111,12 není 0,01 ač to tak na první pohled vypadá ...
Excel pracuje s 15-ti místnou přesnosti a ve dvojkové soustavě. Čímž se může stát, že i vcelku jednoduchý výpočet nebude přesný. Při pokusu o výpočet rozdílů čísel =111,13-111,12 Excel zobrazí správný výsledek 0,01 ve skutečnsoti, ale jde o výsledek 0,0099999999999999091. Což není 0,01!
Funkci když můžete svých spůsobem použít k ošetření chyb.
Potřebujete-li, aby byl v buňce správný výpočet, ale v případě chyby v buňce bude 0.
=KDYŽ(JE.CHYBA(A1);"Je chyba";"Není chyba")
Takže zápis je:
=KDYŽ(JE.CHYBA(A1);0;A1)
Podobně můžete kontrolovat zda je v buňce text:
=KDYŽ(JE.TEXT(A1);"Je Text";"Není text")
K dispozici máte tyto informační funkce:
Více o funkcích informace v samostatném článku: Jak na funkce informace v Microsoft Excelu.
V komentářích se objevil dotaz na funkce s časem, proto byla doplněna i tato kapitola
Úkol: běh 1000m za čas od 5:15 do 4:50 jsou 4 body, za čas 4:50 do 4:30 je 6 bodů za čas od 4:30 do 4:10 je 8 bodů...
JElikož nebylo zdřejme, kolik bodu dostane čas v mezních bodech 4:50 a 4:30 zvolil jsem si určení sám. Tj. 4:50 dostane 8 a 4:49999 již 6, atd.
=KDYŽ(C12>=$C$5;4;KDYŽ(C12>=$C$6;6;8))
nebo lze využít funkce ČASHODN, jak zodpověděl již Jojo v koemntářích.
=KDYŽ(C12>=ČASHODN("4:50");8;KDYŽ(C12>=ČASHODN("4:30");6;4))
Soubor s ukázkami KDYŽ s časem
ke stažení zdarma.
Zpět na seznam kapitol o funkci KDYŽ
Podobně jako s časem lze pracovat i s datumem. Například máme zjistit zda byla faktura zaplacena včas, nebo pozdě a podle toho doplnit. Sleva (pokud zákazník paltí včas), nebo pokuta (pokud neplatí včas).
=KDYŽ(B9>=C9;"sleva";"pokuta")
Soubor s ukázkami KDYŽ s časem
ke stažení zdarma.
Zpět na seznam kapitol o funkci KDYŽ
Podle právního řádu České republiky existuje několik věkových hranic, po jejichž dovršení občan získává způsobilost k některým právním úkonům. Síť. 15 let – způsobilost k trestní odpovědnosti 18 let – volební právo 21 let – právo být volen poslancem PS ČR 40 let – právo být volen senátorem nebo prezidentem Určete dle vašeho data narození (použijte pro hodnocení pouze rok), zda jste výše uvedenou způsobilost již získali či v tomto roce získáte.
Využijeme funkce KDYŽ a CONCATENATE.
Soubor
Kombinace funkcí Microsoft Excel
ke stažení zdarma.
Zpět na seznam kapitol o funkci KDYŽ
Jak zkombinovat funkce MIN (MAX, ...) a KDYŽ. Aneb jak najít mininální hodnotu v tabulce pro řádky které vyhovují zadané podmínce.
=MIN(KDYŽ(B5:B14=C18;C5:C14))
Funkce se zadává jako maticová. Podrobněji v článku Jak na matice v Excelu - úvod.
Na podobném principu lze použít i funkce:
Soubor
Kombinace funkcí MIN a KDYŽ v Excel
ke stažení zdarma.
Poznámka: Doplněno na základě dotazů v komentáři.
Pokud používate formátování datumu, bude mít sešit problémy pokud jej otevřete v anlickém Excelu. Microsoft rád trápí uživatele a v české verzi Excelu se používá pro označení roku písmeno r v anglické y. Proto lze využít funkci KDYŽ a HODNOTA.NA.TEXT.
=KDYŽ(HODNOTA.NA.TEXT(B8;"rr")="rr";HODNOTA.NA.TEXT(B8;"yyyy");HODNOTA.NA.TEXT(B8;"rrrr"))
Předpokládám že v B8 je formát rr a ve vámi určené buňce potřebujete rrrr.
Například v roční multijazykovém kalendáři, nebo v dashboardech, které musi reflektovat různé jazykové verze.
Praktické využití funkce NEDEF() (v angličtině NA() ) například v grafech, kdy je potřeba jistá data nezobrazit, případně zvýraznit. Místo hodnoty se v buňce zobrazí chybová hodnota #NENÍ_K_DISPOZICI, které se v grafech nezobrazuje.
=KDYŽ($A$1=NEPRAVDA;NEDEF();PRAVDA)
Jak prakticky využít fukci NEDEF jsem popsal v samostatném článku: Zobrazovat/skrývat/ zvýrazňovat datové řady (křivky) v grafech.
Perfektní využití má funkce KDYŽ je i v maticovém počtu, jako podmínka.
Využít KDYŽ v maticích je možno několika způsoby, některé jsou vhodnější některé méně (napřílad u výpočtu PRŮMĚRU). Pokud se budete chtít dozvědět o maticích více doporučuji sekci s články o maticích (od zadání po praktické použití ve výpočtech).
=SUMA(KDYŽ(C5:C8="M";1;0)*(F5:F8))
=SUMA(KDYŽ(C5:C8="M";(F5:F8);0))
=SUMA(KDYŽ(C5:C8="M";(F5:F8)))
Jak prakticky využít fukci KDYŽ v maticích jsem popsal v článku: Matice a výpočty včetně podmínek.
Obsahuje buňka hledaný text?
=KDYŽ(COUNTIF(B5;"koruna*");"obsahuje";"neobsahuje")
=KDYŽ(COUNTIF(B5;"*koruna*");"obsahuje";"neobsahuje")
=KDYŽ(COUNTIF(B5;"*koruna");"obsahuje";"neobsahuje")
Jak prakticky využít fukce COUNTIF(S) v článku: COUNTIFS, nebo COUNTIF.
Soubor s ukázkami funkce KDYŽ ke stažení ZDARMA:
Článek byl aktualizován: 04.05.2025 07:31
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.
|
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
|
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |