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

#1 7. 9. 2009 09:15:52

Tomatom
Člen
Registrace: 18. 3. 2008
Příspěvků: 10

Sčítaní času

Jak scitat casy v dochazce

prvni sloupecek prichod 6:30 druhy odchod 15:00 treti sloupecek vysledek
aby to nebylo tak jednoduche tak jeste podminka pokud jsem v praci dele jak 6hodin (12h) tak aby se odecetla 0,5hodiny (1h) na prestavku

takze 6:30-15:00=8
      6:30-15:30=8,5
      6:30-20:30=13           

kdysi jsem to tu uz nasel ale ted to nemuzu najit

Offline

#2 7. 9. 2009 11:29:45

Ondra.kl
Člen
Registrace: 30. 9. 2008
Příspěvků: 933

Re: Sčítaní času

1. odečítání proveďte v hodinových formátech "hh:mm"
2. pomocí funkce HOUR() případně MINUTE() + mat. úprav si přepočtěte hodiny do dekadického formátu
3. vyhodnoťte výsledek v podmínce a náležitě jej upravte

Doporučuju si nejprve jednotlivé kroky udělat v samostatných buňkách a až po ověření funkčnosti to všechno splácat do jednoho vzorce.

Offline

#3 7. 9. 2009 11:37:22

Tomatom
Člen
Registrace: 18. 3. 2008
Příspěvků: 10

Re: Sčítaní času

Nejsem vtom nejak moc zdatny tak jestli ty podminky odecitani prestavek nebylo mozno napsat nejakej vzorovej priklad....

a neni jeste nejakej jinej postup sem kdysi nasel neco co bylo trosku slozitejsi ale vysledek byl mnohem lepsi ale uz jsem to nekde stratil a nemuzu to nikde najit

Offline

#4 7. 9. 2009 22:03:21

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Sčítaní času

Už se to tu ve fóru probíralo několikrát - Calc ukládá čas (a datum) do buněk jako číslo ve dnech od určitého počátečního dne. Takže když od sebe dva časy odečtete, výsledkem je číslo ve dnech a s tím se taky musí počítat ve vzorcích, pokud nepoužijete zmíněné funkce pro převod na hodiny a minuty. Můžete si stáhnout příklad:
http://ooo.e-hanus.cz/cas.ods
Do sloupce A se zadává příchod, do sl.B odchod. Ve sl. C je prostý rozdíl B-A. Jakmile mají všecny tři buňky formát času HH:MM, tak se nemusí nic přepočítávat, není co řešit. Problém trošku nastává s tou podmínkou, že pokud je rozdíl časů větší než 6 resp. 12 hodin, odečte se půl resp. hodina. To dělá sloupeček D pomocí vzorce
=IF(C2>12/24;C2-1/24;IF(C2>6/24;C2-1/48;C2))

vysvětlení:
jak jsem říkal, datum/čas v buňkách je číslo ve dnech, takže 12/24 je 12 hodin, 1/24 je jedna hodina, 6/24 je 6 hodin, 1/48 je půl hodiny; popis vzorce je tedy:
když je rozdíl víc než 12 hodin, odečti od rozdílu 1 hodinu; jinak když je rozdíl víc než 6 hodin, odečti půl hodiny; jinak nech původní rozdíl.

Tento přístup pomocí podmínek má nevýhodu v tom, že musíte ošetřit všechny typy rozdílů. Matematicky obecnější je použít vzorec
=C2-TRUNC((C2-1/(24*60))/(6/24))*(1/48)
který za každých ukončených 6h odečte půlhodinu. To zmenšení C2 o 1/(24*60) tedy o 1 minutu je tam proto, aby při rozdílu rovných 6:00 hodin se ta půlhodina ještě neodečetla, ale až při rozdílu 6:01 - koukám, že někdy není dobré zůstat v práci ani o minutu déle :-)
Tohle je ale asi jen teoreticky lepší řešení, nevím, jak je to v praxi dle zákoníku práce :-)

Editoval hanus (7. 9. 2009 22:09:59)

Offline

#5 8. 9. 2009 09:00:54

Tomatom
Člen
Registrace: 18. 3. 2008
Příspěvků: 10

Re: Sčítaní času

jj supr uz to slape nakonec sem to zbastlil takto

=((E7-D7)-TRUNC(((E7-D7)-1/(24*60))/(6/24))*(1/48))*24

Slopecek E odchod, Slopecek D prichod...
Protoze chci aby mi to psalo vysledek v cislech a ne v case tak sem musel cely vysledek nasobit 24 tedy vysledek je 8,0 8,5 atd. to je ta posledni 24

Ale ted jeste resim problem kdyz tam mam ten vzorecek tak mi to hned vypocita 0,0 (v bunkach E a D nemam zadny cas jsou prazdne) tak jak udelat kdyz je vysledek mensi jak 0,5 aby to nechalo prazdny chlivek???

Editoval Tomatom (8. 9. 2009 09:02:59)

Offline

#6 8. 9. 2009 09:23:42

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Sčítaní času

1) celé se to dá zabalit do =IF(AND(ISNUMBER(D7);ISNUMBER(E7));výpočet;"") takže když v D7 a E7 nebou oba časy, dá to do buňky prázdný řetězec.

2) přidat ještě další podmínku, když je výsledek menší než 1/48, tak vrať ""

Je potřeba napsat celý vzorec, nebo už zvládnete?

Editoval hanus (8. 9. 2009 09:25:39)

Offline

#7 8. 9. 2009 13:20:22

Tomatom
Člen
Registrace: 18. 3. 2008
Příspěvků: 10

Re: Sčítaní času

Tak se mi to nahodou podarilo

velice dekuji za pomoc

vysledek

=IF(AND(ISNUMBER(D7);ISNUMBER(E7));(((E7-D7)-TRUNC(((E7-D7)-1/(24*60))/(6/24))*(1/48))*24);"")

vypocet odpracovane doby prichod D, odchod E

odecet prestavek po odpracovani 6hodin (12h) tedy kdyz odpracujete 6,5 odecte to 0,5hodiny (1h) pri 6h to neodecte nic az pri 6,5h ....

podminka pokud neni prichod odchod je vysledna bunka prazdna

k dokonalosti uz jen chybi nocni smena kdy prichod je 22:00-06:00 ....

Editoval Tomatom (8. 9. 2009 13:46:20)

Offline

#8 8. 9. 2009 19:33:24

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Sčítaní času

K dokonalosti s tou noční směnou to už dotáhnete sám, nebo můžeme ještě nějak poradit?

Offline

#9 9. 9. 2009 05:42:18

Tomatom
Člen
Registrace: 18. 3. 2008
Příspěvků: 10

Re: Sčítaní času

No ja v excelu OO vubec nedelam jen vyplnuji tabulky :-D  nejake podminky jsou mi uplne spanelska vesnice

Tak pokud by jste byl tak hodny a poradil budu jen rad...

Offline

#10 9. 9. 2009 13:32:21

PetrValach
Člen
Registrace: 24. 5. 2007
Příspěvků: 561

Re: Sčítaní času

Račte si stáhnout rozšíření na http://leteckaposta.cz/636519203. Patrně jsem jej nalezl někde na www.openoffice.cz, ale už nevím, kde. Tak to máte na té poště. ;-)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#11 9. 9. 2009 13:48:32

Tomatom
Člen
Registrace: 18. 3. 2008
Příspěvků: 10

Re: Sčítaní času

Bohuzel soubor je jiz smazan a jakeho rozsireni se to tika prosim?

Offline

#12 9. 9. 2009 13:50:04

PetrValach
Člen
Registrace: 24. 5. 2007
Příspěvků: 561

Re: Sčítaní času

Tady to máte: http://www.openoffice.cz/doplnky/sablon … amestnancu. Na letecké bohužel všechno mažou. Je to v podstatě tabulka s evidencí docházky, automatické vyplňování, to, co vy chcete.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#13 9. 9. 2009 19:36:29

hanus
Člen
Místo Olomouc
Registrace: 29. 11. 2006
Příspěvků: 573
Web

Re: Sčítaní času

Do linku se přimotala tečka, je to tedy
http://www.openoffice.cz/doplnky/sablon … amestnancu

Pokud přece jen budete chtít pokračovat dál s vlasními vzorci - jak je to s tou noční směnou? Co tam má být za výjimku? Chtete něco přičíst, nebo odečíst, nebo jako A/N příznak, že to je noční směna?
=IF(AND(HOUR(D7)>=6;HOUR(D7)<22);"denní";"noční")
příchod 5:59 je ještě noční
příchod 6:00 je už denní

příhod 21:59 je ještě denní
příchod 22:00 je už noční

Editoval hanus (9. 9. 2009 19:51:10)

Offline

Zápatí