Příklad
Potřebuji pomocí funkce IF (česky KDYŽ) určit hodnotu buňky, ale nestačí mě dvě možnosti.Např. podle hodnoty v buňce A1 potřebuji určit hodnotu buňky A2 - v buňce A1 je určité číslo a v buňce A2 má být napsáno, jestli jde o číslo kladné, záporné nebo o nulu.
Návod
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 potřebujeme tři možnosti - menší než nula, větší než nula a nula.Využijeme tedy dvě funkce když najednou - vnoříme je do sebe.
Zápis funkce bude vypadat např. takto: =IF(A1>;0;"kladné číslo";IF(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:
- Všimněte si, že vnořená funkce IF je vlastně parametrem "vnější" funkce IF. Stejným způsobem se mohou kombinovat i mnohé jiné funkce.
- Dávejte pozor na závorky.
- Je možné do sebe vnořit až 7 funkcí IF.
- Více o funkci IF se dočtete zde.
- Často je možné spletitou kombinaci IF/KDYŽ elegantně a snadno nahradit intervalovým použitím funkce SVYHLEDAT / VLOOKUP.
- Místo několika funkcí IF/KDYŽ je často vhodnější použít IF/KDYŽ v kombinaci s A/AND a NEBO/OR.
Dobrý den, chtěla jsem se zeptat, jestli je ten zápis správně zapsaný. např.: když:A1=120
OdpovědětVymazat=IF(A1>=150;"výborně";IF(A1>=140<150;"dobře";"špatně"
;))
OdpovědětVymazatJde mi hlavně o to A1>=140<150
OdpovědětVymazatDobrý den.
OdpovědětVymazatChápu to tak, že zadání je takto:
Pro hodnotu větší nebo rovno 15o je výsledek "výborně"
Pro hodnotu větší nebo rovno 140 a menší než 150 je výsledek "dobře"
Pro hodnotu menší než 140 je výsledek "špatně".
Pak lze zapsat vzorec např. takto:
=IF(A1>=150;"výborně";IF(A1>=140;"dobře";"špatně"))
Což se dá lidsky říci asi takto:
Když je A1 větší nebo rovno než 150, napiš "výborně". Pokud tato podmínka splněná není, jdi na další podmínku - je-li buňka A1 větší nebo rovno než 140, napiš "dobře". Pokud ani tato podmínka není splněná, napiš "špatně".
Dávejte pozor na znaménka a na závorky.
Co máte špatně:
Máte použitou podmínku A1>=140<150 - to nejde, v podmínce lze mít jen jedno znaménko ("<=" a ">=" se bere jako jedno znaménko).
Na konci vám chybí dva konce závorky.
Jinak alternativně se to dá napsat i s využitím funkce "AND" - ta vrací hodnotu "true" v případě, že jsou splněny obě podmínky.
OdpovědětVymazatJe to sice komplikovanější, ale více to odpovídá logice, ze které jste vycházel(a) vy.
=IF(A1>=150;"výborně";IF(AND(A1>=140;A1<150);"dobře";"špatně"))
Mockrát děkuji za pomoc!
OdpovědětVymazatMusím přiznat, že nás z toho zítra ve škole čeká písemka, takže autorovi patří veliký dík. ;)
OdpovědětVymazatDobrý den,
OdpovědětVymazatpotřebuji poradit, jak vytvořit funkci KDYŽ pro tento případ:
Potřebuji data o počtu obyvatel rozdělit do logických skupin (šesti)
0-1000 1.sk
1001-10000 2.sk
10001-50000 3.sk
50001-100000 4.sk
100001-500000 5.sk
500001 a více 6.sk
KDYŽ(A2<1001;"0-1000";KDYŽ(AND(1000<A2<10001;"1001-10000";KDYŽ(AND(10000<A2<50001;"10001-50000";KDYŽ(AND(50000<A2<100001;"50001-100000";KDYŽ(AND(100000<A2<500001;"100001-500000";"500001 A VÍCE")))))))))
OdpovědětVymazatZkoušela jsem tam doplnit funkci AND, ale nefunguje to, nevím, kde mám chybu
zkuste to takto:
OdpovědětVymazat=KDYŽ(A2>500000;"500001 A VÍCE";KDYŽ(A2>100000;"10001-500000";KDYŽ(A2>50000;"50001-100000";KDYŽ(A2>10001;"10001-50000";KDYŽ(A2>1001;"1001-10000";"0-1000")))))
Jinak pokud chcete dělit hodnoty do intervalů, můžete zvážit i použití histogramu - může to být celkem elegantní řešení...
OdpovědětVymazathttp://support.microsoft.com/kb/214269/cs
Dobry den. Mam na Vas otazku ohladom znamienka "+". Mam zadany vzorec v bunke "A8"-"=SUM(A1:A7)". Potreboval by som ak bude kladna hodnota, aby sa pred tuto hodnotu vlozilo znamienko "+". Ak bude "0" tak bez znamienka a ak bude zaporna hodnota tak "-". Neviem si rady. Za skoru odpoved vopred dakujem.
OdpovědětVymazatDobrý den, lze funkci IF použít i na text?
OdpovědětVymazatMám v jednom sloupci určitý text (např. ANO, NE, NEVIM) a potřebuji aby v druhem sloupci pokud tam bude Ano tak se sousední řádek obarvil na určitou barvu - obarveni bych připadně dodělal přes podmíněné formátování - stačilo by mi tedy - pokud je v prvnim sloupci ANO napsat do druhého sloupce "-" nebo "1" ... prostě něco co by se dalo podmíněně naformátovat
Jistě, jen je nutné dát odkaz na text do uvozovek. Např.:
OdpovědětVymazat=IF(A1="ano";"x";"y")
Skvělé dekuji moc
OdpovědětVymazatDobrý deň. Poprosil by som radu ako vytvoriť funkciu IF ak mám zadanie -
OdpovědětVymazatAk bunka A1 obsahuje akékoľvek číslo tak výsledok bude "1", ale ak bunka A1 obsahuje akýkoľvek text tak výsledok bude FALSE resp.0.
Príklad: A1 = 500 => výsledok "1" ale ak A1 = wa => výsledok "FALSE"
Ďakujem za pomoc.
Bude to nějak takhle:
OdpovědětVymazat=KDYŽ(JE.ČISLO(A1)=PRAVDA;"číslo";KDYŽ(JE.TEXT(A1)=PRAVDA;"text";"není ani text ani číslo"))
Dobry den, mam takovy dotaz u funkce SVyhledat. Mam velikou tabulku ktera vyhledava ve vice jinych tabulkach. Obcas se stane ze vyhodi hlasku NENI k Dispozici. IFERROR jsem nasel ale nevim jak tyto funkce zkombionovat tak aby bylo misto NENI k dispozici vylednou hodnout idealne 0 nebo prazdna bunka.
OdpovědětVymazatVelmi podobný problém je řešený tady:
OdpovědětVymazathttp://www.excelentnitriky.com/2012/09/porovnani-dvou-tabulek.html
Pokud vám to nepomohlo, dejte vědět.
Hezký den,
Jiří Beran
Super diky moc za navedeni. Nebylo to presne co jsem potreboval, ale diky tomu me to navedlo a dal jsem to do kupy:).
OdpovědětVymazatJeste jeden dotaz. Rekneme ze mam na sheetu tabulku, ktera ma pevne dane pole.Meni se pouze vkladane vysledky. Na 1 sheetu je vzdy jedna tabulka. Mam takovych sheetu 49. Existuje nejaka cesta jak udelat na poslednim sheetu prumery vsech sheetu, krome manualni cesty? Nejaky sumarovy sheet, jestli mi rozumite?
Mělo by to být takhle:
OdpovědětVymazat=Průměr(prvnilist:poslednilist!B1)
Nebo ještě jinak takhle:
OdpovědětVymazathttp://www.excelentnitriky.com/2013/01/vzorec-pres-vice-listu.html
Tak tady s tim zatim bojuju, je veliky problem pokud se listy jmenuji jinak nez je defaultne nastaveno? Napr. CZ132,CZ063 atp.
OdpovědětVymazatTak k memu poslednimu dotazu, takze samozrejme kdyz udelam co je ve vasem navodu tak to funguje pokud mam zachovane nazvy a poradi listu. Jenze v okamziku kdyz jsem listy prejmenoval a i prohodil jejich poradi tak se mi deje to ze kdyz pak pouziju vzorec pro listy 3 4 a 5 ktere se jmenuji treba CZ003 CZ004 CZ005 tak udelam =SUMA(List3:List5!A1) tak se mi otevre okno pro nalinkovani listu protoze ho nemuze najit...
OdpovědětVymazatRozumím, ale nevím jak to bez makra řešit - prostě ty listy asi nesmíte přejmenovávat.
OdpovědětVymazatDobrý den.
OdpovědětVymazatProsím o radu. Potřeboval bych vytvořit funkci v buňce C1, kde je B1-A1. Když v buňce C1 je výsledek záporny tak v buňce C1 bude výsledek 0, a když výsledek bude kladný tak v buňce C1 bude konkrétní výsledek.
Děkuji Píč Martin
Dobrý den,
OdpovědětVymazatchci se zeptat, jak by se udělalo toto:\V buňce H16 použijte databázovou funkci, která zobrazí průměrnou váhu osob vyšších než 180 cm, které bydlí v Praze nebo v Brně.
Děkuji?l.
Je to funkce AVERAGEIF nebo AVERAGEIFS.
OdpovědětVymazatDobrý den, mám takový problém a nevím si rady. Přes datové nástroje jsem si v excelu vytvořil seznam kde mám tarifní stupně mzdy zaměstnanců, například 1. Tarifní stupeň, 2. Tarifní stupeň atd. A potřeboval bych na to navázat jinou buňku, která by mi podle zadání tarifního stupně vypsala do jiné buňky zadanou částku. Přes funkci KDYŽ se mi to nějak nedaří. Děkuji mockrát za pomoc
OdpovědětVymazatDobrý den,
OdpovědětVymazatmožná by se na tohle hodila spíše tato funkce:
http://www.excelentnitriky.com/2010/02/svyhledat-vvyhledat-vlookup-slookup.html
Zvláště pokud je tarifních stupňů více.
Nicméně nejsem schopen takto lépe poradit - pokud chcete, smažte z tabulky citlivá data a pošlete. Mohu Vám s tím pomoci v rámci konzultace:
http://www.vyuka-excelu.cz/konzultace-excelu/
Předpokládám, že půjde o jednoduchou věc zdarma nebo za dvě tři stovky - nicméně více Vám řeknu až tabulku uvidím.
Hezký den,
J.
můžete mi prosim pomoct potřebuji udělat minimum bez příkazu =min() a musim pouzit příkaz if
OdpovědětVymazatmůžete mi prosim pomoct potřebuji udělat minimum bez příkazu =min() a musim pouzit příkaz if
OdpovědětVymazatDobrý den, proč potřebujete dělat minimum přes funkci IF když existuje funkce MIN?
OdpovědětVymazatDobrý den, trápím se syntaxí příkladu vícenásobné podmínky. Mám 3 intervaly (0;5000), (5001;10000) a (100001;15000). Pokud číslo v buňce bude vyhovovat prvnímu intervalu, tak jej vynásobit 0,14, pokud druhému, tak 0,16, pokud třetímu, tak 0,18. Mohli byste mi pomoct prosím? Děkuji
OdpovědětVymazatDobrý den, chtěl bych se zeptat, potřebuji v Excelu 2010 udělat toto: Když píšu do Listu 1, chci, aby se to zároveň napsalo do Listu 2? Nepřijde mi to tak těžký, ale nemůžu na to přijít, poradíte prosím? :-)
OdpovědětVymazatTakže 9. července jsem sem psal dotaz a dosud nebyl zodpovězen, což je cca měsíc, děkuji, už neodpovídejte. Za takovou dobu bych byl schopen vymyslet sám ten excel :D radíte lidem blbosti, které nefungují, rozumíte excelu asi jako pětilété dítě, nashledanou :-)
OdpovědětVymazatDruhý anonymní:
OdpovědětVymazatJestli rozumím správně, stačí např. do buňky A1 na list2 napsat vzorec =list1!A1
a vzorec roztáhnout.
viz např.:
http://www.excelentnitriky.com/2010/02/propojeni-dvou-listu.html