Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wichteln, Paarung automatisch zuweisen
#1
Hallo zusammen
Ich brauche eure Hilfe, da ich mich weder mit Excel auskenne, noch die Fähigkeit besitze zu programmieren. 

Jedes Jahr organisiere ich ein Wichteln in unserer grossen Familie. Jetzt möchte ich die Paarungen mit Excel automatisieren. Das Resultat soll als CSV gespeichert werden (kann auch manuell passieren). Die Daten im CSV werde ich dann zum Massen E-Mail Versand nutzen.

Wichtig ist dabei folgendes:
- Eine Paarung darf nicht 5x hintereinander vorkommen. (Also erst beim 6ten Mal wieder erlaubt sein)
- Es soll ein Button geben "Generieren"

Ich stelle mir das so vor, (aber vielleicht gibt es auch einen einfachere Lösung Confused )
- Blatt Input: Namen und Email sind gegeben, kann aber länger oder kürzer werden. Jahr wird manuell angepasst.
- Blatt CSV: Generierte Paarungen auf Basis vom Blatt Input und dem Kriterium "nicht 5x die selbe Paar Zuweisung"
- Blatt letztePaarungen: enthält die generierten Paarungen über die Jahre hinweg

Als Beispiel habe ich ein Excel angehängt.

Kann jemand von euch mir ein solches Excel "programmieren"?


Angehängte Dateien
.xlsx   Wichteln_Beispiel.xlsx (Größe: 15,37 KB / Downloads: 15)
Antworten Top
#2
Hallo,

in der Anlage habe einen Vorschlag für Dich ohne Deine Datei genutzt zu haben. Es werden "auf Knopfdruck" 10 unterschiedlliche, sich nicht wiederholende Paarungen ausgegeben. Den Code habe ich nicht selbst geschrieben, sondern beim googeln gefunden und ein klein wenig abgeändert.
Die Ausgabe als CSV musst Du selbst noch organisieren oder einfach als Excel Sheet ausdrucken oder Dir die Ausgabe auf einem neuen Blatt anzeigen lassen.

Grüße
Norbert


Angehängte Dateien
.xlsm   Wichteln.xlsm (Größe: 22,88 KB / Downloads: 6)
[-] Folgende(r) 1 Nutzer sagt Danke an NobX für diesen Beitrag:
  • cqone
Antworten Top
#3
Hallo c...,

auch ich beziehe mich nicht auf deine Datei, sondern stelle einen Algorithmus vor, mit dem man viele Runden ohne wiederholtes Aufeinandertreffen ermitteln kann.

Die Datei ist zwar (ein wenig Blush ) überdimensioniert für deine Anfrage (da sie nicht für Paarungen sondern für größere Gruppen gedacht war), aber sie hat einige Vorteile.

1. Du kannst über Einträge von 1en oder 0en im Bereich B5:Z54 in jeder Runde neue Teilnehmer hinzufügen oder bisherige Teilnehmer aussetzen lassen.
2. Der Algorithmus "Rekursiv" findet bei 16 Teilnehmern meistens die maximale Anzahl von 15 Runden ohne wiederholtes Aufeinandertreffen.
3. Du kannst alte Runden archivieren, indem du in der Tabelle unter dem Button "optimieren" das Feld "ab Runde" anpasst.
(4). Falls du mehr Runden ausgeben willst und ein wiederholes Aufeinadertreffen zulassen möchtest, reduziert der Algorithmus "Solver" diese.

Nutzung:

a) In deinem Fall würde ich nur den ersten Algoritmus aus der Tabelle unter dem Button füllen nutzen (in allen anderen Zeilen in dem Feld "Versuche" eine 0 eintragen).
b) Nach dem Eintragen welche Teilnehmer berücksichtigt werden sollen den Button "optimieren" drücken und die nächste erstellte Runde für das Wichteln übernehmen.
c) Nach dem Wichteln den Wert in der Zelle "ab Runde" zur Archivierung der bisherigen Runden erhöhen.
d) Wenn die für dich wichtige maximale Rundenzahl ohne Wiederholung erreicht ist (in deiner Beschreibung 6) oder spätestens falls keine neue Runde mehr ermittelt werden kann die Einträge der Runden 2-n um eine Stelle nach links kopieren und das Feld "ab Runde" nicht mehr erhöhen.


ps Falls du mehr über die Funktionalität der Datei wissen möchtest:

https://www.ms-office-forum.net/forum/sh...p?t=373759&page=2


Angehängte Dateien
.xlsm   GruppenWWT5025.xlsm (Größe: 84,44 KB / Downloads: 5)
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:
  • cqone
Antworten Top
#4
Hallo c...,

sorry!

Nachdem ich noch einmal in deine Datei geschaut habe, habe ich erst gesehen, dass du nicht Paare suchst, die sich gegenseitig wichteln, sondern eindeutige Zuordnungen mit der Nebenbedingung (wie ich annehme), dass Schenker und Beschenkter weder im Archiv noch im aktuellen Jahr als Paarung in irgendeine Richtung vorkommt.

Ist das so richtig?
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:
  • cqone
Antworten Top
#5
Hallo c...,

bitte sehr (Anlage)

1. Wenn keine Zuordnung mehr gefunden werden kann, die ersten beiden Spalten in der Tabelle "Archiv" für das älteste Jahr löschen und nach dem Aufruf des Makro mit der neuen Zuordnung überschreiben.
Achtung! Falls im neuen Jahr mehr Teilnehmer mitmachen als im ältesten Jahr, vorher in der Tabelle Archiv die entsprechenden Zeilen hinzufügen.

2. Die Spalte "Nr" in der Tabelle "Teilnehmer" ist nur für die Optik. Das Makro arbeitet nur mit der Position in der Tabelle.
Wenn ein neuer Teilnehmer hinzukommt, muss er ans Ende der Tabelle hinzugefügt werden.
Wenn ein Teilnehmer nicht mehr dabei ist, darf die Zeile nicht entfernt werden. Es muss aber ein Wert ungleich 1 in der Spalte "Berücksichtigen" stehen.

3. Ich würde (bei 16 Teilnehmern) nicht erst nach sieben Jahren das älteste Jahr entfernen, da der Algorithmus nicht mehr so viele Freiheiten hat und im achten Jahr die Zuordnung sehr ähnlich wie im ersten Jahr ist.


Angehängte Dateien
.xlsm   Wichteln_Beispiel.xlsm (Größe: 44,07 KB / Downloads: 3)
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:
  • cqone
Antworten Top
#6
Vielleicht zu einfach:


Angehängte Dateien
.xlsb   __Wichteln_snb.xlsb (Größe: 13,73 KB / Downloads: 4)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • cqone
Antworten Top
#7
Hallo

zu
Zitat:Vielleicht zu einfach

Ja, wenn meine Annahme in #4 richtig ist.

Bei 16 Teilnehmern habe ich 15 Teilnehmer mit denen ich eine Beziehung eingehen kann. In jedem Jahr habe ich genau zwei Beziehungen mit unterschiedlichen Teilnehmern. Ich kann also maximal für sieben Jahre Kombinationen zusammenstellen.
In deinem Beispiel ist das Jahr 2030 interessant.

Aber deine ersten sieben Jahre sind natürlich richtig. 

Interessant ist es wie der Algorithmus auf diese Bedingung reagiert.
Zitat:Namen und Email sind gegeben, kann aber länger oder kürzer werden
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.





Antworten Top
#8
Dann reicht wahrscheinlich besser:


Angehängte Dateien
.xlsb   __Wichteln_snb.xlsb (Größe: 14 KB / Downloads: 9)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • cqone
Antworten Top
#9
Hallo snb,

schaust du dir das Ergebnis deiner Formeln an bevor du die Datei verschickst?
In deiner Familie möchte ich Anthony sein.
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.





Antworten Top
#10
@Ego,

Kein Problem, magst du, aber ich verstehe nicht warum.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste