Hei, siis mulla on koodi joka laske ajat iltalisää 18-22 ja yölisää 22-06 mutta ongelma on se että joskus on taukoja tossa välissä, tarvisin lisää koodi joka laskisi pois merkattu tauko ja sen jälkeen loput lisäät
Eli esim.
C4 Työ alkaa 13:30
D4 Tauko alkaa 17:30
E4 Tauko loppu 18:30
F4 Työ loppu 22:00
G4 Tunnit yht. 7:30t
E7 Koodi =IF(C4<F4;IF(F4>TIME(18;0;0);MIN(F4;TIME(22;0;0)) - MAX(C4;TIME(18;0;0));0);IF(C4<TIME(22;0;0);TIME(22;0;0) - MAX(C4;TIME(18;0;0));0) IF(F4>TIME(18;0;0);MIN(F4;TIME(22;0;0)) - TIME(18;0;0);0))
E7 TULOS 4:00t iltalisää eli se laski 18:00 - 22:00 mutta se ei ole oikein koska siinä välissä oli palkaton tauko, eli todellinen iltalisää on 3:30, miten saisin MINUS TAUKO tohon koodin?
Toinen juttu on yölisää, eli tähän myöskin sen tauko pois jos osuu olemaan 22-06 välissä, sitten kun laittan työn loppuaika 2:39 (ei 26:39 muoto) niin antaa negatiivisen luvun G4, mutta jos laittaa 26:39 niin tulos tule oikein G4 mut sitten E7 laske vaan 24:00 asti joka teke vain 2:00t
Eli esim.
C4 Työ alkaa 15:25
D4 Tauko alkaa 20:46
E4 Tauko loppu 21:37
F4 Työ loppu 26:39 (2:39)
G4 Tunnit yht. 10:13t
E7 Koodi =IF(C4<F4;IF(F4>TIME(22;0;0);MIN(F4;(TIME(23;59;59) TIME(0;0;1))) - MAX(C4;TIME(22;0;0));0);IF(C4<(TIME(23;59;59) TIME(0;0;1));(TIME(23;59;59) TIME(0;0;1)) - MAX(C4;TIME(22;0;0));0)
IF(F4>TIME(22;0;0);MIN(F4;(TIME(23;59;59) TIME(0;0;1))) - TIME(22;0;0);0))
IF(C4<F4;IF(AND(C4<=TIME(6;0;0);F4>TIME(0;0;0));MIN(F4;TIME(6;0;0)) - MAX(C4;TIME(0;0;0));0);IF(C4<TIME(6;0;0);TIME(6;0;0) - MAX(C4;TIME(0;0;0));0)
IF(F4>TIME(0;0;0);MIN(F4;TIME(6;0;0)) - TIME(0;0;0);0))
E7 TULOS 2:00t eli koodi laski yölisää vain 24:00 asti mutta jos vaihtan F4 ja kirjoitan 2:39 (ei 26:39) sitten E7 muutu oikein luvun eli 4:39 yölisää tunnit MUTTA G4 muutu -13:37. Mut siis ainakin tärkein on jos saisin ne tauot pois samassa koodissa niin se riittää tähän =(
Voisko joku auttaa pls =(?
Eli esim.
C4 Työ alkaa 13:30
D4 Tauko alkaa 17:30
E4 Tauko loppu 18:30
F4 Työ loppu 22:00
G4 Tunnit yht. 7:30t
E7 Koodi =IF(C4<F4;IF(F4>TIME(18;0;0);MIN(F4;TIME(22;0;0)) - MAX(C4;TIME(18;0;0));0);IF(C4<TIME(22;0;0);TIME(22;0;0) - MAX(C4;TIME(18;0;0));0) IF(F4>TIME(18;0;0);MIN(F4;TIME(22;0;0)) - TIME(18;0;0);0))
E7 TULOS 4:00t iltalisää eli se laski 18:00 - 22:00 mutta se ei ole oikein koska siinä välissä oli palkaton tauko, eli todellinen iltalisää on 3:30, miten saisin MINUS TAUKO tohon koodin?
Toinen juttu on yölisää, eli tähän myöskin sen tauko pois jos osuu olemaan 22-06 välissä, sitten kun laittan työn loppuaika 2:39 (ei 26:39 muoto) niin antaa negatiivisen luvun G4, mutta jos laittaa 26:39 niin tulos tule oikein G4 mut sitten E7 laske vaan 24:00 asti joka teke vain 2:00t
Eli esim.
C4 Työ alkaa 15:25
D4 Tauko alkaa 20:46
E4 Tauko loppu 21:37
F4 Työ loppu 26:39 (2:39)
G4 Tunnit yht. 10:13t
E7 Koodi =IF(C4<F4;IF(F4>TIME(22;0;0);MIN(F4;(TIME(23;59;59) TIME(0;0;1))) - MAX(C4;TIME(22;0;0));0);IF(C4<(TIME(23;59;59) TIME(0;0;1));(TIME(23;59;59) TIME(0;0;1)) - MAX(C4;TIME(22;0;0));0)
IF(F4>TIME(22;0;0);MIN(F4;(TIME(23;59;59) TIME(0;0;1))) - TIME(22;0;0);0))
IF(C4<F4;IF(AND(C4<=TIME(6;0;0);F4>TIME(0;0;0));MIN(F4;TIME(6;0;0)) - MAX(C4;TIME(0;0;0));0);IF(C4<TIME(6;0;0);TIME(6;0;0) - MAX(C4;TIME(0;0;0));0)
IF(F4>TIME(0;0;0);MIN(F4;TIME(6;0;0)) - TIME(0;0;0);0))
E7 TULOS 2:00t eli koodi laski yölisää vain 24:00 asti mutta jos vaihtan F4 ja kirjoitan 2:39 (ei 26:39) sitten E7 muutu oikein luvun eli 4:39 yölisää tunnit MUTTA G4 muutu -13:37. Mut siis ainakin tärkein on jos saisin ne tauot pois samassa koodissa niin se riittää tähän =(
Voisko joku auttaa pls =(?
Vastaukset 5
Vanhimmat
Pyörää on turha keksiä uudestaan, open source maailma tarjoaa vaikka mitä, esim:
http://www.kimai.org/
Lisää googlamalla: open source working time control
kiitti vaan tästä mutta mun taulukko on jo melkein valmis kunhan vaan saisin noi tauot pois niin siinä se sitten ois
Eikö niitä taukoja saa vähennyslaskulla pois?
voi toki mutta koodilla ois tarkoitus että jos esim. työalkaa 15:30 ja loppu 22:00 tauko tässä välissä ois 17:30 - 18:30 eli koodi joka mulla on laske iltalisää 18:00-22:00 joka teke 4t mutta se ei ole oikein koska palkaton tauko loppu 18:30, eli oikean iltalisää on 3:30t, eli tähän tarvin sen vähennys lisää koodi joka erotaisi jos kello mene yli 18:00 ettei se laskis siitä.
Sitten pitää vaan jossitella. Tarkoitan tässä alempana vuoroilla niitä ajanjaksoja joilla maksetaan lisää tai ei. Iltalisätunnit siis klo 18:00 jälkeen tehdyistä.
Jos tauko loppuu aamuvuoron puolella -> vähennetään tauko aamuvuorotunneista
Jos tauko alkaa iltavuoron puolella -> vähennetään tauko iltavuorotunneista
Muussa tapauksessa vähennetään aamuvuorotunneista (18:00 - tauon alkamisaika) ja iltavuorotuonneista tauon loppumisaika.
Eli tuossa mainitsemassasi tapauksessa menisi menisi kolmosvaihtoehdolla:
Aamutunnit: 18:00-15:30-(18:00-17:30) = 2:30-0:30 = 2:00
Iltatunnit: 22:00-18:30 = 3:30