• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Formule gewerkte uren berekenen

Status
Niet open voor verdere reacties.

Martin87

Gebruiker
Lid geworden
9 dec 2014
Berichten
14
Hallo,

Ik ben op zoek naar een formule waarmee ik per uur van de dag kan berekenen hoeveel manuur besteed is. Ik wil bijvoorbeeld weten hoeveel Pietje heeft gewerkt 08:00-09:00. Als hij 8 uur is begonnen en geen pauze heeft gehad is de uitkomst 1 (of 60 min). Als hij is begonnen om 08:25 dan is de uitkomst 0,58 uur (of 35 min). Heeft Pietje van 08:15-08:30 pauze gehad dan is de uitkomst 0,75 uur (45 min).

In het voorbeeld heb ik het format dat ik gebruik vereenvoudigd tot 1 regel. In mijn eigen bestand staan honderden regels, dus vandaar dat ik een formule nodig heb. Met een geneste als formule kom ik er niet uit (20 x als :shocked:). In het voorbeeld bestand heb ik de gewenste uitkomsten voor deze regel al weergegeven zodat de bedoeling wat duidelijker is.Bekijk bijlage Test gewerkte uren.xlsx

Hoop dat iemand hier een oplossing voor weet!

Alvast bedankt.

Groeten,
Martin
 
Is het voor jou belangrijk om per uur te laten zien hoeveel uur hij gewerkt heeft? Of is alleen het totaal belangrijk.
 
Laatst bewerkt:
Roeland: je kan met een SOM.ALS ook alle einddtijden bij elkaar optellen, alle begintijden ervan aftrekken en dan heb je ook de totale gewerkte uren per dag. Kun je al die optelkolommen erachter weg halen.

Maar: in het voorbeeldbestand is alles opgemaakt als tekst. Werkt nogal complicerend!
 
Laatst bewerkt:
Voorbeeldbestand is alles tekst. Maakt het niet gemakkelijker!

Roeland: je kan met een SOM.ALS ook alle einddtijden bij elkaar optellen, alle begintijden ervan aftrekken en dan heb je ook de totale gewerkte uren per dag. Kun je al die optelkolommen erachter weg halen.

Ik probeerde met SOM.ALS te werken inderdaad, maar hij wou de uren maar niet herkennen met bijvoorbeeld "08:*". Daarnaast geldt hetzelfde ook voor "UIT" of "IN". Door de tijd notatie werd ik een beetje tureluurs.
 
Laatst bewerkt:
Werd net zo tureluurs als jij denk ik: irritante tekst... grr.

Hierbij voor Martin87 nog voorbeeld hoe het ook zou kunnen, mocht te regelen zijn hoe de uitvoer van de urenregistratie naar excel gaat: Bekijk bijlage Test gewerkte uren AXC.xlsx
 
Heb de oplossing als het goed is gevonden.

Echter wel voor het totaal alleen.

Zie bijlage:
Bekijk bijlage 238053

Is het voor jou belangrijk om per uur te laten zien hoeveel uur hij gewerkt heeft? Of is alleen het totaal belangrijk.


Roeland,

Bedankt voor je reactie, maar ik heb juist specifiek per tijdseenheid van een uur de manuren nodig. Ik wil efficiency berekeningen maken per uur van de dag om aan te tonen dat er op bepaalde uren relatief veel meer manuren zijn dan output. Helaas kan ons urenregistratiesysteem een dergelijk rapport niet maken. De totalen kan ik wel gewoon uit ons systeem halen en heb ik dus geen excel voor nodig.

Nog andere suggesties???
 
zie grijze cellen met eenvoudig vba formuletje:

Toch nog een dingetje Sylvester... Als ik andere tijden in het bereik plak waarbij er ook lege cellen zijn aan het eind (omdat bijvoorbeeld geen pauze gehouden is, dan heb je maar twee tijden met daarachter een rij lege cellen), krijg ik een foutmelding met de vba formule. Kan je dit nog fixen?? Ik heb honderden regels waarbij er ook vaak lege cellen tussen staan namelijk. Dat zou ik geweldig vinden!!:d
 
Kan je dat even in een voorbeeldje laten zien? Het lukt mij niet om de 'error' te reproduceren.

Edit,

sylvester-ponte, zelfde gedachte maar moest natuurlijk jouw bestandje even bekijken.
 
Laatst bewerkt:
Kan je dat even in een voorbeeldje laten zien? Het lukt mij niet om de 'error' te reproduceren.

Edit,

sylvester-ponte, zelfde gedachte maar moest natuurlijk jouw bestandje even bekijken.

stuur een voorbeeldje met je probleem

Bijgaand mijn voorbeeldje, ik zie dat één regel het wel doet, maar de overige regels niet. De tijden zijn opgemaakt als tekst. Hoop dat het lukt. Bekijk bijlage Test gewerkte uren met eenvoudig vba formuletje.xlsm
 
Jouw lege cellen zijn niet echt leeg. Selecteer bv Q8 t/ Z8 en druk op delete.
 
ik houd er niet zo van maar dan toch maar:
vervang de bestaande function door deze:
Code:
Function GewerkteUren(Van As Date, Tot As Date, InsAndOuts As Range) As Date
    Dim N As Integer
    With WorksheetFunction
        On Error Resume Next
        For N = 1 To InsAndOuts.Count Step 2
            GewerkteUren = GewerkteUren + .Max(0, .Min(Tot, CDate(InsAndOuts(1, N + 1))) - .Max(Van, CDate(InsAndOuts(1, N))))
        Next N
        On Error GoTo -1
    End With
End Function
het zit in de error afhandeling.

het is natuurlijk mooier als de lege cellen ook echt leeg zijn.
 
Zonder error afhandeling werkt deze volgens mij ook.

Code:
Function GewerkteUren(Van As Date, Tot As Date, InsAndOuts As Range) As Date
For N = 1 To InsAndOuts.Count Step 2
    With Application
        If Len(InsAndOuts(1, N)) > 0 Then GewerkteUren = GewerkteUren + .Max(0, .Min(Tot, CDate(InsAndOuts(1, N + 1))) - .Max(Van, CDate(InsAndOuts(1, N))))
    End With
Next N
End Function
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan