Verteilen von Daten aus einer Liste in mehrere Spalten

2

Ich habe eine Liste von Artikelcodes in einer Spalte (Änderungen an einem Tag), die auf ein anderes Blatt und in mehrere Spalten verteilt werden müssen (abhängig von der Anzahl der verfügbaren Agenten an einem Tag).

Für eine bessere Illustration sehen Sie bitte diesen Screenshot: Item codes.png

Dann muss es an diese verteilt werden: Database.png.

Was könnte die beste Formel oder sogar VBA-Syntax dafür sein?

jaa1108
quelle
Ihr erster Screenshot enthält Zahlen, der zweite Namen, es ist ein bisschen verwirrend :( Sind das die gleichen Daten? Haben Sie versucht, etwas Besonderes einzufügen - zu transponieren?
Máté Juhász
1
Bevor wir über eine Antwort nachdenken können, wird eine Information benötigt. Wie genau weisen Sie einem Agenten eine Dokument-ID zu? Gibt es irgendwelche Beziehungen oder spielt es keine Rolle? Das hängt davon ab, wie viele Mitarbeiter an einem Tag verfügbar sind. Ist das also so? Angenommen, Sie haben 240 Dokumente und 24 Mitarbeiter, jeder von ihnen bekommt 10 Dokumente. Wie viele Dokumente können pro Tag maximal erstellt werden?
fr0x3n
@ Máté JuhásZ zweites Bild ist das Blatt, auf dem die Dokumente aus Bild 1 verteilt werden. Das bedeutet, dass die gesamten Dokumente aus dem ersten Bild in jedem Namen auf dem zweiten Bild verteilt werden
jaa1108
Bitte posten Sie die gewünschte Ausgabe anstelle des zweiten Bildes, da dies das Verständnis Ihrer Frage erheblich erleichtern würde.
Máté Juhász
Automatische Verteilung des gesamten Dokuments auf ein anderes Blatt. Das Gesamtdokument sollte auf die Anzahl der verfügbaren Agenten für den Tag aufgeteilt werden. Das Ergebnis wird dann im zweiten Bild unter den Namen der Agenten angezeigt. Eine Befehlsschaltfläche kann hinzugefügt werden, um diese Aktion auszuführen.
jaa1108

Antworten:

0

Sie müssen lediglich eine Möglichkeit hinzufügen, um die nicht verfügbaren Agenten zu markieren und einen Index für jede Zelle zu berechnen.

Ich habe zwei Zeilen über den Agentenbezeichnungen hinzugefügt. Bei der ersten Zeile können Agenten als nicht verfügbar markiert werden. Ich habe der Zellenfarbe eine bedingte Formatierung hinzugefügt und den Namen der nicht verfügbaren Agenten durchgestrichen.

Die andere ist eine Hilfszeile, die einen inkrementellen Index für verfügbare Agenten des Formulars darstellt =IF(9:9="",MAX($C8:C8)+1,"-")

Ich habe auch eine Helper-Spalte hinzugefügt, bei der es sich lediglich um den Zeilenindex handelt, der bei 0 beginnt. (Die Helper-Spalten können direkt in die Tabellenformel eingefügt werden, machen es jedoch schwieriger zu lesen. Die Helper-Zeile und -Spalte können offensichtlich verborgen sein.

Die Formel in der Tabelle verwendet nur eine einfache =INDEX(<docs_id_list>,MATCH(..,<docs_id_index_list>,0)) Formel.

Die Tabellenformel lautet =IFERROR(INDEX('Document List'!$B:$B,MATCH($A:$A*(COUNTA($C$10:$P$10)-COUNTIFS($C$9:$P$9,"<>"))+$8:$8,'Document List'!$A:$A,0)),"-")

(Dies setzt natürlich voraus, dass sich Ihre Dokumentenliste in den Spalten A und B eines Blatts mit dem Namen "Dokumentenliste" befindet.)

enter image description here

Meine Lösung verwendet eine einfache First-In / First-Out-Formel, aber es wäre möglich, die Formel unter Verwendung der Wochentagsnummer anzupassen, um die Zuordnung in einer anderen Zelle zu starten, sodass die Tabelle auf die Agenten in der linken Spalte ausgerichtet ist.

tjejojyj
quelle