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

loterij tabel hulp

helpkomernietuit

Gebruiker
Lid geworden
26 apr 2025
Berichten
6
Hoi, ik probeer voor vrienden een slimme sheet te maken voor het verloten van 150 vissen en kom er niet goed uit.
we hebben 150 vissen
100 deelnemers en iedere deelnemer maakt een lijstje van een top 20 vissen die hij het liefst wil hebben.
in de bijlage heb ik mijn pogingen staan.
ik zet in 1 tab blad alle getallen van de deelnemers met voorkeur 1 tot 20.
daarna conditional formatting om alle unieke eerste voorkeuren snel te zien. iedereen die als enige zijn nummer 1 nr vis heeeft aangegeven krijgt deze en doet verder niet meer mee.
voor mensen die hetzelfde visnummer hebben aangegeven wordt geloot. 1 krijgt hem de andere doen de 2de ronde weer mee.
maar dan
in die 2e ronde loop ik vast. want ik wil dan dat alle visnummers die vergeven zijn niet meer mee doen, en dat bij alle overige deelnemers die nummers uit hun lijst verdwijnen. en nu het moeilijke, dat hun eerstvolgende nummer dan in de 2e ronde meedoet.

het is me gelukt voor de eerste 2 rijen, maar ik loop vast in het geval dat iemands 2, en 3e of verdere keus er in de eerste ronde al uitgaat.
iemand heel handig die een betere oplossing weet als de if(countif ed constructie die me snel te moeilijk wordt?
alvast super bedankt voor de hulp!
gr,
Koen
 

Bijlagen

ik denk dat het nogal moeilijk wordt met formules, dus deed ik het met een macro in blad1
 

Bijlagen

Wauw, dat ziet er al geweldig uit!
Ik kan er vanavond pas beter naar kijken maar een macro is de oplossing dus.
Ontzettend bedankt voor het meekijken en denken EN maken.
 
Het lijkt top te werken, maar helemaal snappen de ik je code niet.
Ik ga deze week verder om te proberen of het met complete data doet wat ik wil.
Nogmaals dank cow18
 
Nu wordt er 20 keer geprobeerd om het zaakje te verdelen waarbij geprobeerd wordt om die "hoge" keuzes te vermijden. Het beste resultaat wordt daarna weergegeven.

EDIT : macro nu met commentaar
 

Bijlagen

Laatst bewerkt:
ik snap de macro nu beter maar mis 1 voor ons essentieel ding nog. althans dat denk ik te zien. (zie bijlage)
na ronde 1 worden alle nummers die vergeven zijn weg gestreept. echter mis ik nog dat voor de volgende ronde de nummers als het ware opgeschoven worden.
te zien in deze sheet bij deelnemers 48 en 51.
op het moment dat ze de eerste keer niet nummer 148 hebben dan krijgt nu deelnemer 48 automatisch vis 75 en deelnemer 52 krijgt nummer 57. maar eigenlijk wil ik dat ze eerst weer `strijden´ om nummer 75.
die nummer 75 is keus 3 voor deelnemer 148 en keuze 4 voor deelnemer 51 maar omdat hun keuzes 1,2 en of 3 er bij de eerste ronde als uit zijn zouden ze samen voor hun volgende beste keuze moeten strijden als je snapt wat ik bedoel?
(ik heb zelf ook gemerkt dat de macro niet werkt als ik ergens een 0 heb staan, dan loopt hij vast dus daar hoef ik alleen maar het getal weg te halen en dan werkt het weer top )

wel tof dat je me helpt en ook dit allemaal snapt en kan maken.
werk je in de IT? is dit een uit de hand gelopen hobby?
gr,
koen
 

Bijlagen

blad1, deelnemer49 is 68 toegewezen in de 9e ronde, alhoewel 140, 134 en 57 (niet-gele cellen, dus uniek in die kolom) in de 3 ervoor gaande ronden eigenlijk unieke keuzen waren. Als je nu deze 3 waarden opzoekt in de kolom "toewijzen" dan zie je dat die alle 3 al gebruikt waren in keuzeronde 1. Verder waren de 5 gele (dus dubbels in die kolom) cellen 38,144,42,86 en 102 ook alle 5 al toebedeeld geweest in de 1e keuzeronde. Dus ja, die viste wel helemaal achter het net 🤣 (die 9 waarden staan nu gefilterd in de kolom toewijzen en de ronde waarin ze toegewezen werden staat 2 kolommen naar rechts.
Ik veronderstel dat je dit probeerde uit te leggen, maar dat is mijns inziens geen fout.

PS. ik vond de cijfers, waar jij naar verwees, niet !
 

Bijlagen

Wat een erg leuke uitdaging!

@cow18
Ik veronderstel dat je dit probeerde uit te leggen, maar dat is mijns inziens geen fout.
Naar mijn (per definitie subjectief) aanvoelen bekijk je dat zo omdat je vertrekt vanuit een Excel-technische visie. Bekijk je dat vanuit de doelstelling van TS, dan komt het idee ‘fout’ toch enigszins in de buurt. Ik volg ook niet zo bijzonder goed je redenering om naar de ‘beste’ oplossing te streven als de overheersende gedachte is om, behoudens unieke keuzes, het lot te laten beslissen.
Waarmee ik vooral niet wil insinueren dat ik mijn eigen aanpak de betere vind, laten we dat vooral aan TS over.

@koen

Hierbij dus een andere werkwijze. Ik heb er geenszins naar gestreefd een zo snel mogelijke code te schrijven, eerder integendeel, omdat ik me perfect kan voorstellen dat je het prettig zou kunnen vinden om ‘live’ het gebeuren te volgen (heb zelfs nog overwogen een extra vertragingsmechanisme toe te voegen, maar dat is misschien een brug te ver).
Ik heb dus 2 werkbladen waarvan het tweede enkel de beginsituatie bevat. Die wordt door de code telkens gekopieerd naar het resultaatblad zodanig dat je vooraf zoveel kan testen als je maar wil zonder manueel te moeten ingrijpen.
Je ganse omschrijving over wat en hoe zit verwerkt in de rest van de code, inclusief ‘opschuiven’ waardoor de keuzenummers niet meer relevant zijn; ze worden daarom ‘rondes’ genoemd. Wie echt pech heeft (vaak zo’n 2 tot 4 deelnemers) zal géén vis toegewezen krijgen uit zijn ganse voorkeurlijst (dat is nu eenmaal hoe het lot werkt), dus die krijgt er dan een willekeurige uit de resterende.

Héél benieuwd naar je oordeel.
 

Bijlagen

ik ben benieuwd ...
 
Ik baal ontzettend dat ik pas morgenavond bij een pc kan om het te bekijken dus excuses dat het antwoord langer laat wachten.
Maar beiden oprecht super bedankt voor jullie hulp.

Vinden jullie uitdagingen leuk?
Ik heb een andere rekensheet gemaakt die al wel goed werkt.
Maar daar heb ik al meer als een jaar 2 uitdagingen.
Ik zou er graag adhv invulvulden een soort tekening bij willen laten verschijnen. Maar daarnaast belangrijk, de code beschermen omdat ik die graag beschikbaar openbaar wil maken, maar niet wil dat gehaaide jongens deze gebruiken, kopieren en geld gaan vragen of zelf hun naam erop zetten.
Is dat met excel mogelijk zoiets?
Gr
Koen
 
je kan een paswoord op het VBA-gedeelte zetten, maar meestal is dat hinderlijker voor jezelf dan voor derden. Je mag dat paswoord dus niet vergeten, etc.
Toch is de beveiliging binnen Excel een probleem, het is voor de gewone sterveling ruim voldoende, maar voor de enkele "die-hards" toch nog (met wat moeite) te omzeilen.
 
De sheet van enigmasmurf is werkelijk fenomenaal en doet alles perfect zoals ik hoopte. ik kan de code een beetje lezen maar kan het niet eens reproduceren laat staan zelf ooit maken.
Hoe kan ik jullie bedanken hiervoor? ik ben onder de indruk van de bereidwilligheid om het te maken, en de snelheid waarmee dit in elkaar is gezet.
nog trager was inderdaad een leuk geintje een heel tof om te zien! je hebt de vrager (TS, technical smurf? :) ) heel goed doorgehad.
de code zoals gemaakt door cow18 werkt ook top, maar dan op de manier zoals de verloting voorheen ging, dus met rondes, en als je pech hebt dan raak je steeds meer kansen op je beste koi kwijt wat ik niet eerlijk vindt ook al is het wel een systeem om mee te werken.
we gaan voortaan de sheet van enigmasmurf gebruiken :)

die beveiliging, ja daar was ik al bang voor. als iemand die andere sheet aan jullie zou geven dan zou het vast niet lang duren voordat hij hem decrypted terug heeft..
 
Hallo Koen,

Leuk om te vernemen dat je er blij van bent geworden!

Hoe kan ik jullie bedanken hiervoor?
Laat maar, mijn vijvertje is veel te klein😂

nog trager was inderdaad een leuk geintje een heel tof om te zien
Puur voor de lol dus: hierbij versie 2 met ingebouwde vertraging. Als je die zelf wil 'bijregelen' kan dat moeiteloos. Van de 2° sub ("pauzeer") moet je afblijven. Elke pauzeer-instructie in de main sub heb ik laten voorafgaan en volgen door een witregel zodat je die snel terugvindt. De getallen erachter zijn seconden (hier evenwel fracties van seconden) die je naar smaak kan wijzigen.
Gein nr. 2: de unieke keuzes per kolom worden nu met groen aangeduid, die via loting met geel.

als iemand die andere sheet aan jullie zou geven dan zou het vast niet lang duren voordat hij hem decrypted terug heeft
Niet echt, ik kraak geen wachtwoorden tenzij iemand kan bewijzen de rechtmatige eigenaar te zijn.
Maar: je hebt me nu wel extreem nieuwsgierig gemaakt, dus als je dat vertrouwt mag je me dat bestand privé zeker bezorgen, en liefst onbeveiligd;)

PS: TS = Topic Starter
 

Bijlagen

ik vermoed dat mijn voorstel verkeerd wordt beoordeeld, dus daarom een "trage" versie die slechts 1 keer doorlopen wordt. Het tempo kan je bepalen door "dTempo" bovenin de module 2e rij aan te passen.
In de trage versie zie je per keuzeronde eerst die rijen die een unieke keuze (kolom "aantal" = 1) hebben toegewezen worden. Daarna worden die rijen waarvan meerderen dezelfde koi als zoveelste keuze behandeld. Stel dat er 3 liefhebbers zijn, dan wordt er willekeurig iemand gekozen en de andere 2 vissen achter het net en zullen in de volgende ronde misschien meer geluk hebben. Zo kan het bijvoorbeeld zijn dat de laatste maar in de 8e ronde geluk heeft. Vanaf de 2 keuzeronde zijn er niet vaak meerdere liefhebbers meer, dus in die rondes zie je meestal alleen unieke keuzes.

Daarom was mijn vorige versie op zoek gegaan naar de "beste" versie als je die macro x keer die kois liet toewijzen. Daarbij werd de waarde van cel X1 gebruikt en werd naar de laagste waarde gezocht. Eigenlijk deel je strafpunten uit aan een keuzeronde >1, volgens de 2e macht van de reeks, dus 1e keuze = 0 (0 tot de 2e macht) strafpunt, 2e keuze = 1 (1^2) strafpunt, 3e keuze = 4 (2^2) strafpunten, 4e keuze = 9 (3^2) strafpunten, etc. Op die manier straf je dus latere keuzerondes af.

Als je trage versie laat lopen, dan krijg je in principe dus iedere keer een ander getal in X1 en dat zal in de versie van Enigmasmurf iets gelijkaardigs zijn.
 

Bijlagen

Laatst bewerkt:
Terug
Bovenaan Onderaan