Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Calc » Výpis hodnot vzorců? » 2. 12. 2019 01:06:42

lp.

Podívejte se na některé úřední výkazy k doplnění, tam najdete, jak na to.

Např. v levém sloupci tabulky jsou čísla 1, 2, 3, a pak je 1 + 2 + 3 (součet hodnot z řádků označených 1, 2, a 3

Předpokládám, že dotyčný úředník nemá čas luštit tabulku s daty a zjišťovat, jak běží výpočet.

Mimochodem, existence vzorce nic neznamená, stačí zapomenutý automatický přepočet, nevhodný formát dat, ...

#2 Re: Calc » Jak tisknout dlouhou tabulku do více sloupců výstupu? » 5. 11. 2019 23:34:38

lp.

Řada tiskáren "umí" více sloupců ve vlastní režii, obvykle je třeba nastavit vhodnou velikost stránky a tiskárna může tyto stránky umístit na papír třeba vedle sebe.

#4 Re: Base » SQL dotaz na prázdnou položku - VYŘEŠENO » 4. 11. 2019 16:29:53

lp.

Neuvedl jste, o jakou db, resp, jaký dialekt sql používáte,

hledejte tedy něco jako

select *
from tabulka
where sloupec is empty

(pokud má být sloupec prázdný)

#5 Re: Calc » Jak použít čas ve vzorci jako číslici? VYŘEŠENÝ » 9. 9. 2019 22:04:47

lp.
JirkaSulkov napsal(a)
lp. napsal(a)
JirkaSulkov napsal(a)

Moc děkuji, funguje to. A je to kratší.
Já jsem ještě laboroval s funkcemi a udělal tento vzorec:
D4=5; E4 = 00:15:00
=IF((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4)/3600)<1;D4*((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4))/3600);D4*(1/((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4))/3600)))
Taky dá výsledek 20.


??? Nechápu.

Jinými slovy. Pokud je čas kratší než hodina, tak počet časem násobíte, pokud je delší než hodina, tak časem dělíte??? V kontextu předchozích příspěvků se mi to zdá jaksi zmatené.

Jako výsledek potřebuji kolik se vyrobí za hodinu.

1. A když za 15 min se vyrobí 5 ks, tak přece 15 min musím násobit čtyřmi abych dostal 1 hodinu. A tím pádem také počet výrobků musím násobit čtyřmi. Tu pomocnou čtyřku jsem dostal tak, že jsem 60 min dělil 15 min. Výsledek 20

2. A když za 4 hod se vyrobí 10 ks, tak přece 4 hod  musím dělit   čtyřmi abych dostal 1 hodinu. A tím pádem také počet výrobků musím dělit   čtyřmi. Výsledek 2,5.

Rozdělíme vzorev na 3 části
a) podmínka:

(HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4)/3600)

Hodnota je menší než pouze, když je čas kratší než jedna minuta. (Chybí závorky.)

b) výraz pro splněnou podmínku

D4*((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4))/3600)

Výraz se ve výpočtu uplatní jen pokud je čas kratší než je minuta.
Pokud je čas 4 hod a počet 10, dá výraz hodnotu 40 (ne 2,5, ve vzorci těch 2,5, kvůli podmínce je výsledek spočten druhým výrazem).

c) výraz pro nesplněnou podmínku

D4*(1/((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4))/3600))

Počítá správně pro libovolný čas. Ve Vámi citovaných příkladech byly výsledky získány tímto výrazem. Jen je zbytečně komplikovaný. Viz doporučení od neutr.

#6 Re: Calc » Jak použít čas ve vzorci jako číslici? VYŘEŠENÝ » 2. 9. 2019 07:06:24

lp.
JirkaSulkov napsal(a)

Teď si ještě "hraju" s podmínečným formátem výsledků. Chci když je menší než nula zobrazit 3 desetinná čísla, když je celé číslo tak žádné desetiny. Dělám to zatím podmínkou Vzorec je, ale chce to jen odkaz na buňku se vzorcem. To je tak zmatený, proč nejde rovnou napsat. Přidal jsem tzv. skrytý sloupec, barva písma bílá, do něj jsem dal MOD(). Zatím to jde, teď vezmu pejska ven a stavím se v práci pro ostrá data. Uvidím jaké polezou výsledky a budu si hrát dál.

