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

Getal willekeurig onderverdelen

Status
Niet open voor verdere reacties.

DaanDB1

Gebruiker
Lid geworden
5 jan 2015
Berichten
14
Beste,

Ik zit met volgend probleem: ik zou een getal, neem 430 willekeurig moeten onderverdelen , bij voorkeur onder 371 cellen. Het zou zowel voor lage, alsook voor hoge getallen moeten werken. Bij lage getallen zullen dan veel cellen een 0-waarde moeten aannemen. Cruciaal is dat de som van de onderverdeling terug het getal 430 is.

Ik upload hier een bestand waar ik reeds aan heb gewerkt, helaas zit ik steeds met een foute onderverdeling (andere manieren zijn altijd welkom, hoeft niet per se een verbetering te zijn)

Bekijk bijlage 371 cells.xls
 
moeten het hele getallen worden? of mogen het ook decimale getallen zijn?
en negatieve getallen?
 
Laatst bewerkt:
Hoi Daan,

Het was even puzzelen, ik heb wel wat extra kolommen nodig.

Kolom E om aselecte getallen te genereren
Kolom F om de rest van het afgeronde getal te berekenen
Die rest heb je nodig omdat de som van de afgeronde getallen niet altijd gelijk is aan je begingetal.
Als de som van de afgeronde getallen kleiner is dan je grondgetal, dan wordt dat aantal grootste rest opgehoogd, andersom als de som van de afgeronde getallen groter is dan worden de kleinste resten verlaagd.
In kolom G staan de afgeronde getallen.

Verander je in N3 de totaalsom, dan wordt die verandering automatisch verwerkt.
Bekijk bijlage 371 cells.xls

Groet,

Jeroen
 
ik dacht eigenlijk:
je gooit eerst met een dobbelsteen met 431 vakjes bv:31
dan gooi je met een dobbelsteen met (431-31) dus 400 vakjes bv weer 31
enz....
dan krijg je zo iets:
 

Bijlagen

Beste allen,
bedankt voor de moeite en voor de snelle respons, had niet verwacht zo snel geholpen te worden. Het bestand van Jeroen is (tot nu toe, moet het nog een paar keer testen) perfect wat ik nodig had. Nog eens bedankt hiervoor!

Mvg,
DaanDB
 
Jeroen, hoe komt het dat met een "willekeurige" verdeling er alleen maar 0 - 1 - 2 in voor komt?
een 3 of een 10 of een 30 zou in een "willekeurige" verdeling toch ook moeten kunnen.
misschien is het mogelijk eerst de prijzen te "willekerig" te bepalen (eventueel met voorkeur of demping)
en dan de prijzen te verdelen ("willekeurig").
 
Laatst bewerkt:
Indien het mogelijk zou zijn om, zoals Sylvester aanhaalt, de 'variatie' of laten we het 'variantie' noemen te verhogen, zou ik dit alleen maar aanmoedigen! Voor mijn bestand zou het niet handig zijn dat er bv in 30 cellen reeds de volledige som v/h getal staat, hoewel een voor een totaal getal van '800' er bijvoorbeeld wel enkele cellen '10' mogen bedragen, wat nu niet het geval is.
 
Kun je hier verder mee?
 

Bijlagen

popipipo,
bij jouw voorbeeld hebben enkel de eerste n-cellen een waarde, daaronder blijft de rest 0. Het bestand van Jeroen is tot nu toe het beste, hier wil ik dan ook verder met werken. Dit levert wel een volgende vraag: hoe kan ik deze verdeling meerdere malen in 1 document gebruiken? Wanneer ik ze kopieer, blijft ze verwijzen naar de F en G kolommen verwijzen en niet naar hun 'nieuwe' restwaarden (de totaalsom klopt dan ook niet meer) Zie voorbeeld:Bekijk bijlage foutief.xls
 
Als je in mijn bestand de maximale waarde op 2 zet krijg je niet meer cellen met een 0-waarde als de oplossing die Jeroen aangeeft, ze zijn alleen wat meer gegroepeerd aan het einde.
 
Hoi Daan en anderen,

Gisteren wel de vraag gezien, maar even geen tijd gehad om te reageren. Was bezig met sendkeys en VBA, leuk wat je daar mee kan doen.

Dat de waardes ongeveer uitkomen op 1 +/- 1 is logisch, want ik verdeel 430 * 1 over 371 cellen. Win je dat voorkomen dan moet je zorgen dat de spreiding van ASELECT() (waarde tussen 0 en 1) groter wordt. Daar zijn veel oplossingen voor 1 daarvan is niet ASELECT() nemen, maar ASELECT()^-1. Dat heb ik geprobeerd en de max-waarde kan oplopen tot 350 maar als je maar lang genoeg probeert zul je nog weg hoger kunnen gaan. Vind je dat te veel, dat kun je dat aanpassen naar ASELECT()^(-0.5) (max circa 70). Je moet er maar mee spelen.

Bekijk bijlage 371 cells.xls

Groet,
Jeroen
 
Laatst bewerkt:
Bedankt voor je hulp Jeroen, ik bekijk het vanavond. Heb je ook een idee hoe ik het gemakkelijk 'dupliceer'? Zie vorige reactie van mij.
Bedankt!
 
Als ik jullie bezig hoor, voel ik me echt een beginner :) Aan de $'en had ik gedacht, helaas gaf bij mij de formule dan een foutmelding #getal of #naam. Bij deze bedankt om het vuile werk op te knappen :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan