Děkuji zkusím ten ISTEXT jestli se to zlepší. Problém ale není, že to projde v Excelu, ale že to projde v OOo od Sunu pro windows, ale už ne v linuxové verzi, nevidím pro to jenom důvod, proč se každý calc chová úpne jinak. Excel nepoužívám, tam mi výpočty s datumy fungují divně a je to daleko složitější, tak to tam nedělám...
Miloš B. 2009/10/23 Jiří Spitz <[email protected]>: > Dne 23.10.2009 13:55, Miloš Bíba napsal(a): >> >> Přesně jde o todle, na vině je asi formát, ale nevím co s tím. Výpočty >> jsou v rámci sešitu, >> na jednom listě je sloupec o 31 řádcích ve kterém jsou je vzorec který >> pomocí dlouhého IF >> příkazu zjišťuje jestli se ve sloupci nalevo jedná o víkend nebo ne a >> pokud náhodou se >> nejedná o den povinné dovolené (seznam dnů povinné dovolené j v dalším >> sloupci. >> Tento vzorec ještě funguje správně. >> >> >> =IF(OR(WEEKDAY(A1)=1;WEEKDAY(A1)=7;MONTH(A1)<>MONTH($D$2);A1=$E$2;A1=$E$3;A1=$E$4;A1=$E$5;A1=$E$6;A1=$E$7;A1=$E$8;A1=$E$9;A1=$E$10;A1=$E$11;A1=$E$12;A1=$E$13;A1=$E$14;A1=$E$15;A1=$E$16;A1=$E$17;A1=$E$18;A1=$E$19;A1=$E$20;A1=$E$21;A1=$E$22;A1=$E$23;A1=$E$24;A1=$E$25;A1=$E$26;A1=$E$27;A1=$E$28;A1=$E$29;A1=$E$30);"v";" >> ") >> >> Tento sloupec je potom zrcadlen do dalších listů, což probíhá také správně >> >> =$Kalendář.B2 >> >> Ovšem pokud s touto hodnotou zkouším počítat v dalším IFu >> >> =IF(B3="";"";IF(B3="V";0;C3-B3)) >> >> tak pokud je v políčku B3 nic není to vyhodnoceno jako nic ale vzorec píše >> #Value! Ona by >> to byla jenom estetická vada, kdyby prostě nemuselo bejt pár záznamů s tou >> nulou, po >> dopsání čísla do toho pole B3 nebo pokud je v něm hodnota V vše funguje. >> Všude musím psát >> 0, ale protože je to čas, tak musím psát 0: aby to bylo prezentováno jako >> 0. pokud se >> nevšimnu, zakazí se všechny následné výpočty, ve kterých potom také svítí >> #Value! anebo >> hůř, jenom zapomenou cosi připočíst, takže je to skrytá chyba, kterou >> občas zapomenu najít. >> >> Jde todle nějak vyřešit aby se to prostě chovalo jako ve windows, že to >> prostě bere buňku >> ve které je vzorec který tam hází nic "" jako opravdu nic ""? > > Problém je v tom, že "" nepředstavuje prázdnou buňku, ale představuje > textový řetězec o nulovém počtu znaků. To platí i v Excelu a přesvědčite se > o tom pomocí funkce JE.PRÁZDNÉ(buňka). Bude-li buňka prázdná, dostanete > PRAVDA, bude-li v ní vzorec ="", dostanete NEPRAVDA. > > Pokud napíšete vzorec =IF(podmínka; 1; ""), tak je v případě splněné > podmínky výsledkem číslo a v případě nesplněné podmínky textový řetězec. > Pokud tento výsledek dále porovnávate s číslem, tak se v případě nesplněné > podmínky porovnává text s číslem. A to je špatně. > > Je sice pravda, že v Excelu to funguje, protože ten převede "" v numerickém > výrazu na nulu. Ale i v Excelu je to špatný přístup a můžete s ním narazit. > Pokud například budete počítat průměr, tak prázdná buňka nebo buňka s nulou > bude zahrnuta do celkového počtu hodnot, ale buňka s "" nebude, protože > agregační funkce ignorují buňky s textem. > > Lépe je proto nepoužívat IF, jehož výsledkem může být text nebo číslo. Pokud > už není zbytí, tak nezbývá než něco na způsob > =IF(ISTEXT(buňka_s_heterogenním_IFem); 0; 1). > > Pokud jde jen o to, aby se nuly nezobrazovaly, tak to lze nastavit jen pro > celý sešit. Pokud to chcete jen pro některé buňky, tak je nejjednodušší (i > když ne moc pěkné) nastavit podmíněným formátováním barvu písma na barvu > pozadí. > > S přáním hezkého dne, > > Jiří Spitz > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