Jde to rovnou. Použijte podmíněné formátování.
Vytvořte si styly pro záporné číslo, pro celé kladné číslo a pro ostatní čísla.
Vložte podmíněný formát, zadejte příslušné podmínky a k nim připojte vytvořené styly.


JirkaSulkov napsal(a)

Ještě drobnost, co když čas bude větší než 24 hodin, jakým způsobem jej zadat. Ukáže jen zbytek pod 24.

Zadejte normálně: 58:50:04 a zadejte formát času [HH]:MM:SS

(důležité jsou hranaté závorky kolem hodin)

#7 Re: Calc » Jak použít čas ve vzorci jako číslici? VYŘEŠENÝ » 2. 9. 2019 07:01:55

lp.
JirkaSulkov napsal(a)

Moc děkuji, funguje to. A je to kratší.
Já jsem ještě laboroval s funkcemi a udělal tento vzorec:
D4=5; E4 = 00:15:00
=IF((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4)/3600)<1;D4*((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4))/3600);D4*(1/((HOUR(E4)*3600+MINUTE(E4)*60+SECOND(E4))/3600)))
Taky dá výsledek 20.


??? Nechápu.

Jinými slovy. Pokud je čas kratší než hodina, tak počet časem násobíte, pokud je delší než hodina, tak časem dělíte??? V kontextu předchozích příspěvků se mi to zdá jaksi zmatené.

#8 Re: Calc » Vnořené logické výrazy - VYŘEŠENO » 30. 7. 2019 17:59:14

lp.

Zkuste vyhledávací funkce, např.:
=lookup(E6-1E-100;{-10000;0;9;16;40};{"nic";"Zubů <= 9";72;60;50})
Pokud zadáte čísla někam do listu, můžete použít vlookup, bude to přehlednější i lépe nastavitelné.

#9 Re: Calc » Dotaz na kontingenční tabulky » 4. 7. 2019 00:52:44

lp.

Nevím, jak byla počítána ekonomika, ale kt v posledních verzích excelu (pokročilé použití) jsou opravdu hodně odlišné proti LO. Konektivita na různé zdroje, možnosti etl, a pokud je použit datový model tak je tu i nulová kompatibilita. "Datový model" umí zpracovat v i desítky miliónů záznamů a zobrazovat je v reálném čase, výpočet lze modifikovat vlastním datovým jazykem - několik stovek funkcí - nic jednoduchého to není, ale možnosti jsou velké.

Specifickou vlastností jsou "průřezy" (slicer). Jednoduchý objekt umožňuje přehledně ovládat filtrování v kt i normálních tabulkách, případně zadávat parametry výpočtu, ...

I při "klasickém" použití je efektivita práce (pokud to někdo umí) podstatně vyšší.

#10 Re: Calc » offset mezi dvema listy (SOLVED) » 19. 6. 2019 15:55:42

lp.

Proč raději nepoužijete jednoduše funkci VLOOKUP ?

nejspíš
=VLOOKUP($List6.$G$21;$contacts.$A$2:$B$1001;2;0)

#11 Re: Calc » CALC, výpočet cen za pobyt - VYŘEŠENO » 30. 5. 2019 23:38:29

lp.

Přehlednější bývá použití funkcí VLOOKUP nebo LOOKUP.

=LOOKUP(C4;{0;11;16};{"A";"B";"C"})

VLOOKUP umožňuje jednoduché nastavení v tabulce.

Princip je v tom, že funkce v setříděném seznamu najdou největší hodnotu, která je menší nebo rovna hledané hodnotě.

#12 Re: Calc » MATCH kopírování hodnoty z jiného listu » 23. 5. 2019 23:28:40

lp.

Dá. Podívejte se na regulární výrazy ve funkcích. Nedoporučuji.

Ostatně soudím, že
1) kontingeční tabulky by vyřešila Vaše problémy několika kliky.
2) Pokud se sám považujete za lamu, tak vzorce přes více souborů nejsou dobrý nápad.

