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

Medewerkers toewijzen aan taken

Status
Niet open voor verdere reacties.

ultimate14

Gebruiker
Lid geworden
10 nov 2009
Berichten
13
Goedenavond,

Is het mogelijk om in Excel medewerkers aan een lijst met taken toe te wijzen op basis van het aantal uren dat ze werken?
In het bijgevoegde voorbeeld heb ik een opzet gemaakt met daarin een aantal medewerkers, het aantal uren dat ze werken en het aantal taken dat ze toegewezen zouden moeten krijgen op basis van 100 taken. Heeft iemand een idee hoe ik vervolgens automatisch een eerlijke verdeling maak?
Belangrijk om te weten: het aantal medewerkers / uren wijzigt regelmatig.

De taken komen 1 voor 1 binnen en worden vervolgens op basis van de lijst verdeeld.
Vooraf is het onbekend hoeveel taken er totaal binnenkomen in een bepaalde periode.

Groet,
Ultimate14
 

Bijlagen

  • Taken MW.xlsx
    11,2 KB · Weergaven: 45
Zoiets misschien? Verander het aantal aanvragen in F4 en run de macro

Code:
Sub j()
Dim j As Integer
Cells(4, 11).CurrentRegion.Offset(1, 1).ClearContents
jv = Cells(4, 1).CurrentRegion
On Error Resume Next
    For j = 5 To (UBound(jv) + 2)
        lastrow = Cells(Rows.Count, 11).End(xlUp).Offset(1).Row
        Cells(lastrow, 11).Resize(Cells(j, 7).Value) = Cells(j, 2).Value
    Next
End Sub

VB:
 

Bijlagen

  • Taken MW.xlsm
    26,4 KB · Weergaven: 43
Laatst bewerkt:
Nog een optie met hetzelfde resultaat als de vorige code

Code:
Sub jv1()
Dim j As Integer
Cells(4, 11).CurrentRegion.Offset(1, 1).ClearContents
jw = Cells(4, 1).CurrentRegion
On Error Resume Next
    For j = 5 To (UBound(jw) + 2)
        a = Split(Replace(Space(Cells(j, 7).Value), " ", Cells(j, 2).Value & "|"), "|")
        Cells(Cells(Rows.Count, 11).End(xlUp).Offset(1).Row, 11).Resize(Cells(j, 7).Value) = Application.Transpose(a)
    Next
End Sub
 
Laatst bewerkt:
Zoiets misschien? Verander het aantal aanvragen in F4 en run de macro

Code:
Sub j()
Dim j As Integer
Cells(4, 11).CurrentRegion.Offset(1, 1).ClearContents
jv = Cells(4, 1).CurrentRegion
On Error Resume Next
    For j = 5 To (UBound(jv) + 2)
        lastrow = Cells(Rows.Count, 11).End(xlUp).Offset(1).Row
        Cells(lastrow, 11).Resize(Cells(j, 7).Value) = Cells(j, 2).Value
    Next
End Sub

VB:

Dank voor je reactie.
Het is een goede opzet maar nog niet helemaal waar ik naar opzoek ben. Het totale aantal is namelijk niet bekend en is ook niet zo van belang.
Het gaat meer om de volgorde waarin de taken aan de medewerkers worden toegekend. Bijvoorbeeld: taak 1 naar MDW 1, taak 2 naar MDW 4, enzovoort.
Of je nou stopt bij taak 20 of bij 40, het moet altijd evenredig aan de uren verdeeld worden.
 
zie bijlage, de grafiek en vanaf de 3e kolom (die percentages) zijn enkel om even te tonen dat er zo veel mogelijk proportioneel verdeeld wordt over de ganse lijn, na een inloopperiode van 20-30 opdrachten.
Die grafiek en kolommen mogen straks weg.
 

Bijlagen

  • Taken MW.xlsb
    84,4 KB · Weergaven: 43
Laatst bewerkt:
Ik heb nooit in dat soort werk gezeten, nul ervaring met dit soort planningen, maar iets zegt me ... hoe maak je hier nu een planning van... want wat ik compleet mis in de vraag van de TS is wanneer deze MW's werken op welke dagen en hoeveel uren ze dan beschikbaar zijn?
Hoe ga je vervolgens om met vrije dagen/vakantie want dan valt er een MW uit de tabel en wie voert het dan uit.
Ik heb het antwoord niet maar zie daar nog wel wat uitdagingen.
 
@route99,
je hebt waarschijnlijk gelijk, dat zal in de vervolgvraag zitten.
Excel is vermoedelijk nieuw, gebruikte vroeger vermoedelijk C++
 
Laatst bewerkt:
Ok...

Ik zou het zelf met Oplosser/Solver doen, ook al gebruik ik het te weinig, tis wel een klus om alle voorwaarden goed op een rij te zetten, maar in feite is het toch linear programming.
https://www.solver.com/optimization-solutions-human-resources-and-scheduling-examples

Hier kun je voorbeelden downloaden:
https://www.solver.com/optimization-solutions-human-resources-and-scheduling-examples

Wat ik me wel afvraag... zijn zulke theoretische oplossingen wel de meest "human" oplossingen... als iedereen zich heen en weer geslingerd voelt in de organisatie.... wat is het effect daarvan... bijv op het ziekteverzuim.
Soms kan een niet zo perfecte maar meer met de menselijke maat oplossing veel meer support krijgen op de werkvloer.
Het is aan de TS om er een keuze in te maken.
 
@route99,
helaas is dit niet echt lineair programmeren, het is nog eerder binair dan geheelgetallig en het neemt een gigantische brok rekentijd, dus bijna niet te doen met solver. Overigens gebruik ik solver meestal ook maar als eerste indicatie, niet voor het serieuzere werk (https://www.gams.com/), maar dat is nogal omslachtig.

Ik las wel met veel interesse jouw aangeboden link, ik ben nog niet aan de slag gegaan met de trial-versie voor 14 dagen.
Dat ziet er wel hoopgevend uit, alhoewel ik heb geen idee over mogelijke limieten kwa aantallen geheelgetal-variabelen en zo.
Heb je daar enige indicatie over en welke van de pakketten zou je (prijstechnisch) aanraden ?
 
Laatst bewerkt:
zie bijlage, de grafiek en vanaf de 3e kolom (die percentages) zijn enkel om even te tonen dat er zo veel mogelijk proportioneel verdeeld wordt over de ganse lijn, na een inloopperiode van 20-30 opdrachten.
Die grafiek en kolommen mogen straks weg.

Dank voor je reactie Cow18, dit lijkt exact te doen wat de bedoeling is.
Kun je kort toelichten hoe dit in zijn werk gaat? Ik zou zo niet in staat zijn dit te reproduceren.


Ik heb nooit in dat soort werk gezeten, nul ervaring met dit soort planningen, maar iets zegt me ... hoe maak je hier nu een planning van... want wat ik compleet mis in de vraag van de TS is wanneer deze MW's werken op welke dagen en hoeveel uren ze dan beschikbaar zijn?
Hoe ga je vervolgens om met vrije dagen/vakantie want dan valt er een MW uit de tabel en wie voert het dan uit.
Ik heb het antwoord niet maar zie daar nog wel wat uitdagingen.

Dergelijke kwesties staan hier los van, het automatiseren van het excelbestand dient puur als tijdsbesparing.
 
zie bijlage, grafiek en extra kolommen zijn weg.
kijk in de 1e tabel naar de kolommen D-F.
F is de verhouding tussen het percentage van de reeds toegewezen taken en het gewenste percentage.
Die is onze leidraad.
Bij de 1e opdracht heeft er nog niemand iets gehad, dus kolom D, E en F zijn 0 en er wordt willekeurig iemand gekozen (er staat ergens een rnd()/1000 in de macro. Stel MDW5
Bij het kiezen van de 2e opdracht heeft MDW5 1 van de 2 gekregen en dus is kolom E bij hem 50% en hij had recht op 9.51%, dus is hij dik factor 5 boven zijn doel. Al de rest staat nog op 0 en daaruit wordt er weer iemand willekeurig gekozen.
Dit gaat zo door tot iedereen een opdracht gekregen heeft. Vul anders eens overal in kolom D een 1 in.
Nu zie je in kolom F 2 groene cellen met 73%, zij zijn dus verst weg van hun doel en bij keuzeronde 11 zal dus of MDW4 of MDW7 gekozen worden.
De 2e tabel is nu voor 249 taken, laat de macro nog een keer lopen. Die schrijft slechts op het laatste alle cijfertjes terug naar het werkblad, maar neem aan dat iedere keer de groene cel in kolom F gekozen wordt.

macro is eventjes licht aangepast, zodat je om de 10 taken een update naar het scherm krijgt.
Straks kan die ene regel eruit, zodat alles weer in 1 keer doorloopt

Zoals je kon zien uit de grafiek in vorige bijdrage, heeft het toewijzen van een taak aan een persoon nogal bokkesprongen in die grafiek gedurende de 1e 20-30 opdrachten, dat vlakt daarna wel nogal uit.
 

Bijlagen

  • Taken MW.xlsb
    27,9 KB · Weergaven: 45
Laatst bewerkt:
@route99,
helaas is dit niet echt lineair programmeren.............
Mss idd niet het juiste woord: Het is een analytische oplossing, geen Monte Carlo benadering a la gooi een dobbelsteen op met een kansberekening benadering.

Ik las wel met veel interesse jouw aangeboden link, ik ben nog niet aan de slag gegaan met de trial-versie voor 14 dagen. Dat ziet er wel hoopgevend uit, alhoewel ik heb geen idee over mogelijke limieten kwa aantallen geheelgetal-variabelen en zo.
Heb je daar enige indicatie over en welke van de pakketten zou je (prijstechnisch) aanraden ?
Ik ben geen ervaren persoon op dat gebied. Maar in "mijn" beta hoek gebruik ik wel tools die gestoeld zijn op bijv Monte Carlo simulaties.
Als ik zo een probleem had dan ging ik vaak eerst in ons bedrijf met een specialist statisticus praten om de zaak te ordenen en dan het pad te kiezen met de beste fit.
Ik ben meer een chemicus van een bepaalde tak dan rekenkundig ontwerper in dat soort zaken (Monte Carlo etc) , heb/had mijn handen ook vol aan het bijhouden van patenten/literatuur in mijn sector als PL.
Ben al best lang met IT/PC bezig maar mijn modeling tijdens mijn studie ging nog via ponskaarten.... En das nog niet eens extreem lang geleden, in de jaren 80 net na mijn studie kwam de PC heel snel op en dat heeft echt een boost gegeven om ook studenten meer en meer gewend te laten raken om zelf de modeling te doen. Uiteindelijk zit vaardigheid op dat gebied niet alleen in het hebben van kennis maar zeker ook op de Pc ook in het toepassen ervan.
 
Ik ben ingenieur, ongeveer zelfde periode, mijn toenmalige vriendin deed het inderdaad ook nog met ponskaarten, maar op de universiteit had ik op het mainframe recht op zoveel rekentijd, ik ken de eenheid niet meer. Daarnaast geleerd te programmeren in Fortran op dat mainframe en privé met GWBasic op een Commodore64, nu onvoorstelbaar hoe minimalistisch ! Saven was op een cassettebandje !!!
 
Zoveel rekentijd kreeg ik op het ACCU (mainframe RU) niet.... we mochten wel data analyse/fitting doen voor het natuurkunde practicum, mijn "bijvak".
Fortran heb ik bij het bedrijf geleerd waar ik toen werkte, ik deed de RU part-time na mijn HBO.
Numeriek rekenen programmeren was de kern toen.
 
Laatst bewerkt:
zie bijlage, grafiek en extra kolommen zijn weg.
kijk in de 1e tabel naar de kolommen D-F.
F is de verhouding tussen het percentage van de reeds toegewezen taken en het gewenste percentage.
Die is onze leidraad.
Bij de 1e opdracht heeft er nog niemand iets gehad, dus kolom D, E en F zijn 0 en er wordt willekeurig iemand gekozen (er staat ergens een rnd()/1000 in de macro. Stel MDW5
Bij het kiezen van de 2e opdracht heeft MDW5 1 van de 2 gekregen en dus is kolom E bij hem 50% en hij had recht op 9.51%, dus is hij dik factor 5 boven zijn doel. Al de rest staat nog op 0 en daaruit wordt er weer iemand willekeurig gekozen.
Dit gaat zo door tot iedereen een opdracht gekregen heeft. Vul anders eens overal in kolom D een 1 in.
Nu zie je in kolom F 2 groene cellen met 73%, zij zijn dus verst weg van hun doel en bij keuzeronde 11 zal dus of MDW4 of MDW7 gekozen worden.
De 2e tabel is nu voor 249 taken, laat de macro nog een keer lopen. Die schrijft slechts op het laatste alle cijfertjes terug naar het werkblad, maar neem aan dat iedere keer de groene cel in kolom F gekozen wordt.

macro is eventjes licht aangepast, zodat je om de 10 taken een update naar het scherm krijgt.
Straks kan die ene regel eruit, zodat alles weer in 1 keer doorloopt

Zoals je kon zien uit de grafiek in vorige bijdrage, heeft het toewijzen van een taak aan een persoon nogal bokkesprongen in die grafiek gedurende de 1e 20-30 opdrachten, dat vlakt daarna wel nogal uit.

Ontzettend bedankt, zal er eens mee prutsen!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan