• 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.

Loting maken werknemers obv eind werktijden

Status
Niet open voor verdere reacties.

dondiego123

Gebruiker
Lid geworden
17 dec 2009
Berichten
6
Graag wil ik een loting maken voor werknemers die op basis van hun eindtijd de eerste mogelijkheid hebben om eerder te stoppen met werken op een werkdag als het rustig is. Vaak geven medewerkers aan dat ze wel eerder willen stoppen op een werkdag, omdat ze nog moeten leren of de volgende dag school hebben. Het kan voorkomen dat het bijvoorbeeld ineens hard gaat regenen, dan zijn er niet genoeg klanten op het terras en hebben we niet zoveel medewerkers in bediening nodig. Medewerkers kunnen zich tot 19.00 uur opgeven om het lijstje te komen en dat wordt er geloot. Iedereen die daarna zich opgeeft, wordt dan onderaan het lijstje geschreven. Mijn leidinggevende heeft mij gevraagd om hier eens wat voor te verzinnen om het eerlijk te houden voor iedereen, maar ik ben nu al 2 dagen aan het ploeteren met voorbeelden e.d. en ik kom er maar niet uit of het werkt gewoonweg niet. Er zijn genoeg lotingen e.d. te vinden voor biljart clubs of voetbaltoernooien e.d., maar helaas niet wat ik graag wil.

Even een uitleg:

De werknemer met de vroegste eindtijd 1:00 uur en 2.00 uur hebben voorrang op de werknemers met de laatste eindtijd 2:45/3:00 en 3:15 uur omdat zij eerder zijn begonnen.

Deze werknemers (met eindtijd 1:00 en 2.00 uur) moeten ook gewoon meeloten, maar op basis van hun eindtijd wel bovenaan de lijst worden geplaatst. Met de medewerkers met de laatste eindtijden 2:45/3:00 en 3:15 uur hoeft onderling geen rekening gehouden te worden en die loten allemaal gelijk mee.

Het zou er (na een eerlijke loting) ongeveer zo uit moeten zien:

Kees 15:00-1:00
Dani 15:00-1:00
Damian 16:00-2:00
Marie 16:00-2:00
Sjaak 16:00-2:00
Susan 20:00-3.15
Diego 20:15-3:15
Jennifer 20:15-3:15
Christiaan 20:00-2:45
Daley 20:00-2:45
Christopher 20:00-3:15
Coen 20:15-3:15

Ik hoop dat er iemand is met super Excel skills die mij wil helpen? Hier zou je mij en mijn collega's ontzettend mee helpen.

Ik heb een voorbeeldje bijgesloten hoe ik denk dat het eruit moet komen te zien.

Gr Diego
 

Bijlagen

wel een probleempje als er voor en na middernacht zou kunnen gestopt worden.
Susan stopt op 3.15 en niet op 3:15, zodat ze voor 3:00 komt in de sortering !!!
Code:
Sub Loting()
   Dim arr()
   Set List = CreateObject("System.Collections.ArrayList")
   a = Range("A3").CurrentRegion                                'uitlezen gegevens
   For i = 2 To UBound(a)                                       '1 voor 1 aflopen
      sp = Split(a(i, 2), "-")                                  'splitsen beginuur en einduur
      If UBound(sp) = 1 Then List.Add Right("0" & sp(1), 5) & "|" & Format(Rnd, "0.0000000") & "|" & a(i, 1) & "|" & a(i, 2)   'einduur & random-getal+naam
   Next
   List.Sort                                                    'gegevens sorteren
   arr0 = List.toarray                                          'uitlezen in array

   ReDim arr(1 To UBound(arr0) + 1, 1 To 2)                     'hulparray dimensioneren
   For i = 0 To UBound(arr0)                                    'alle gegevens aflopen
      sp = Split(arr0(i), "|")                                  'splitsen op "|"
      arr(i + 1, 1) = sp(2): arr(i + 1, 2) = sp(3)
   Next

   With Range("D4")
      .Resize(20, 2).ClearContents
      .Resize(UBound(arr), 2).Value = arr
   End With
End Sub
 

Bijlagen

Laatst bewerkt:
Een optie met Excel 365-formules en een hulpkolom.
Nieuwe loting na drukken op F9.

N.B. automatisch berekenen heb ik uitgezet.
 

Bijlagen

Een optie met Excel 365-formules en een hulpkolom.
Nieuwe loting na drukken op F9.

N.B. automatisch berekenen heb ik uitgezet.

Bedankt voor de feedback en het voorbeeld.

Echter werkt het niet bij mij.

Als ik op F9 klik (op mn Mac fn F9) dan zie ik allemaal fouten in het rijtje

Bekijk bijlage 357883

Is een knop niet makkelijker te maken ipv F9 eigenlijk?
 
