Wie kann ich in Excel Mitarbeitern Personen zuteilen?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Darfst Du davor 2 Spalten einfügen?  Und darf man in der Datei Bereiche benennen? (beides nicht zwingend, wäre nur praktischer)

Anyhow: mir schwebt da eine dynamische Gesamtlösung mit einer Kombination von einem Makro oder einer µFormel  mit integrierten Formeln vor, die kann ich aber erst heute abend ausarbeiten. (mach ich nur, wenn ausdrücklich gewünscht, deshalb melde Dich hier zurück mit den Antworten und schau morgen/montags nochmal rein.)


Hallo, das hört sich doch gut an. Ich darf an der Übersicht so viel verändern wie ich möchte. Ich hab heute den halben Tag verschwendet eine Lösung zu suchen, ich bekomme es tatsächlich nicht hin. Kennst du zufällig auch eine Möglichkeit, O und ö und die anderen Umlaute zusammen zu fassen? Vielen Dank für die Hilfe.

@cestbeau

ja, mit einem Makro und der Select Case-Anweisung. Da muss man allerdings definieren zB Case "ô", "ö", ....und die ganze o-Litanei und das für alle infragekommenden Zeichen, nicht nur Selbstlaute, sondern auch (vermutlich) Š, Ž, Ÿ oder æ etc. Und i'wie alles nur mit Kleinbuchstaben (Lcase) etc, weiß selbst noch nicht ganz genau

Eine übersichtliche Liste aller infragekommenden ASCII-Zeichen kriegst Du so: in B1:J1 die Zahlen 0..9, in A2:A27 die Zahlen 0..55. In B2 die Formel:

=Zeichen(10*$A2+B$1)

trotz möglicher Fehlerangabe (ASCII(00) ist nämlich Fehler) das ins gesamte Karree kopieren - das aber nur nebenbei.

Was mir vorschwebt ist, ALLE (bei Dir 940) Namen (einzeln) in Spalte C (ab C5) untereinander, per Makro oder µ-Formel (wenn der Computer so viele µFormeln packt) dann die "transformierten" Namen in Spalte B und in Spalte 1 (A5) die Formel: {=B5<B$5:B$999)}, vllt geht auch =Zählenwenn(B$5:B$999;">"&B5) (also ohne Matrixformel), ach ja, mit Summenprodukt müsste es in jedem Fall ohne {Eingabe} gehen.


Das würde den alphabetischen Rang der Namen festlegen, und über Anzahl2(C5:C999) kann man dann nach

Ganzzahl(1/3 bzw 2/3 der Maximalzahl) bei 3 Bearbeitern

die Grenznamen (ggf nur Eigenname(links(Zelle mit Grenzzahl;3)&"z" oder so ähnlich) deren erste 3 Buchstaben nennen, also zB

A bis Froz (Überschneidungen nicht auszuschließen, wenn der nächste Sachbearbeiter automatisch zB aufgrund der Zahl den Namen Frontus

 zugewiesen bekommt, also doch besser  alle Buchstaben.

Der Bearbeiter kann dann seine Liste sogar mit geordneten Namen erstellt bekommen.

Ich muss das aber sowohl µ-mäßig (die Syntax von Select Case muss ich mir erst wieder aneignen) als auch Formel-mäßig erst noch ausgestalten.

Geht es mit so vielen Makroformeln, ist das ganze dynamisch und flexibel,

muss man aber bei jedem neuen Namen ein µ durchlaufen lassen, könnte man das über ein Ereignis-Makro für Spalte C ebenfalls selbstermittelnd gestalten - mal sehen.

zB soll ja nicht nur der erste Buchstabe "gereinigt" werden, sondern auch die folgenden, so dass man in einer Unterschleife jeden Buchstaben abbfragen muss.

@Iamiam

Ach so, warum ab Zeile 5: Die Summen- und andere Auswerteformeln nach Zeile 1...3, die Zeile vor einer Liste(hier Zeile4) halte ich mir gerne frei, falls man mal filtern muss, da kann man dann die Überschriften draussen halten. Die Bearbeiter samt ihren Klienten würde ich übrigens -ebenfalls aus ggf Filtergründen auf einem Extra Blatt machen, Blätter braucht man ja nicht extra zu bezahlen ;)

@Iamiam

mit etwas mehr Überlegung finde ich vllt noch eine Möglichkeit, die Berechnungen effektiver zu gestalten (zB nur jede neu hinzugekommene Zelle zu "reinigen") und ausserdem lässt sich vllt auch verhindern, dass Klienten von Bearbeiter zu Bearbeiter wandern müssen (dieser Nebeneffekt wurde mir grade jetzt erst bewusst)

Bin noch voll in der Brainstorm-Phase, aber ich fang einfach mal an! Korrigieren kann ich (hoffentlich) dann später immer noch! (im Moment geht es um die Syntax der Select Case Anweisung!)

@Iamiam

so, das Grundgerüst steht,

ich hab das mit folgender Namensliste in einem neuen Blatt getestet:

AitzÄñitzBitzCitzDitzEitzFißGið?HçitzIñitzLitzJitzKîtzMitzNitzOitzÖitzÔitzPitzQitzRitzSitzTitzUitzÜitzVitzWitzXitzYitzZitz (in C5, C6 ff Füge das in ein Textfeld ein, die Umbrüche sind versteckt schon drin (und werden vom Editor hoffentlich auch transportiert, muss es zum Testen abschicken!)

Sub SelcaseModell()

Dim c As Range, LC As String, i As Integer, NamAnf As String

For Each c In ActiveSheet.Range("C5", "C999") 'ggf erweitern

LC = LCase(c.Value): NamAnf = ""

For i = 1 To Len(LC) ': Debug.Print LC & " " & Mid(LC, i, 1)

Select Case Mid(LC, i, 1) 'ein ä ließe sich auch zu ae umwandeln:?

Case "a", "ä", "à", "á", "â", "ã", "å", "æ"

NamAnf = NamAnf & "a"

Case "ç"

NamAnf = NamAnf & "c"

Case "ð"

NamAnf = NamAnf & "th" ' richtig?

Case "ñ"

NamAnf = NamAnf & "n"

Case "e", "é", "è", "ê", "ë"

NamAnf = NamAnf & "e"

Case "i", "í", "ì", "î", "ï"

NamAnf = NamAnf & "i"

Case "o", "ö", "ó", "ò", "ô", "õ", "ø"

NamAnf = NamAnf & "o"

Case "u", "ú", "ü", "ù", "û"

NamAnf = NamAnf & "u"

Case "ß"

NamAnf = NamAnf & "ss" 'ß wird durch ss ersetzt: geänderte Länge!

'weitere ???

Case Else

NamAnf = NamAnf & Mid(LC, i, 1) 'mit LC.text.characters(i) kein Erfolg

End Select

Next i

c.Offset(0, -1) = NamAnf

Next c

End Sub

Dann in A5 die Formel: =SUMMENPRODUKT((B$5:B$999>B5)*1) und runterziehen

es werden och ein paar Verfeinerungen kommen, aber die Grundresultate stecken da jetzt schon drin.

@Iamiam

Also, die Umbrüche in der Namensliste sind doch verlorengegangen [jetzt weiß ich auch das :-(( ], aber sie sind relativ schnell im Textfeld wieder eingefügt, anschließend nach C5 kopieren. Ist nicht ganz die Originalreihenfolge, aber fast.

@Iamiam

Bei der Zuweisung Bearbeiter-Client gibt es ein prinzipielles Problem: Im Grenzbereich wird ein Automatismus immer zu Verschiebungen führen, weil neue Namen ja nicht am Ende des Alphabets stehen und fertig bearbeitete Clients ebenfalls nicht.

Bei Priorität der bestehenden Zuweisungen muss man also inkauf nehmen, dass ein Bearbeiter keinen geschlossenen Block mehr hat.

Mit ein paar Komplikationen ließe sich diese Priorität wahrscheinlich herstellen, aber eben: s.o.!!

Ich geh mal davon aus, dass diese Priorität besteht und mach mir mal Gedanken, wie. Ginge es, den Namen mit einer zB 3-stelligen Nummer am Anfang zu versehen (jeder Bearbeiter hat eine, bis zu 99 Bearbeiter, die führende Null wird vermutlich(?) zur Unterscheidung, ob schon zugewiesen oder nicht,  gebraucht

Die führenden Ziffern müssten in Spalte C automatisch kreiert werden, die Originalnamensliste könnte aber woanders sein

@Iamiam

Besteht die Möglichkeit, dass du mir deine Datei senden kannst? Dann versuche ich es daran nachzuvollziehen.

@cestbeau

Danke für den Stern!

in einem Freundschaftsantrag kannst Du mir eine Mail-Adresse schicken (nicht in einem Kompliment: die sind öffentlich!), vorsichtshalber werde ich die Freundschaft annehmen (und nach Fertigstellung vllt wieder löschen-es wird sonst zuviel!), der FA-Text ist nämlich anscheinend nur einmal einsehbar.

Werde aber morgen nicht dazukommen, daran weiter zu arbeiten und vllt auch noch nicht am Mo!

Du hast es nicht explizit genannt, im Beispiel aber angedeutet: Soll ein Mitarbeiter immer für alle Kunden eines Anfangsbuchstaben zuständig sein? Dann aber nicht (wie üblich) zusammenhängend, sondern auch beliebige Kombinationen? Letzteres kann ich mir über Formeln nicht vorstellen. Bei der anderen Variante könnte man wie von Dir schon erwähnt einen ungefähren Soll-Prozentsatz je MA ermitteln und prüfen, ab welchem Buchstaben diese Grenze erreicht ist. Also eine Liste A-Z mit dem proz. Anteil je Buchstabe, dann A+B+C bis die Grenze erreicht ist. Allerdings kommt der letzte MA dann systematisch besser weg als die anderen - die liegen immer drüber, entsprechend weniger hat er.

Blatt 1 - Mitarbeiter
1 Mitarbeiter
2 Mitarbeiter
3 Mitarbeiter

Blatt 2 - Kunden
1 Kunde
2 Kunde
3 Kunde

Blatt 3 - Mitarbeiter zu Kunde
1 3
1 4
1 5
2 9
2 10

mit =LINKS(B2;1) bekommst Du den Anfangsbuchstaben aus dem Feld B2 den zuständigen Mitarbeiter könntest Du dann mittels SVERWEIS() zuordnen

Was möchtest Du wissen?