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

Excel teamindeling

Status
Niet open voor verdere reacties.

Ferdi01

Gebruiker
Lid geworden
19 okt 2002
Berichten
333
Lieve mensen, een mooie uitdaging voor vanavond want ik kom er niet uit.

Een groep van 27 kinderen mogen uit de klas 1 kind kiezen waar ze heel graag bij in de groep zitten, 3 kinderen waar ze graag bij in de groep zitten en 1 kind waar ze niet bij willen.

Er moeten 5 groepen gemaakt worden (2 groepen van 6 kinderen en 3 groepen van 5 kinderen). Wie heeft een idee hoe ik dit op kan lossen???

In de huidige vorm staan alle kinderen in kolom A en in rij 1. Met een 1 (heel graag in de groep), 2 (graag in de groep) en 3 (niet in de groep) zijn de combinaties aangegeven.

Ik hoor het graag!!!! Heel erg bedankt alvast want ik ga iemand hier heeeeel blij mee maken als dit lukt!
 
Hallo ferdi,

groep1 groep2 groep3 groep4 groep5
kind1 kind7 kind13 kind18 kind23
kind2 kind8 kind14 kind19 kind24
kind3 kind9 kind15 kind20 kind25
kind4 kind10 kind16 kind21 kind26
kind5 kind11 kind17 kind22 kind27
kind6 kind12
Zo simpel zal het wel niet zijn, maar anders kon ik uit je vraag niet opmaken.
Anders een bestandje bij plaatsen.

Gr Justes
 
Laatst bewerkt:
Beste Ferdi,

Is dit een eenmalige actie of een terugkerend iets?
In het eerste geval zou ik het gestructureerd stap-voor-stap handmatig oplossen.
In het tweede geval wens ik de beantwoorder succes.

Richard
 
Is dit een eenmalige actie of een terugkerend iets?

Richard

'Helaas' is dit een maandelijks terugkerend proces. Nu wordt het inderdaad handmatig gedaan, maar je begrijpt dat het een hels karweitje is!

Ik hoop echt dat het iemand lukt! :shocked:
 
De vraag staat ook hier :confused:
Daar is de vraag reeds verwijderd. (zijn ze bij worksheet.nl altijd als de kippen bij)
Overigens heb ik naar het bestandje gekeken, sluit me bij Richard aan, diegene die dit voor elkaar krijgt is een kanjer.
 
Laatst bewerkt:
Naar mijn mening zijn er niet genoeg regels gedefineerd om uberhaupt tot een oplossing te kunnen komen. bv. wat doe je als kind 1 heel graag bij kind 2 wil zitten, en kind 2 juist helemaal niet bij kind 1. Maw welke regel heeft voorang op de andere. Hetzelfde bij ee keuze tussen status 2 en status3. Ik veronderstel wel dat status 1 voorrang heeft op status 2. Zo zullen er nog welke onbekende regels zijn, die ik nu met het snel te bekijken over het hoofd zie, maar die wel noodzakelijk zijn.
 
Mogelijke oplossing temaindeling

