(30.03.2017, 23:05)Ego schrieb: a)Wenn ich die Liste erst nach Klasse und dann nach Fach ordne, ist der 16. Schüler zwar aus einer anderen Klasse als der 1.Schüler, kann aber das gleiche Fach haben.
b)Wenn ich die Liste erst nach Fach und dann nach Klasse ordne, hat der 16. Schüler zwar ein anderes Fach als der 1.Schüler, kann aber aus der gleichen Klasse sein.
ja, stimmt, Du hast recht.
Das kann ganz schnell passieren. (Und zwar schon beim ersten Test)
Schöne Lösung. :)
Ich wäre wahrscheinlich komplett sequentiell vorgegangen.
31.03.2017, 00:32 (Dieser Beitrag wurde zuletzt bearbeitet: 31.03.2017, 00:33 von Ego.)
Hallo DbSam,
das habe ich wie vieles anderes von Opa Edgar (alias Boskobiati) gelernt.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:1 Nutzer sagt Danke an Ego für diesen Beitrag 28 • worrest-t
Ich hatte mir ja vorgestellt, dass wir hier in diesem kompetenten Forum zu einer Lösung kommen, aber das du mir solch eine komplexe Lösung so einfach erstellst...
wenn bei 15 Tischen "mehr als 15 Schüler aus einer Klasse kommen bzw. das gleiche Fach haben", gibt es keine Lösung, die die Bedingungen erfüllen.
Bei deinem Lösungsvorschlag ist aber die Wahrscheinlichkeit für eine fehlerhafte Lösung schon bei 1/15 falls nur einer der hinteren (>15) Schüler das gleiche Fach hat wie einer der vorderen Schüler.
Hallo Helmut,
vielleicht bin ich etwas hartnäckig.
Ich habe mal deine Datei getestet, es klappt mit der Verteilung richtig gut, du hast dies echt elegant gelöst.
Dann habe ich mal das gemacht, was nach meiner obigen Meinung wohl ganz selten vorkommt.
Ich habe in deiner Datei die Nummern 14 bis 20 auch mit dem Kurs OBF 16a belegt.
Und siehe da, es kommt die Meldung: "keine passende Zuordnung gefunden".
31.03.2017, 23:55 (Dieser Beitrag wurde zuletzt bearbeitet: 31.03.2017, 23:55 von Ego.)
Hallo conny,
wenn ich das richtig sehe, sind bei deiner Datenänderung dann bei 15 Tischen 15 Schüler aus der gleichen Klasse.
Richtig, dann kann es vorkommen, dass das Programm so wie ich es hochgeladen habe, mehrfach hintereinander keine passende Lösung findet.
100 Versuche sind hier wohl zu wenig.
Als ich die Anzahl der Versuche auf 10.000 (siehe Beitrag #8 unter Zufallszahlen) gestellt habe, wurden dann aber zigmal hintereinander gültige Lösungen in weniger als einer Sekunde produziert.
ps. Auf meinem Rechner werden 10.000 Versuche in ca. 3 Sekunden ausgeführt. Getestet mit 16 Schülern aus der gleichen Klasse, was bei 15 Tischen immer zum Fehler führt.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
in der Anlage eine Version mit den gewünschten Anpassungen:
1. "Gleichzeitige" Berechnung für zwei Klassenräume.
Falls in Zukunft einmal drei Räume berücksichtigt werden sollen (müssen nicht alle die gleiche Anzahl von Tischen haben) muss:
a) Ein benannter Bereich "Liste3" eingerichtet werden.
b) Eine Zelle mit "Ausgabe3" benannt werden und
c) im code "For intRaum = 1 To 2" die 2 durch 3 ersetzt werden.
2. Die Listen dürfen jetzt Lücken haben.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:1 Nutzer sagt Danke an Ego für diesen Beitrag 28 • worrest-t