wel een probleempje als er voor en na middernacht zou kunnen gestopt worden.
Susan stopt op 3.15 en niet op 3:15, zodat ze voor 3:00 komt in de sortering !!!
Code:
Sub Loting()
   Dim arr()
   Set List = CreateObject("System.Collections.ArrayList")
   a = Range("A3").CurrentRegion                                'uitlezen gegevens
   For i = 2 To UBound(a)                                       '1 voor 1 aflopen
      sp = Split(a(i, 2), "-")                                  'splitsen beginuur en einduur
      If UBound(sp) = 1 Then List.Add Right("0" & sp(1), 5) & "|" & Format(Rnd, "0.0000000") & "|" & a(i, 1) & "|" & a(i, 2)   'einduur & random-getal+naam
   Next
   List.Sort                                                    'gegevens sorteren
   arr0 = List.toarray                                          'uitlezen in array

   ReDim arr(1 To UBound(arr0) + 1, 1 To 2)                     'hulparray dimensioneren
   For i = 0 To UBound(arr0)                                    'alle gegevens aflopen
      sp = Split(arr0(i), "|")                                  'splitsen op "|"
      arr(i + 1, 1) = sp(2): arr(i + 1, 2) = sp(3)
   Next

   With Range("D4")
      .Resize(20, 2).ClearContents
      .Resize(UBound(arr), 2).Value = arr
   End With
End Sub

Super bedankt dat je er naar wilt kijken.

We krijgen de gegevens zo aangeleverd vanuit de werkplanning. Dus het idee is om de namen en werktijden 1 op 1 te kopiëren naar de lotingsheet. Helaas zetten ze dus 3:15 neer.

Maar hoe moet er geloot worden in de door jou bewerkte sheet?
 
De bijlage in #4 is ongeldig. De quote knop kan je het beste vermijden. Op een Mac werken vaak MS-Office dingen niet dus is handig om het gelijk in de OP te vermelden.

N.B. automatisch berekenen heb ik uitgezet.
Waarschijnlijk gedaan omdat het complexe berekeningen zijn. Of dat je niet wil dat er bij elke aanpassing een nieuwe loting komt.
 
Schermafbeelding 2021-06-03 om 12.29.14.png

Ik kan ook op een Windows machine werken hoor.

Zal het straks even proberen.
 
Dan heb je geen Office365 en worden het matrixformules.

PHP:
=INDEX($A$4:$A$18;MATCH(SMALL($C$4:$C$18;ROW(A1));$C$4:$C$18;0))
 

Bijlagen

@VenA

Straks gaat met wel op Office365 draaien op het werk.

Heb nu op mn eigen Windows PC het bestand geopend en het werkt leuk.

Echter heb ik nog een paar dingetjes...... Sorry

1. In de velden na loting staan de formules. Maar bij een nieuwe dag beginnen we weer met andere werknemers en dus een schone lijst.
Zijn de formules te bewaren (of beveiligen) en dat we met een schone lijst kunnen beginnen? Misschien een knop "leegmaken"ofzo?

2. Nu staan er 15 namen in maar soms staan er misschien maar 6 namen. Zijn die netjes onder elkaar te zetten ipv de witregels er tussen als er minder dan 15 man is?

3. Bij een loting staan de diensten met de eindtijden 1:00 uur en 2:00 uur niet bovenaan. Is er een regel te maken dat hij automatisch deze mensen bovenaan zet die die eindtijd van 1:00 en 2:00 uur hebben en de overige mensen die mee loten met de andere tijden daaronder?

Ik weet dat ik wellicht veel vraag, maar wil het zo graag werkend hebben. Maar we zijn al onwijs ver :)
 
Dit werkte met een macro en die moest je telkens aanroepen, nu met een knop erbij
 

Bijlagen

Of dat je niet wil dat er bij elke aanpassing een nieuwe loting komt.
Inderdaad! Pas na drukken op F9. Formules zijn op zich niet zo ingewikkeld...
 
@cow18,

ik denk dat deze niet werkt op een Mac:
Code:
Set List = CreateObject("System.Collections.ArrayList")

Binnen Windows vaak ook niet (Volgens mij is er het .net framework 3.5 voor nodig)
 
SUPER!!!!!!

Echt helemaal top! Onwijs blij met jullie. Wat een experts! :d

[commentaar modus aan ;)]
Het enige nadeel is dat als er 1 iemand is met eindtijd 2:45 of 1 iemand met 3:00 dat deze altijd op dezelfde plek komt/blijft staan.
Deze loten niet mee met de eindtijden 3.15 uur.

Maar verder onwijs blij hiermee!
 
@VenA, zoveel heb ik niet aangevinkt staan
 

Bijlagen

  • loting medewerkers.xlsm
    loting medewerkers.xlsm
    24,3 KB · Weergaven: 19
  • Schermafbeelding 2021-06-03 231128.png
    Schermafbeelding 2021-06-03 231128.png
    22,4 KB · Weergaven: 21
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan