Bestimmter Zufall

  • Themenstarter Themenstarter krass_
  • Beginndatum Beginndatum
K

krass_

Es geht um Excel:
Ich moechte fuer eine art Schichtplan Namen per Zufall in Zellen einfuegen, aber:
ich muss namen fuer bestimmte Tage/Schichten "verbieten"
ich habe daran gedacht in Zellen Zahlen einzufuegen (zb 1, 2, 4, 6, 7) und per zufall wird eine der Zahlen ausgewaehlt, die dann in den Namen umgewandelt.
aber: wie kann ich die Zahl per zufall auswaehlen lassen, und dann auch noch auf eine ganze Woche bezogen jede Zahl genau gleich oft?
 
Hallo,

bei der Funktion "ZUFALLSZAHL()" von Excel erzeugt der bei jeden Öffnen bzw Bearbeiten einer Zelle neue Zufallszahlen, falls diese aber gespeichert werden sollen ist ein Umweg über Makro unumgänglich.

Auch ist die Abfrage bzw. Reaktion auf die Häufigkeit in der Woche im Makro leichter zu erreichen.

Beim angehangenem Beispiel habe ich die komplette Matrix füllen lassen (auch die Schwarz hinterlegten) weil das dann besser mit Schleifen geht.
Und zur Erkennung der Häufigkeit habe ich von Excel die Reihenfolge bestimmen lassen um dies dann im Makro abzufragen.
Desweiteren sind drei weitere Spalten hinzugekommen in denen die Arbeiter, die nicht erscheinen, aufgeführt und vom Makro ausgeschlossen werden.


hoffe geholfen zu haben
DuckDonald
 

Anhänge

Hat mir schonmal sehr viel weiter geholfen, danke :)

aber jetzt wirds richtig kompliziert, weil wir noch 100000 einschränkungen haben (was es meinem chef auch so kompliziert macht)
ich hab das ganze mal n bissl geändert was du mir da so schön gemacht hast und mit farben makiert
die grauen felder unten müssen leer bleiben, da arbeitet keiner-->daher hab ich oben links einfach mal n feld genommen mit den zufallszahlen, die dann unten geordnet und dann im 3. teil mit namen versehen

die weiteren einschränkungen sind:
es muss immer ein autofahrer arbeiten, fahrer sind nr 10, 1, 2, 3, 4, in der linken oberen box hab ich einfach mal des grün makiert was am besten nur unter den fahrern ausgelost werden soll, (des einezelne grüne feld wär dann nciht so dramatisch, da muss ma dann halt öfters auslosen)
es gibt n special zeugs des können nur die mädels machen (ist begleitung einer weiblichen person usw...) was montag und dienstag ist (nr7)
und es sollte am ende dann noch so sein dass keiner die 15h durcharbeiten muss (in zeile 30-36 pro zeile jeder name nur einmal vorkommen darf)
UND....Ricardo (4) arbeitet nur 3 Schichten pro woche
des mit 4 schichten hab ich halbwegs hinbekommen, weiss nicht warum trotzdem manchmal n paar fehler auftreten

kurze erklärung was ich mach: bin in England an ner Blindenschule und da arbeit ich mit 9 anderen aus aller herren länder als volunteer (wie FSJ) http://england.krasskan.de hab ich n bissl was beschrieben wenns einen interessiert
 

Anhänge

Hallo nochmal,

habe deine zweite Überarbeitung nochmal Überarbeitet. Allerdings ist der Code jetzt etwas umfangreicher geworden, liegt aber auch an den vielen Regeln.

Weiterhin habe ich versucht das die Fahrer die Abends Dienst haben nicht am nächsten Tag früh nochmal müssen.

Ein weiteres Probem das bei mir spoadisch auftritt ist das sich das Programm beim abarbeiten in der Schleife aufhängt, das liegt mit Sicherheit am den drei fehlenden Leuten (sind immerhin alles Fahrer).

Tipp: Abbrechen von Code mit 'Strg' + 'Pause/Untbr'


bye DuckDonald


Edit:Ich habe das Problem mit den Endlos-Schleifen gelöst (aber nur bei einer Implementiert)
 

Anhänge

Zuletzt bearbeitet:
das ist schonmal verdammt gut, hab grad auch nochmal ne stunde rumprobiert und bin bei den endlosschleifen dauernd hängengeblieben weil es wie du schon gesagt hast zu viele regeln gibt. vielen dank!
ich hau mich etz erstmal hin und schau morgen dann wie weit das ganze schon funktioniert
 
das ist jetzt schon fast! perfekt. habs leider nochmal umbaun müssen da die auswahl wichtig ist "nur montag abend geht nicht" usw

das einzigste was in der von mir veränderten version nicht geht ist die schichten gleichmäßig aufzuteilen (=jeder 4 mal, ricardo 3 mal arbeiten)
 

Anhänge

Erneutes Hallo,

hab nochmal drübergeschaut und dabei einige Parameter verändert.

# z.B. wird jetzt komplette Matrix gelöscht (damit die gleichmäßige verteilung richtig funktioniert)

# ich hatte zwei Schleifen für die Autofahrer eine für Früh und eine für Abends, du hattest beide so geändert, dass zweimal vollständig neu ausgelost wird - nun Behoben

# Die Begrenzung von Ricardo hatte ich überlesen bzw. wieder Vergessen, aber nun ist sie implementiert

# gleichmäßige Verteilung geht jetzt auch

# Auch der Zufallsgenerator wird nur einmal initialisiert (Randomize), sonst funktioniert der nicht richtig.


Weitere Fehler stellen sich erst bei ausgiebiger Nutzung raus.

Dann noh viel Spass damit.

Gruß DuckDonald
 

Anhänge

Neue Beiträge

Zurück