Upozornění:

Tento návod se týká použití funkce KDYŽ pro vyhodnocování více možností než dvou. Pokud používáte Excel po aktualizaci, která proběhla cca v únoru 2016, doporučujeme využít funkci IFS, kterou se většina úkolů řešených vnořenou podmínkou dá řešit jednodušeji.


V praxi se docela často dostaneme do situace, kdy potřebuji pomocí funkce KDYŽ / IF určit hodnotu buňky, ale nestačí nám dvě možnosti. Například potřebujeme určit, jestli je v nějaké buňce kladné číslo, záporné číslo nebo nula - tedy jedna ze tří možností.

Jak funkce vnořovat

Funkce KDYŽ umí pracovat pouze tak, že posoudí splnění podmínky a podle splnění nebo nesplnění stanoví hodnotu buňky, neboli "něco napíše". Umí ale pracovat jen se dvěma hodnotami "buď a nebo". My ale můžeme potřebovat tři možnosti - menší než nula, větší než nula a nula. Řešením je použít dvě funkce KDYŽ najednou a vnořit je do sebe.

Zápis funkce pak bude vypadat např. takto:

  • =KDYŽ(A1>0;"kladné číslo";KDYŽ(A1=0;"nula";"menší než nula"))

Exelu tímto říkám "Jestli je v A1 číslo větší než nula, napiš "kladné číslo". V opačném případě se rozhoduj dále - je-li v A1 nula, napiš "nula". Pokud ani tato podmínka není splněná, napiš "menší než nula". Poznámky:

36 Comments

  1. Dobrý den, jak mohu v rolovacím seznamu, kde mám 8 možných výběrů nastavit funkci, která mi podle výběru v seznamu překlopí do tabulky pod seznamem hodnoty z osmi tabulek, které mám připravené s daty? Funkcí KDYŽ je to dosti krkolomné a hlavně co jsem četl, tak je možné provést max 7 krát funkci KDYŽ a já jich potřebuji 8. Funkci IFS nemám.
    Děkuji za odpověd Petr

  2. Dobrý den,
    tohle se nedá určit bez přesného popisu problému. Doporučil bych ale podívat se na funkci SVYHLEDAT…

  3. Dobrý den, řeším jeden problém. Mám seznam jmen (cca 70 záznamů). V excelu mám buňku, ve které si mohu v seznamu vybrat jedno ze 70 jmen. Potřeboval bych, aby se mi vedle buňky, kde vybírám konkrétní jméno zobrazila informace o jeho idčku. Řešit to přes if-else mi přijde velmi nevhodné, ale nevím, jak jinak bych to měl udělat, aby to fungovalo. Za všechny rady moc děkuju 🙂

  4. Dobrý den, prosím o radu. Buňka s funkcí B1=když(A1=“strom“;100;““) je půl mé cesty. Potřebuji k ní přidat B1=když(A1=“zvíře“;150;““). Jde je nějak seřadit za sebe aby tedy bylo v jedné buňce více funkcí?
    Díky 🙂

  5. Dobrý den, mám tabulku s hodnocením studentu-znamky, mám je převést na slovní hodnocení (vyborne, atd.) použijí fci když, ale mám dat když je tam 1, bude výborné, když bude 2, bude chvalitebné. Jde mi to pouze u jedné buňky. Další, zřejmě mám ve vzorečku chybu, jak byste to resil. Děkuji za info a pomoc. St. Fiserova

  6. Dobry den,
    prosim o radu – nevim, zda se neda take resit funkci kdyz, mam tabulku s prehledem minimalni zasoby zbozi (cca 5000 radku) pro 100 prodejen. Minimalni zasoba je v rozmezi 0 – 50. Potrebovala bych v teto tabulce zmenit vsechny hodnoty vyssi nez 3 na 3. Predem diky za jakoukoli radu.

  7. Dobrý den, prosím o radu. V excelu řeším problém. Mám modely v rolovacím seznamu (model: S,M,L,XL) a další rolovací seznam, ve kterém si můžu vybrat úroveň obtížnosti (úroveň: jednoduchá, střední, expert). Podle modelu a úrovně obtížnosti je nastavené jiné číslo. Zkrátka když si vyberu ze seznamu model L a zvolím si ze seznamu obtížnost střední, tak aby mě to vyhodilo číslo podle toho co sem si vybral.

    Vše mám v tabulce použil jsem funkci KDYŽ, SVYHLEDAT, VVYHLEDAT, ale pořád mi to nefunguje. Poradíte mi prosím? Děkuji.

  8. Dobrý den Petře,
    možná by šlo spojit model a obtížnost do jednoho textového řetězce (např. Sjednoduchá, a to ve vybírací tabulce i v původních datech, a pak použít klasícký SVYHLEDAT…

  9. Mám tabulku a chci vytvořit funkci a nevím si rady. V jednom sloupci mám datum splatnosti, ve druhém splatnost a ve třetím způsob úhrady. Zvládla jsem udělat vzorec, který mi ve sloupci splatnost hlásí, že faktura je po splatnosti =KDYŽ((DNES()>=F19);“po splatnosti“;““) a když je stále ve lhůtě, je pole prázdné, ale problém je, že bych funkci chtěla rozvinout tak, aby mi při doplnění způsobu úhrady (dobírkou, hotově, převodem) ve sloupci splatnost také funkce hlásila, že je faktura zaplacena. Můžete mi prosím poradit?

  10. Obecně pokud byste informaci o splatnosti měla v buňce F20, může to fungovat nějak jako:
    =když(délka(F20)>0;“zaplaceno“;KDYŽ((DNES()>=F19);“po splatnosti“;““))
    Tím říkáte, že když je cokoliv v buňce F20, je faktura zaplacená. Jinak se řeší splatnost.

  11. Dobrý den, potřebuji pomoci. Mám 2 tabulky
    V 1. je zboží které firma má-třeba: pes, kočka, nit, kolo, kruh, vana
    Ve 2. je zboží které bylo předáno na pobočku vždy jen určitý druh zboží ne vše co obsahuje 1. tabulka: pes, kolo, vana
    Z 2. tabulky se do 1. po vyhledání stejného zboží napíší kusy co firma předala pobočce a odečtou se od celkové zásoby firmy.
    Problém nastává ve chvíli kdy se u zboží které nebylo přidáno objeví #N/A a nenapíše se „“. V 1. tabulce je 6 druhů zboží, ve 2 jsou 3 druhy. U zbylých 3 druhů které zůstaly bez pohybu je stále N/A a nevím co s tím. Takto se mezi sebou bude porovnávat cca 4000 druhů zboží proti vydanému zboží pobočkám. Děkuji za pomoc.

  12. Ještě dodatek ke stejnému problému: 1. tabulka-v tabulce se vždy píše zboží které se předává dál na pobočky a nebo se nakupuje do firmy.

    Prosím o radu jak udělat když dotyčný který vydá zboží pobočce jej napíše do tabulky 2, že zboží předal a kolik a zapomene jej napsat do 1. tabulky. Vlastně v 1. tabulce zboží nebude.

    Chtěla bych pro tento případ aby se napsala u kusů HLÁŠKA ŽE MUSÍ ZBOŽÍ NEJDŘÍVE NAPSAT DO TABULKY 1 I S POČÁTEČNÍM STAVEM. Děkuji za pomoc.

  13. Dobrý den,
    Potřebovala bych prosím poradit..
    Mám seznam cca 50 zákazníků, každý zákazník ma 5 různých bonusů (0,5%, 1%,2%atd). Bonus je závislý na splnění kvartálu.
    Nevím jak mám zadat vzorec, když tam mám tolik proměnných…

  14. Dík za rychlou odpověď.
    Ale úplně nevím jestli je to ono.. u me je totiž „znamka“ kterou neznám je to výpočet =aktuální prodej*%bonusu (které je počítáno z 5ti možných hodnot) prodej se bere za kvartál (takže 4 sloupce)

  15. Dobrý den,
    měl bych dotaz. nějak se mi nevede toto vyřešit.

    mám v buňce A1 hodnotu (tato hodnota je součtem z předchozích listů) a potřebuji mi to vypsalo do buňky A2 tyto hodnoty. Když hodnota v buňce A1 bude od 0-9 vypsal do buňky A2 0,když bude od 21-30 tak vypsal 20 ,když bude od 21-30 tak vypsal 40 a když bude větší než 31 tak vypsal 60.

    Je možné toto řešit přes když? nějak se mi nevede tento vzorec poskládat. Předem moc děkuji za pomoc.

    H.

  16. Dobrý deň, hľadám vhodnú funkciu na hľadanie znaku. Vysverlím príklad.
    Bunka obsahuje 1,6,8 alebo 1,2,3,68 alebo 7,8,2 …..(t.j. sú v rôznom počte v rôznom poradí a majú text atribút)
    hľadám výskyt či sa v bunke nachádza 2 (pozn. potrebujem vyfiltrovať výskyt 2.
    Vopred ďakujem za pomoc.

  17. Dobrý den,
    potřeboval bych poradit jestli existuje nějaká funkce nebo jak vyřešit následující problém.
    Mám 1. tabulku kde se v prvním sloupci nachází celá jména např. Josef Dobrý a ve druhém sloupci jejich tituly např. Ing. V 2. tabulce chci aby se podle zadaného jména z rolovátka z první tabulky přiřadil titul.
    Předem moc děkuji.

  18. Ještě dodatek k mému problému, řešil jsem to pomocí SVYHLEDAT. To funguje, když mám rozdílná jména (Jirka, Josef, Hozna), pokud ale použiju stejná jména , ale rozdílná přijmení (Josef Dobrý, Josef Opadavý), vyhazuje mi to hodnotu podle prvního nalezeného jména tedy v tomto případě Josef Dobrý.

  19. Dobrý den, potrebujem použiť jednoduchú funkciu „když“ v tabuľke, kde mám 3 stĺpce. Hodnota v prvom a druhom je zadávaná ručne. Prvý je inventúrny stav(počet) výrobkov a druhý je počet príjatý počas týždna. Tretí stĺpec je vzorec počítajúci spotřebu za daný týždeň. Funkciu chcem použiť na to, aby ma upozorňovala keď nahodím inventúrny stav nižší jako je potřebné množství skladu. Zadať funkciu nie je problém. Problém je to, že každý týždeň dohadzujem nové stĺpce (s novou inventurou) a nerád by som každý týždeň menil vzorec s funkciou. Napadá mi či by sa nedalo spraviť aby funkcia platila len pre stĺpec označený nejakou farbou, alebo len pre políčka ručne nahodené (nie počítané pomocou vzorca). Ďakujem vopred za každú radu.

  20. Dobrý den, jestli dobře rozumím, tak hlavní problém je v tom, že se vzorec má počítat jen pro buňky, které neobsahují vzorec.
    Pak se Vám bude hodit funkce ISFORMULA, konkrétně ji můžete zapsat takto:
    =když(isformula(a1)=nepravda;vzorec, který počítáte;““)

  21. Dobrý den, chtěl bych se zeptat, zda jde vyhodnocovat ve funkci KDYŽ i počet hodnot z určitého seznamu. Jde mi o to, že mám seznam nějakých textových hodnot(např. ANO, NE, NEVÍM) a na následujícím listu mám tabulku, kde chci jednotlivé hodnoty sčítát. Například v seznamu je pět odpovědí ano, tak chci číslo 5 přenést do tabulky na následujícím listu. Seznam se samozřejmě rozšiřuje o dané hodnoty nepravidelně.

  22. Dobry den, muj dotaz asi bude trochu obsahlejsi a tak predem dekuji kazdemu kdo se mu bude venovata nude ochotny mi odpovedet.

    Rozhodl jsem se udelat tabulku premiere league ve ktere se budou zaznamenavat vysleky zapasu na listu 2 jsem vytvoril stejnou tabulku vzajemnych zapasu, kde ale byli dane vysledky jiz prevedeny na bodovy zisk tzn. 0 – porazka, 1 – remiza, 3 – vyhra, na listu 3 bych chtel aby se vypisoval do tabulky celkovy pocet bodu daneho celku a take jeho poradi. a ted ke kameni urazu na listu 2 jsem vyuzil dve vlozene funkce když, které vyhodnotí výsledek a přidělí počet bodů. zapis fce vypadal takto: =KDYŽ(List1!B4>List1!C4;“0″;KDYŽ(List1!B4<List1!C4;"3";"1")) z toho ale plyne ze si mi vzdy na listu 2 vypise pocet bodu ale kvuli rozkopirovani formatu to u neodehranych zapasu vypisuje 1 bod protoze nulove hodnoty jsou si rovny. to pak vyznamnym zpusobem ovlivnuje poradi tymu.

  23. Dobrý den, potřeboval bych poradit s následujícím:
    Mám 3 výrobní směny (ranní 8hod start v 5:30, Odpolední 8hod -start v 13:30 a noční start v 21:30)
    čas najetí výrobní zakázky XY byl v 7:55. Rád bych vypočítal produktivní čas a prostojový čas.
    produktivní čas = PČ – Prostoje (ve výše uvedeném 7:55 – 5:30, tedy 2:25 hod) Potřebuju obecný vzorec, který byl platil pro všechny zakázky.
    Děkuju
    Emil

  24. Obávám se, že tohle nepůjde žádným jednoduchým vzorcem. Bude třeba pohrát si vác s podmínkami a s počítáním hodin.

  25. Dobrý den,
    V Excelu jsem použil šablonu „Rozvrh směn zaměstnanců“, která po vložení údaje z rozbalovacího okna spočítá celkový počet hodin.
    Jak dosáhnout toho, aby se po výběru údajů z rozbalovacího okna zobrazil v jiné buňce vybraný časový interval, např. 11:00 – 13:00.
    Děkuji za odpověď.

  26. Dobrý deň,
    potreboval by som poradiť s týmto. Mám zoznam značiek áut (napr. ŠKODA, AUDI, VW, FORD) – v bunke A1 si z rozbalovacieho zoznamu vyberiem konkrétnu značku (cez overenie údajov) a potrebujem aby sa v B1 variabilne menil zoznam modelov.
    Teda ak vyberiem v bunke A1 ŠKODU, chcem aby v bunke B1 bol zoznam RAPID, OCTAVIA, SUPERB…, ak vyberiem v bunke A1 AUDI, chcem aby v bunke B1 bol zoznam RS3, RS4, RS5, RS6, RS7, atd atd

    Dá sa to? 🙂

  27. Ahoj, rada bych se zeptala jak pomoci funkce kdyz zjistím, zda se udaj v jednom sloupci nachazi i ve sloupci druhem. Mam v bunce B3 telefonní číslo a potřebuji zjistit zda se vyskytuje i ve sloupci D kde je telefonních čísel několik. Jaky vzorec mám pro funkci použít?

    Dekuji

Napsat komentář

Vaše emailová adresa nebude publikována.

*

smazat formulářOdeslat komentář