Přeskočit navigaci | Přeskočit na novinky

Jste zde: Úvodní stránka » excel » funkce-logicke » kdyz-funkce-logicka-excel

KDYŽ / IF - funkce logická - Excel

Videokurzy Excel

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ů.

Cílem článku o funkci KDYŽ

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.

V tomto článku se naučíte:

KDYŽ - IF ... syntaxe

Vrátí zadanou hodnotu, pokud je zadaná podmínka vyhodnocena jako PRAVDA, a jinou hodnotu, pokud je zadaná podmínka vyhodnocena jako NEPRAVDA.

Syntaxe v češtině

=KDYŽ(Podmínka; Ano; Ne)

Syntaxe v angličtině

=IF(Podmínka; Ano; Ne)

Poznámka: funguje i v google dokumentech.

Popis argumentu

  • Podmínka - libovolná hodnota (výraz), který může nabývat hodnotu PRAVDA nebo NEPRAVDA
  • Ano - je vrácená zadaná hodnota, je-li hodnota argumentu podmínka PRAVDA.
  • Ne - je vrácená hodnota, je-li hodnota argumentu podmínka NEPRAVDA.

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)

Parametr - Podmínka - může být:

  • = je rovno
  • <> není rovno
  • > je větší než
  • < je menší než
  • >= je větší nebo rovno
  • <= je menší nebo rovno

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Ž

Ukázka jak funkce KDYŽ funguje

V gif ukázka jak funguje, mění je jednotlivé podmínky a tím pádem i daný vzorec.

KDYŽ - Microsoft Excel - logická funkce ukázka práce

KDYŽ jednoduchý příklad (jedna podmínka).

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Ž

KDYŽ - obrácena logika - jedna podmínka

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Ž

Číselné a textové hodnoty

Rozdíl mezi použitím textových a číselných hodnot ve funkci KDYŽ.

Textové

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é

Čí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.

KDYŽ - použití dvou podmínek - jak vnořovat funkce

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...

KDYŽ - ještě více podmínek

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:

  • A větší než 89
  • B 80 - 89
  • C 70 - 79
  • D 60 - 69
  • E menší než 60

Ř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.

Další možnost (1) - SELECT CASE

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 (2) - SVYHLEDAT

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

Absolutní relativní odkazy ve funkci KDYŽ

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 .

MS Excel 2010 - KDYŽ

Zpět na seznam kapitol o funkci KDYŽ

Kombinace KDYŽ s jinými funkcemi

Ú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Ž

Chyby ve funkci KDYŽ

Manželka chce po svém muži (programátor) ať zajde nakoupit:

  • Ona: Kup dva rohlíky a když budou mít vajíčka vezmi jich deset.
  • On v obchodě: Máte vajíčka?
  • Prodavačka: Ano.
  • On v obchodě: Tak mi dejte deset rohlíků.

Chyby v logice KDYŽ

Ú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ě.

Chyby v zaokrouhlování u funkce KDYŽ

=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!

Ošetřování chyb v buňkách

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:

  • ISEVEN - ISEVEN - PRAVDA pro sudé číslo.
  • ISODD - ISODD - PRAVDA pro liché číslo
  • JE.ČÍSLO - ISNUMBER - Jde o číslo?
  • JE.CHYBA - ISERR - Jde o chybu?
  • JE.CHYBHODN - ISERROR - Jde o chybovou hodnotu?
  • JE.LOGHODN - ISLOGICAL - Jde o logickou hodnotu?
  • JE.NEDEF - ISNA -
  • JE.NETEXT - ISNONTEXT - Jde o netext?
  • JE.ODKAZ - ISREF - Jde o odkaz?
  • JE.PRÁZDNÉ - ISBLANK - Jde o prázdnou?
  • JE.TEXT - ISTEXT - Jde o text?

Více o funkcích informace v samostatném článku: Jak na funkce informace v Microsoft Excelu.

KDYŽ s časem

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ů...

Řešení:

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)) Excel funkce KDYŽ s časem.

Ke stažení

Soubor s ukázkami KDYŽ s časem soubor ve formátu *.xlsx ke stažení zdarma.

Zpět na seznam kapitol o funkci KDYŽ

KDYŽ pro datum

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") Excel funkce KDYŽ s datumem.

Ke stažení

Soubor s ukázkami KDYŽ s časem soubor ve formátu *.xlsx ke stažení zdarma.

Zpět na seznam kapitol o funkci KDYŽ

Hledání věkové hranice

Úkol

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.

Popis řešení

Využijeme funkce KDYŽ a CONCATENATE.

Excel kombinace funkcí.

Ke stažení

Soubor Kombinace funkcí Microsoft Excel soubor ve formátu *.xls ke stažení zdarma.

Zpět na seznam kapitol o funkci KDYŽ

KDYŽ a MIN (MAX, ...)

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.

Excel kombinace funkcí MIN a KDYŽ

Další funkce

Na podobném principu lze použít i funkce:

  • MAX
  • PRŮMĚR
  • ...

Ke stažení

Soubor Kombinace funkcí MIN a KDYŽ v Excel soubor ve formátu *.xlsx ke stažení zdarma.

Poznámka: Doplněno na základě dotazů v komentáři.

KDYŽ a HODNOTA.NA.TEXT

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.

Praktické využití

Například v roční multijazykovém kalendáři, nebo v dashboardech, které musi reflektovat různé jazykové verze.

KDYŽ a NEDEF ...

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.

KDYŽ a matice

Perfektní využití má funkce KDYŽ je i v maticovém počtu, jako podmínka.

Microsoft Excel matice podmínky s KDYŽ

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)))

Více informací o maticích

Jak prakticky využít fukci KDYŽ v maticích jsem popsal v článku: Matice a výpočty včetně podmínek.

KDYŽ a kontrola textů - COUNTIF(S)

Obsahuje buňka hledaný text?

=KDYŽ(COUNTIF(B5;"koruna*");"obsahuje";"neobsahuje") =KDYŽ(COUNTIF(B5;"*koruna*");"obsahuje";"neobsahuje") =KDYŽ(COUNTIF(B5;"*koruna");"obsahuje";"neobsahuje") Microsoft Excel podmínky s COUNTIF(S)

Více informací o COUNTIF(S)

Jak prakticky využít fukce COUNTIF(S) v článku: COUNTIFS, nebo COUNTIF.

Microsoft Excel - stahuj logo

Ke stažení zdarma

Soubor s ukázkami funkce KDYŽ ke stažení ZDARMA:


Článek byl aktualizován: 04.05.2025 07:31

Podpora - oceňte web a pozvěte mě na čokoládu

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 .

Poděkování

Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.

Vylepšení

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.


Pavel Lasák - autor webu

Pavel Lasák

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.

   Pavel Lasák LinkedIn Profil    Pavel Lasák twitter Profil





Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

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 |