Excel, gewerkte uren berekenen per medewerker

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Mystikal
  • Registratie: Januari 2001
  • Laatst online: 16:32

Mystikal

It never hurts to help!

Topicstarter
Ik heb onderstaande file uit ons eenvoudig kloksysteem en zou graag willen weten of het mogelijk is om hier per medewerker per dag de gewerkte uren uit te krijgen.

Waar ik tegenaan loop is dat er geen kolom is voor in- of uitklokken. Alleen een begin en eind-tijd waar je het verschil tussen moet berekenen. Ik zou graag zien dat middels een formule per dag per medewerker dit naar boven komt. Zodat ik vervolgens die data in een pivot kan zetten.

Iemand suggesties?

code:
1
2
3
4
5
6
7
8
9
DATE    TIME    NAME                     LOCATION           EVENT                  TAGCODE  DESCRIPTION
05-11-18    07:03:40    Schoonmaakster       Achterdeur (Entry) Allowed Normal In   4572998632  
05-11-18    07:15:51    Schoonmaakster       Achterdeur (Entry) Allowed Normal In   4573000028  
05-11-18    07:25:55    Schoonmaakster       Achterdeur (Entry) Allowed Normal In   4572986173  
05-11-18    07:26:15    Schoonmaakster       Achterdeur (Entry) Allowed Normal In   4572977351  
05-11-18    14:38:14    Schoonmaakster       Achterdeur (Entry) Allowed Normal In   4572974495  
05-11-18    15:21:56    Schoonmaakster       Achterdeur (Entry) Allowed Normal In   4597292953  
05-11-18    15:43:43    Schoonmaakster       Achterdeur (Entry) Allowed Normal In   4573007137  
05-11-18    16:29:10    Schoonmaakster       Voordeur (Entry)   Allowed Normal In   4597263985

Basement Bios ---- Exo-S

Alle reacties


Acties:
  • 0 Henk 'm!

  • Dobey
  • Registratie: Mei 2005
  • Laatst online: 09-05 15:37
Volgens mij kan je het af met het volgende: B9-B2 ... Excel weet dat er uren staan. Dit zou je het resultaat: 9:25:30 moeten geven, als ik het goed heb.

Acties:
  • 0 Henk 'm!

  • Zarathustra
  • Registratie: Januari 2008
  • Laatst online: 28-04-2020
Dat gaat lastig worden in Excel. In ieder geval om het robust te krijgen. Als het niet mogelijk is om de ene dag in te klokken en de volgende dag uit te klokken en het niet mogelijk is twee keer in en uit te klokken op één dag:

Aparte sheet, rijen zijn datums (alle dagen van een jaar), kolommen voor iedere medewerker met laagste en hoogste datum en tijd voor die medewerker op die dag.

Anders zou een script een handigere oplossing zijn. Die kan met wat regels bepalen wat begin / eind is en of er vergeten is in- of uit te klokken.

Veni, vidi, vici - ik kwam, zag en overwon de drempels van het leven - denk ik dan maar, en vond vriendschap


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Met VBA kan "alles". Maar je bedoelt vast zonder.

Hoe zeker ben je dat het steeds in uit in uit in uit is. Is er precies een even aantal entries? Anders gaat het niet werken.

Dan inderdaad 'gewoon' in een hulpkolom:
regel 2: (leeg)
regel 3: B3 - B2
regel 4: (leeg)
regel 5: B5 - B4

En dan naar beneden kopiëren. Vervolgens optellen per dag. Naar wens en detailopzet controles inbouwen zoals oneven aantallen metingen, overlap met vorige/volgende dag, etc. Zodra iemand ooit is vergeten te klokken, of er iemand voor en na middernacht werkt, kan je anders niets met de data.

Of: wil je alleen de tijd tussen 16:29:10 en 07:03:40 kennen?

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Zarathustra
  • Registratie: Januari 2008
  • Laatst online: 28-04-2020
Volgorde van de regels zal willekeurig zijn neem ik aan. Met wat creatief gebruik van if en vlookup zou je nog de eerst volgende regel binnen dezelfde dag voor een tag kunnen vinden (als die er is is het overigen een ‘check in’, zo niet dan een ‘check out’ - onder dezelfde aannames die ik en F_J_K noemen)

Veni, vidi, vici - ik kwam, zag en overwon de drempels van het leven - denk ik dan maar, en vond vriendschap


Acties:
  • 0 Henk 'm!

  • Mystikal
  • Registratie: Januari 2001
  • Laatst online: 16:32

Mystikal

It never hurts to help!

Topicstarter
Volgorde is inderdaad willekeurig en wil graag zonder VBA.

Wat Willemjoosten zegt lijkt me inderdaad mogelijk, maar hoe dan.
J_F_K klopt, maar de volgorde is willekeurig en kun je dus niet simpelweg B3 - B2 doen, aangezien de volgorde elke keer anders is.

Uiteindelijk wil ik graag weten hoeveel uren de medewerkers aanwezig zijn, wat altijd tussen 06:00 en 20:00 zal zijn. Vergeet iemand in te klokken krijg ik vreemde waardes en dat is voor mij al genoeg. Helemaal dichtspijkeren hoeft niet, het aantal medewerkers is niet zo groot.

Basement Bios ---- Exo-S


Acties:
  • +1 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Mystikal schreef op maandag 12 november 2018 @ 14:43:
Volgorde is inderdaad willekeurig en wil graag zonder VBA.

Wat Willemjoosten zegt lijkt me inderdaad mogelijk, maar hoe dan.
J_F_K klopt, maar de volgorde is willekeurig en kun je dus niet simpelweg B3 - B2 doen, aangezien de volgorde elke keer anders is.
Hoe is de volgorde anders? Sorteer op tijd en je hebt altijd eerst in dan uit. Behalve als er een keer niet is geklokt. Of mis ik iets?

Reden om het tijdschrijfsysteem wat te gaan tweaken zodat in van uit is te scheiden?

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Zarathustra
  • Registratie: Januari 2008
  • Laatst online: 28-04-2020
Met die voorwaarden is het eenvoudiger :)

Sorteren op tag / medewerker en dan datum tijd. Je kunt dan de waarde van de datum vergelijken met die van de vorige rij. Is die gelijk dan is het een checkout en bereken je het verschil in tijd. Et voila je hebt het aantal gewerkte uren. (Als de datum op de vorige regel anders is doe je niets)

Ter controle moet je je nog de tag controleren.

(Wat veel edits :D Zat even te suffen. Bovenstaande klopt)

[ Voor 57% gewijzigd door Zarathustra op 12-11-2018 16:17 ]

Veni, vidi, vici - ik kwam, zag en overwon de drempels van het leven - denk ik dan maar, en vond vriendschap


Acties:
  • 0 Henk 'm!

  • Mystikal
  • Registratie: Januari 2001
  • Laatst online: 16:32

Mystikal

It never hurts to help!

Topicstarter
Ah, dat is wellicht de oplossing. Ik zal eens gaan experimenteren!

Basement Bios ---- Exo-S


Acties:
  • 0 Henk 'm!

  • Zarathustra
  • Registratie: Januari 2008
  • Laatst online: 28-04-2020
Mystikal schreef op maandag 12 november 2018 @ 16:15:
Ah, dat is wellicht de oplossing. Ik zal eens gaan experimenteren!
In de basis is het een oplossing. Aleen krijg je voor vergeten checkins én checkouts géén uren (dus geen rare waarden, maar gewoon niets) Je kunt een extra check doen door de datum + tag in een kolom te zetten (iets als '05122018-45789123' - met voorloopnul dus) en te controleren of die altijd twee keer voorkomt.

Veni, vidi, vici - ik kwam, zag en overwon de drempels van het leven - denk ik dan maar, en vond vriendschap


Acties:
  • 0 Henk 'm!

  • Mystikal
  • Registratie: Januari 2001
  • Laatst online: 16:32

Mystikal

It never hurts to help!

Topicstarter
Cell G: =IF((B3-B2)<0,"",B3-B2)

Dit in combinatie met een pivot geeft genoeg duidelijkheid. Als er een dag te weinig tussen staat, moet er een reden voor zijn (ziek, vakantie, vergeten in of uit te klokken). D

Basement Bios ---- Exo-S


Acties:
  • +1 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Er staat me vaag iets bij van topic over koeien die een stal in en uit lopen. Dat lijkt hier wel op. Hoe moet dit in Excel?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1