Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Namen gleichmässig verteilen

Forumthread: Namen gleichmässig verteilen

Namen gleichmässig verteilen
29.08.2019 15:28:32
alex_de_souza
Hallo,
um mein Problem leichter zu erklären, schicke ich meine Datei mit:
https://www.herber.de/bbs/user/131274.xlsm
Hintergrund: Es melden sie unterschiedliche Namen immer für einen Slot an einem bestimmten Tag. Diese Namen werden dann bei diesem Tag in der Spalte D eingetragen. Ein Name kann sich an mehreren Tagen melden.
Und genau hier habe ich die Herausforderung: Ich möchte nämlich erreichen, dass die Namen von der Spalte D pro Tag immer einem freien Slot aus Spalte E und F an diesem Tag zugeordnet werden. Es gibt immer nur maximal 2 Slots pro Tag
Nachdem sich die Namen mehrmals melden können bzw. an mehreren Tagen in der Spalte D stehen, sollen die Namen über das Monat gesehen gleichmäßig verteilt werden, so das niemand leer ausgeht bzw. ein Name 10 Slots bekommt und ein anderer Name 0.
Habt ihr eine Idee, wie ich das am besten umsetzen kann?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Geht DAS schon wieder los!
29.08.2019 18:26:51
onur
Solange du der Einzige bist, der den Sinn und Zweck des Ganzen versteht (was z.B. ein Slot in diesem Zusamenhang sein soll), bezweifle ich, daß du diesmal mehr Erfolg hast.
AW: Namen gleichmässig verteilen
29.08.2019 19:04:11
Piet
Hallo
ich habe die Antwort von onur gelesen, weiss auch nicht was ein Slot ist?
Kann mir aber unter "Namen Verteilung" denken was damit gemeint sein könnte.
Ich habe im Blatt "Namen" 11 neue Spalten belegt, denn ich brauche einen Zwischenspeicher zum logischen auswerten. Pro Tag sind zwei Anmeldungen möglich, dann wird die weitere Eingabe verweigert. Dabei wird im Blatt Namen jeder Anmeldung notiert, und bei Überlauf von 10 Anmeldungen ebenfalls die Eingabe verweigert. Die Zahl 10 als Max. steht als Const Anweisung "MaxSlot" im Modul1 und kann dort manuell geaendert werden.
Schau mal ob das so klappt wie du es willst: Hinweis: - wenn du Daten manuell, von Hand löschst musst du auch die Spalten Slot1/2 und das Datum in "Namen" manuell korrigieren. Das waere zuviel Programmieraufwand zu aktualisieren!
https://www.herber.de/bbs/user/131723.xlsm
mfg Piet
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Namen gleichmäßig verteilen in Excel


Schritt-für-Schritt-Anleitung

Um die Namen in Excel gleichmäßig zu verteilen, folge diesen Schritten:

  1. Datenstruktur erstellen: Stelle sicher, dass Deine Daten in der Spalte D (Namen) und in den Spalten E und F (Slots) korrekt angeordnet sind.

  2. Maximalanzahl definieren: Lege die maximale Anzahl an Slots pro Tag fest. Dies kannst Du in einem Modul (z.B. Modul1) als Konstante (z.B. MaxSlot) definieren.

    Const MaxSlot As Integer = 10
  3. Zuweisung der Slots: Erstelle eine Schleife, die für jeden Namen in Spalte D die Slots in Spalte E und F zuweist. Achte darauf, dass die Zuweisung gleichmäßig erfolgt, um sicherzustellen, dass jeder Name die gleiche Anzahl an Slots erhält.

    For i = 1 To Range("D" & Rows.Count).End(xlUp).Row
       ' Hier kommt die Logik zur Zuweisung
    Next i
  4. Überprüfen der Zuweisung: Stelle sicher, dass kein Name mehr als die maximal erlaubte Anzahl an Slots erhält. Dies kannst Du mit einer Zählvariablen in der Schleife überprüfen.

  5. Daten aktualisieren und speichern: Nach der Zuweisung solltest Du die Daten speichern und sicherstellen, dass alle Änderungen korrekt sind.


Häufige Fehler und Lösungen

  • Fehler: Slots werden nicht gleichmäßig verteilt
    Lösung: Überprüfe, ob die Schleife zur Zuweisung korrekt implementiert ist und ob alle Namen in Spalte D berücksichtigt werden.

  • Fehler: Maximalanzahl wird überschritten
    Lösung: Stelle sicher, dass Du die MaxSlot-Konstante richtig definiert und in der Logik zur Slot-Zuweisung berücksichtigt hast.


Alternative Methoden

Falls Du eine einfache Lösung ohne VBA bevorzugst, kannst Du die Excel-Funktion RANDBETWEEN verwenden, um zufällige Slots zu generieren und diese dann manuell gleichmäßig verteilen.

  1. Erstelle eine Hilfsspalte mit Zufallszahlen.
  2. Sortiere die Namen nach diesen Zufallszahlen und weise die Slots manuell zu.

Praktische Beispiele

Angenommen, Du hast folgende Namen in Spalte D:

D
Anna
Ben
Clara
David
Eva

Nach der Verteilung könnten die Slots in Spalte E und F so aussehen:

E F
Anna Ben
Clara David
Eva

Hierbei wurde darauf geachtet, dass die Zuweisung der Namen gleichmäßig verteilt ist.


Tipps für Profis

  • Verwende die Funktion ZÄHLENWENN, um schnell zu überprüfen, wie viele Slots bereits einem Namen zugewiesen wurden.
  • Nutze bedingte Formatierungen, um Namen hervorzuheben, die bereits die maximale Slot-Anzahl erreicht haben.
  • Automatisiere den Prozess mithilfe von VBA, um die Verteilung bei Änderungen in den Daten automatisch anzupassen.

FAQ: Häufige Fragen

1. Wie viele Slots kann ich pro Tag vergeben?
Die Anzahl der Slots pro Tag hängt von Deiner Definition in der Konstante MaxSlot ab. Standardmäßig sind es 2 Slots pro Tag.

2. Kann ich die Verteilung auch per Hand durchführen?
Ja, Du kannst die Slots auch manuell zuweisen, aber das könnte zeitaufwendig sein, vor allem bei einer großen Anzahl an Namen. Es wird empfohlen, die Automatisierung über VBA zu nutzen.

3. Gibt es ein anderes Wort für gleichmäßig in diesem Kontext?
Ein anderes Wort für gleichmäßig wäre "ausgewogen". In diesem Fall wäre es wichtig, die Namen ausgewogen auf die Slots zu verteilen.

4. Funktioniert das in allen Excel-Versionen?
Ja, die beschriebenen Funktionen und VBA-Methoden sollten in den meisten modernen Excel-Versionen funktionieren. Stelle sicher, dass Du eine Version hast, die VBA unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige