Stránka 1 z 1
Excel - SUDKOU - hledani chyb
Napsal: 02 led 2006 18:34
od HELPNEED
ukol: mam vytvorit program pro hru sudoku v excelu pomoci funkci , ktery bude chybovou hlaskou upozornovat na spatne zadane cislo
problem : nevim kde a jak v excelu udelat ,aby to hodilo chybovou hlasku kdykoliv cislo nepasuje nebo se nejedna o cislo(hlavne by me zajimalo jak je to s tou chybovou hlaskou - kde se da najit nejake nastavni atd )
Napsal: 04 led 2006 00:25
od mikel
Žádná funkce v Excelu ti nevyhodí informační okno s chybovou hláškou. To by se dalo vyřešit makrem. Když to máš vyřešit funkcí, tak výstupem bude jenom text v nějaké buňce. V tvém případě se to dá vyřešit takto:
Řekněme že do buňky A1 máš zadat pouze číslo od 1 do 3 a v buňce A2 se ti objeví upozornění, když ho zadáš špatně. Tak do buňky A2 vložíš tuto funkci:
=KDYŽ(A(JE.ČISLO(A1);A1>=1;A1<=3);"";"Špatně zadaná hodnota!")
Funkce JE.ČISLO(A1) vyhodnotí, jestli je hodnota číslo, takže když je hodnota číslo a zároveň je větší nebo rovna 1 a zároveň menší nebo rovna 3, pak nenapíše nic, jinak napíše "Špatně zadaná hodnota!".
Může to tak být?
Napsal: 04 led 2006 20:18
od HELPNEED
Velmi dekuji!
A jeste mam otazecku zda by tato funkce sla rozsirit na nekolik bunek najednou ( aby to psalo 'spatna hodnota' bude-li v alepson jedne z bunek neco jineho nez vymezene cislo?) a nemusel bych se s tim slozite rozepisovat
Dekuji za odpoved
Napsal: 13 led 2006 13:59
od mikel
Funkce JE.ČISLO nedokáže zkontrolovat více buněk než 1. Takže pro oblast by to šlo jenom s kontrolou minimální a maximální hodnoty. Kontrola, jestli je zapsaná hodnota text nebo číslo by nefungovala.
Dalo by se to elegantně vyřešit, ale jenom makrem. Je možné to tak řešit nebo makro nechceš?
Napsal: 14 led 2006 10:53
od Axamith
Pokud je výsledek chyba nabo nesplňuje podmínku, tak v Excelu je možnost toto ošetřit chybovým hlášením nebo varováním. Dělá se to pomocí Oveření dat. ( příkaz Data/Ověření ) Zatím jsem s tím jenom koketoval, ale vím, že to docela dobře funguje. Celou problematiku popsal Jan Pokorný v knize MS Excel a práce se vzorci. ( str. 11-15 ). Třeba to pomůže.
Axamith
Napsal: 14 led 2006 22:33
od HELPNEED
dekuji
Jak by tedy vypadala funkce , ktera by udavala rozmezi od 1 do 3 pro vice bunek s tim , ze kdyby v bunce bylo jine cislo napsalo by to ''CHYBA'' ?
Napsal: 14 led 2006 23:16
od mikel
Axamih má pravdu! Vůbec jsem si na to nevzpoměl.
Vyber všechny buňky, do kterých chceš zapisovat a spusť Data/Ověření.
Namísto "Jakoukoli hodnotu" dej "Celé číslo", pak vyber "je mezi" a minimum 1 a maximum 3. Na záložce Zpráva při zadávání můžeš napsat zprávu, která se zobrazí při zadávání a na záložce Chybové hlášení vybereš akci, která se stane při chybném zadání, a hlášku, která se zobrazí.
Napsal: 15 led 2006 13:07
od HELPNEED
No prave to overeni pres data mi nefunguje , protoze sem funkci cetnosti vypsal pocet 1,2,3 az 9 v kazdem radku , sloupci a ctverci sudoku a pokud by to vypsalo , ze je nekde nekde nejake cislo vice nez jednou tak tam musi byt chyba.
Proto potrebuji funkci ktera by nekde napsala ''chyba'' pokud se v te matici cetnosti objevi nejake cislo vice nez jednou....
Napsal: 16 led 2006 19:03
od mikel
Tak mě asi napadlo, jak to udělat. Zkusím to, ale chci si ještě upřesnit, jestli dobře rozumím pravidlům SUDOKU. "Hrací pole" je čtverec o velikosti 9x9 a do všech řádků a sloupců se doplňují čísla 1 - 9, tak aby v žádném řádku ani sloupci nebyly 2 stejná čísla.
Je to tak?
Napsal: 17 led 2006 16:57
od HELPNEED
Tak jsem to vyresil tak ,ze sem na prvni cetnost udelal dalsi cetnost , ktera pocitala pocet 1 a 0 z te prvni a pokud by nebyl soucet tech jednicek a nul 9 , tak to napise chybu.Pokud ma nekdo lepsi napad tak sem s nim

Napsal: 18 led 2006 08:13
od mikel
Já jsem to vyřešil pomocí funkce MODE(). Tato funkce vypíše hodnotu, která se v zadané oblasti vyskytuje nejčastěji. Pokud žádná z hodnot nemá nejčastější výskyt (každá číslice se vyskytuje jenom jednou) vrátí funkce chybu #N/A. To se vyřeší pomocí JE.NEDEF(). Tato funkce vrátí PRAVDA, když je hodnota právě #N/A. To znamená, že pro řádek nebo sloupec, ve kterém se neopakuje žádná číslice je funkce JE.NEDEF(MODE(oblast)) rovna PRAVDA. Pro lepší použitelnost jsem to ještě vylepšil tak, že pro každý řádek i sloupec a pro čtverce jsem použil tento zápis:
=KDYŽ(JE.NEDEF(MODE(oblast));0;1)
Výsledkem této funkce je 0 (pro všechny číslice různé) nebo 1 (pro aspoň jednu opakující se číslici). No a konečné ověření mám pomocí funkce SUMA. Když je součet výsledných hodnot všech těch funkcí roven 0, tak se neopakuje ani jedno číslo, jinak je někde stejná číslice.