Ik heb een poging gedaan.
Bekijk bijlage Voorbeeld HM1kopie.xls
Ik heb een zelfgeschreven formule toegevoegd die ik ooit met behulp van dit forum heb weten te maken.
Ik heb meerdere regels toegevoegd
Iedere regel gaat steeds iets beter
1e regel is als het op dezelde dag is
Bij de 2e regel zie je dat dit fout gaat omdat hij hier het verschil niet ziet tussen dagen
3e regel is er een test toegevoegd als dagen hetzelfde zijn kan gewoon formule uit 2e regel gebruikt worden anders word het 8:30 als starttijd gegeven. Deze 2 opgeteld zorgt dus voor de uren de 1e en laatste dag. Wat bij 2 dagen dus goed is.
4e rij is een als formule toegevoegd voor als het meerdere dagen zijn.
5e regel is ook toegevoegd dat ie dan gewoon moet toevoegen (aantal dagen (excl 1e en laatste dag) * (17:00-8:30)
De uitkomst hiervan is in tijd/datum formaat wat dus niet hoger kan dan 24 uur kan zijn
dus in de kolom ernaast (kolom I)doet hij
Code:
=UUR(H3)+DAG(H3)*24+MINUUT(H3)/60
wat er gewoon cijfers van maakt
In kolom J heb ik de 2 samengevoegd wat lijkt op een gigantische formule maar wat eigenlijk niks meer is dan de formule uit kolom H 3x invullen op de plekken van H3
Code:
=UUR(ALS(DAG(D3)=DAG(C3);PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden);ALS(DAG(D3)-DAG(C3)=1;PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+PauzeOfWerkPerDag(Starttijd;TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden);PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+PauzeOfWerkPerDag(Starttijd;TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+(DAG(D3)-DAG(C3)-1)*(Eindtijd-Starttijd))))+DAG(ALS(DAG(D3)=DAG(C3);PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden);ALS(DAG(D3)-DAG(C3)=1;PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+PauzeOfWerkPerDag(Starttijd;TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden);PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+PauzeOfWerkPerDag(Starttijd;TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+(DAG(D3)-DAG(C3)-1)*(Eindtijd-Starttijd))))*24+MINUUT(ALS(DAG(D3)=DAG(C3);PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden);ALS(DAG(D3)-DAG(C3)=1;PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+PauzeOfWerkPerDag(Starttijd;TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden);PauzeOfWerkPerDag(TIJD(UUR(C3);MINUUT(C3);SECONDE(C3));TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+PauzeOfWerkPerDag(Starttijd;TIJD(UUR(D3);MINUUT(D3);SECONDE(D3));Werktijden)+(DAG(D3)-DAG(C3)-1)*(Eindtijd-Starttijd))))/60
Je moet zelf even goed testen of het in alle gevallen klopt en goed gaat
Ik hoop dat je er iets van kunt maken
Groeten Roel