Doporučení:
1) Začněte s uspořádáním dat. Nejlépe na jeden list jednoho sešitu. Maker na takový přesun najdete mraky.
2) Srovnejte si kvalitu dat. Opravte nebo připojte základní název titulu, třeba i pomocí regulárních výrazů.
3) Přehledy generujte pomocí kontingenční tabulky.

#15 Re: Calc » v Libre provede jinou funkci, než je zadáno, v Appache funguje - proč? » 28. 3. 2019 08:20:45

lp.

@neutr

"Vysvětlení" nechápu.  Že by 2,5 tis buněk byla "porce", kvůli které se musí vypínat automatický přepočet slyším poprvé.

Pokud připustím, že to tak je, tak by nefungovaly ani zmiňované kontrolní vzorce.

Spíše tipuji na nekompatibilitu mezi LO a AOO. Nastavení přepočtu je vlastností sešitu a balíky si možná nerozumí.

Vysvětlit uvedené chování bez sešitu nedovedu.


Pozn. Automatický přepočet se v některých případech skutečně vypíná. Přesné nastavení v jednotlivých balících si nepamatuji, ale neřídí se počtem buněk, ale počtem závislostí a limity se pohybují řádově v miliardách.

#17 Re: Calc » Hledání narozenin podle aktuálního data - VYŘEŠENO » 29. 1. 2019 00:02:08

lp.

Na aoo to chodí, jen ten vzorec by měl být jiný:
=IF((DATE(YEAR($G$1); MONTH($B$1:$B$100);DAY($B$1:$B$100))>=$G$1) * (DATE(YEAR($H$1); MONTH($B$1:$B$100);DAY($B$1:$B$100))<=$H$1);$A$1:$A$100;0)

Původní vzorec kontroluje, jestli jsou data v intervalu (zbytečné, lze snadno filtrovat).

#18 Re: Calc » Pracovní dny - VYŘEŠENO » 10. 1. 2019 13:00:17

lp.

V a4 poslední den předchozího mesíce, třeba 31.12.2018
V b2:b5 mám svátky
dám do a5 =workday(a4;1;$b$2:$b$5)
pak kopíruji dolů
Vypíšou se mi pracovní dny (vč. svátků pokud je zadám)

Pokud svátky nepotřebuji tak  stačí
=workday(a4;1)

#19 Re: Calc » Datum - format » 24. 11. 2018 18:28:12

lp.

@neutr

Ten poslední příspěvek jsem nepobral. Pochopil jsem, že při kopírování vzorců může vzniknout chyba a že se jí dá zabránit převodem výsledku vzorce na text.

To je jistě pravda, ovšem sešit, kde jsou všechny vzorce převedeny na text (aby nemohla vzniknout chyba) se sice občas používá, ale obvykle se taková péče nesetká s velkým porozuměním.

#20 Re: Calc » Podmíněné formátování mezi LibreOffice a Excel » 5. 9. 2018 22:03:52

lp.
Superbobo75 napsal(a)

, ale pokud je několik podmínek pro stejné buňky, tak to nepomůže, protože jsou situace, kdy již není požadováno pokračovat dál v podmíněných formátech a to se pořadím nevyřeší. Ono je pěkné, že právě LibreOffice to má automaticky na základě logiky, že některá podmíněná formátování patří pro stejné buňky a je nežádoucí po splnění podmínky pokračovat na další, která by tu předchozí přebila.

V Excelu se jednotlivé podmíněné formáty nepřepisují, ale doplňují. Tj. pokud jeden podmíněný formát naformátuje buňku, tak další formát, kde je podmínka splněna, předchozí změny nepřebarví, ale nafomátuje dosud "volné" prvky. Tj. při změně pořadí jednotlivých podmínek se může vzhled tabulky změnit.

Calc nastaví styl a hotovo. Nedomnívám se, že interpretace dat tak, aby při rozdílném fungování dvou programů oba programy zobrazovaly data korektně, je snadno řešitelná. Musí pomoci autor sešitu.

Pokud má podmíněný formát fungovat přenositelně je nezbytné psát podmíněný formát z hlediska calcu, tj. podmínka musí být pro každý formát jedinečná = nemělo by se uplatňovat pro jednu buňku více podmínek. Použité styly by měly obsahovat jen prvky, které se mohou uplatnit v podmíněném formátu v excelu. Potom na poředí nezáleží a zastavování vyhodnocení není nezbytné.

Calc by měl umět takový formát vkládat korektně do souboru. To by řešitelné být mohlo, i když konverze stylu do popisu fomátování nepovažuji za triviální.


ps. Podmíněné formáty v Excelu 2007 obsahovaly dlouhou řadu chyb.

#21 Re: Chyba v programu » Chybný výsledek funkce int() v makru pro vypočtený argument 1,731 » 12. 8. 2018 01:03:50

lp.

Číslo 1,731 je binárně (typ double) uloženo jako 1.73099994659423828125, chyba vzniklá uložením a převodem je -5.340576171875E-8

Print zaokrouhluje. Nepamatuji se ale, kde jsem to viděl popsané, v dokumentaci LO určitě ne - nehledal jsem to tam, špatně se v ní hledá.

K přesnosti: lze použít Format(Cislo, "0.#####################") nebo, pokud se chcete podívat jen na chybu
Cislo = 1,731 * 1000 - 1731

Jinak souhlasím s Vámi, že je chybou, pokud ladící nástroje neukáží skutečnou hodnotu proměnné.

#22 Re: Chyba v programu » Chybný výsledek funkce int() v makru pro vypočtený argument 1,731 » 10. 8. 2018 18:09:42

lp.
mrmr9 napsal(a)

[Kolik je podle vás 1,731 x 1000 ? Podle mě to je 1731 a nikoliv 1730,99999999999999999999......
Tady není přece co zaokrouhlovat.

Asi se budete muset smířit s tím, že zadaná čísla program neukládá přesně tak, jak byla zadána, ale převede je na jejich přibližnou hodnotu. S těmito přibližnými hodnotami pak provádí výpočty v plovoucí čárce. To také není matematicky úplně přesná operace.

Prostě, používat INT pro zaokrouhlování není dobrý nápad.

#23 Re: Chyba v programu » Chybný výsledek funkce int() v makru pro vypočtený argument 1,731 » 10. 8. 2018 17:58:02

lp.

Možná by bylo vhodné se seznámit se způsobem, jak jsou v počítači uložena čísla s pohyblivou desetinnou čárkou. Např.:

https://cs.wikipedia.org/wiki/Pohybliv% … D%C3%A1rka

Jak to v programu obejít jsem už napsal.

#24 Re: Chyba v programu » Chybný výsledek funkce int() v makru pro vypočtený argument 1,731 » 10. 8. 2018 11:25:39

lp.

O žádnou chybu se nejedná. Je to vlastnost.

INT zaokrouhluje dolů na nejbližší celé číslo.

Použijte např. Int(cislo*1000 + 1e-13) nebo normálně zaokrouhlujte

#25 Re: Calc » Podmíněné formátování mezi LibreOffice a Excel » 9. 8. 2018 10:56:32

lp.

Předávání stejného souboru mezi LO a v Excelem je možné, ale jen omezeně. Calc není s excelem kompatibilní ani v chování funkcí, tak nekompatibilita na úrovni podmíněných formátů je drobnost. Na druhé straně, vyrobit kompatibilní verzi podmíněných formátů je docela fuška. I mikrosoft s tím má problém.

Řešením může být přepsání podmínek tak, aby formátování v excelu nebylo na pořadí závislé (stejně je tam chyba, za určitých pomínek se pořadí může změnit), více pod formátů znamenitě zpomaluje výpočet a při více podmínkách a několika opravách (ctrl c/v) se v tom za chvíli nevyzná ani autor.

Ohledně první poznámky. Pokud mám podmínku "něco" = true - nechápu, proč je tento zápis tak oblíbený - mohu ji zapsat jen jako "něco", obdobně "něco" = false přepíšu jako NOT("něco").

Pokud mám problém Calc : "něco" = 0, Excel : "něco" = NEPRAVDA a předchozí náměty z nejakého důvodu nelze použít, je stále dost možností, třeba 1*("něco") = 0, ...

Zápatí

Používáme FluxBB