Ik heb getracht een en ander uit te werken. Zie bijgaande spreadsheet. Deze bevat macro`s.

Blad1 is het origineel

Blad2 is het uitgangspunt waarin wordt aangegeven wie heel graag bij wie in de groep wil zitten (heel populair = waarde 3), dan degene die graag bij elkaar willen zijn (populair = waarde 2); wie niet bij iemand in de groep wil zijn (niet leuk = waarde 0) en de rest van de kinderen (overig = waarde 1). De kleuren worden automatisch aangepast.
Blad3 bevat de "verdeelmodule".

Vul eerst in Blad2 de gegevens in en wel van boven naar beneden, dus kind 1 kiest kind 6 uit als heel populair (waarde 3), dan kiest kind 1 de kinderen 17, 19 en 22 uit als populair (waarde 2) en vervolgens kiest kind 1 het kind 14 dat het niet (waarde 0) in het team wil.
Doe dit voor elk kind. De rest van de cellen wordt met 1 gevuld. (Het kind kan niet zichtzelf kiezen, vandaar de waarde x en zwart.

Onderaan is te zien of alles goed is ingevuld qua aantal. 1 heel populair, 3 populair, 1 niet leuk en 21 overige kinderen.

In Blad3 wordt eerst op de button "Herstellen" geklikt om de gegevens van Blad2 naar Blad3 te kopieren.
Daarna op de button "Combinaties". Hierbij veronderstel ik dat de hoogste prioriteit heeft het kind dat niet een ander in hetzelfde team wil. Dus als kind 1 kind 14 niet in het team wil maar kind 14 wil kind 1 wel graag in hetzelfde team, dan geldt dat deze niet bijelkaar in een team komen.
Vervolgens vindt de verdeling plaats door achtereenvolgens eenmaal op de buttons "Heel populair", "Populair"en "Overig"te klikken.
In het gele vlak verschijnt nu de juiste indeling van de teams.

Ik hoop dat het zo `n beetje hetgeen is dat je bedoelt.
Mochten er nog vragen zijn, dan merk ik het wel.

Veel suc6
 

Bijlagen

Nou,ook goeie morgen!
Petje af silkcom, ik vind het geweldig in elkaar gezet en hoop van harte dat Ferdi01 er meen uit de voeten kan.
 
Nou,ook goeie morgen!
Petje af silkcom, ik vind het geweldig in elkaar gezet en hoop van harte dat Ferdi01 er meen uit de voeten kan.

Silkcom heeft er wel een paar uur slaap voor moeten laten, maar het resultaat mag er wezen ;)
 
Ja, maar toch weer om half 5 opstaan :cool:
Het probleem :confused: liet mij niet los en zag hier een grote :shocked: uitdaging in.

En toch ben ik nog niet helemaal tevreden. De verdeling klopt nog niet :(.
Als ik de procedure afloop tot aan de verdeling van de "Populairen", dan zie ik dat K18 en K19 in groep 1 zitten. Zij vinden elkaar volgens de matrix niet echt leuk. En dus moet deze combinatie verboden worden.

Ik hoop dit vandaag verder uit te werken. Misschien zijn er nog anderen die mee willen denken.
 
Ik heb ook even lopen denken om dit probleem op te lossen, maar heb momenteel te weinig tijd om het te vertalen naar programmacode, maar ik zal mijn denkwijze even toelichten.

Het is wel meet een brut-force algoritme, dat enkel sub-optimale uitkomsten gaat geven, om de rekenkracht en nodige tijd niet al te sterk te doen oplopen.

Om te beginnen kennen we gewichten/scores toe aan de verschillende combinaties. Bijvoorbeeld: een combinatie "heel graag" krijgt bv. een score 7, een combinatie "graag" een score van 3 en een combinatie "helemaal niet" wordt afgestraft door er een score -10 aan te geven. En geen voorkeur krijgt een score 1. Afhankelijk van die scores laat je ook merken hoe zwaar elke regel moet doorwegen. Een score 10 ipv 7 bij "heel graag" en een score -1 ipv -10 bij "helemaal niet" gaat (waarschijnlijk) andere groepsindelingen met zich meebrengen.

Vervolgens wijs je 6 kinderen toe aan een groep en berekent de totale groepsscore rekening houdend met de gewichten. Die doet tot alle combinaties van 6 kinderen uit de 27 aan bod zijn gekomen. Die combinatie met de hoogste score van 6 personen schrijf je weg naar groep 1.
Vervolgens herhaal je dit proces voor de overige 21 kinderen, en krijg je weer een groep van 6 met de hoogste score, dit is groep 2.
Nogmaals runnen met een combinatie van 5 kinderen uit 15 levert groep 3 op, enz. tot groep 1.

Deze maakt wel gebruik van heel wat rekenkracht, want je moet alle mogelijke combinaties afgaan, vooral bij 6 kinderen uit 27 mogelijke kinderen kan dit wel even tijd vragen. Maar ik denk dat dat nog wel zal meevallen.

Het is een sub-optimale oplossing want je berekent de hoogste scores voor iedere groep afzonderlijk, en niet voor de totale groepsindeling. Wil je een optimale groepsindeling heb je heel wat meer rekeningtijd nodig, want dan moet je bij de berekening van groep 1 al de andere groepen mee doorrekenen met alle mogelijke combinaties, en de groepsindeling van 1 tot 5 met hoogste totale score is dan de optimale indeling.
Persoonlijk denk ik dat een sub-optimale uitkomst meer dan voldoende is, en een goede trade-off is tussen rekentijd en optimaliteit.

Zoals gezegd heb ik nu geen tijd om het te implementeren, maar dat is mijn zienswijze.
 
Aangepaste versie

Ik heb de spreadsheet aangepast en hoop dat het nu beter is.
Zouden jullie het eens goed willen controleren?
 

Bijlagen

Silcom: :love:

Bij deze spreek ik een grote mate van bewondering uit! Mijn dank is groot! Overigens iedereen die zich hierover gebogen heeft verdient een pluim!

Vanavond ga ik hiermee aan de slag om hem in te vullen met de werkelijke gegevens en voorkeuren. Ik zal uitgebreid feedback geven!!! (waarschijnlijk morgen!)

Nogmaals chapeau!:thumb:
 
Om het zo eerlijk mogelijk te maken, kun je elke maand de kinderen een ander volgnummer geven (uitdelen van papiertjes???).
Door dit in te vullen in de spreasheet zal een totaal andere teamindeling tevoorschijn komen.
 
Om het zo eerlijk mogelijk te maken, kun je elke maand de kinderen een ander volgnummer geven (uitdelen van papiertjes???).
Door dit in te vullen in de spreasheet zal een totaal andere teamindeling tevoorschijn komen.

Das inderdaad een hele goeie! Maar ik weet niet of jij al in de kinderen zit ;) maar de keuze van de kinderen wisselt ook per maand.

Ik neem hem in ieder geval mee! Nogmaals dank!
 
Silkcom: Geniaal werkelijk!!! Ik wou dat ik dan kon!!! :thumb:

Mogelijk kan ik je nog een keer uitdagen ;) ....

In de huidige invulling van de 27 kinderen zit 1 groepje wat niet gaat werken omdat er 5 jongens bij elkaar in de groep zitten wat te veel onrust geeft. Dit zijn waarden die je uiteraard niet aan kunt geven.

Ik heb even zitten experimenten om bijvoorbeeld eerst 'Populair' te klikken en daarna 'Heel populair' waarna 'Overig'. Het feit wil dat daar steeds een andere groepindeling uitkomt. Hoe kan dit?? Want te zien aan hoe de combinaties berekend worden leest ie van A1 naar AD29 zeg maar. Toch steeds een ander resultaat. Nu zijn ook die groepjes nog niet optimaal.

Ergens zou het HELEMAAL IDEAAL zijn wanneer er in de lijst kinderen (kolom B en rij 2 een soort 'at random' functie zou zitten die de kinderen anders sorteert waardoor de uitkomst anders wordt. Ik heb geprobeerd dit zelf te sorteren maar de inhoud van de 'matrix' wordt verkeerd door elkaar gehusseld.

Ik heb ook al geexperimenteerd met het extra uitdelen van 0en (nullen), maar dan worden er weer kinderen uitgesloten. :confused:

Heb jij hier nog een idee voor?

Als je er geen zin meer in hebt begrijp ik dat uiteraard! :thumb:

Nogmaals dank!
 
Ook vandaag zal ik wederom mijn best doen om je bij te staan met deze moeilijke opdracht.
Het is en blijft een uitdaging om het goed voor elkaar te krijgen.
 
Helemaal te gek! Ik kan niet wachten... Gaaf om te zien dat het uberhaupt KAN. :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan