Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: Vize am Juli 13, 2016, 15:18:07 Nachmittag

Titel: Office 2013: Automatische Sortierung über Zelleninhalt (Text)
Beitrag von: Vize am Juli 13, 2016, 15:18:07 Nachmittag
Hallo liebes Forum,

ich habe folgendes Problem:

Ich habe eine Liste mit ca. 80 Städten vor mir liegen (alle in Spalte B eingetragen), wobei ein gewisser Teil auch doppelt, bzw. dreifach genannt ist. (Daher insgesamt ca. 50 verschiedene Städte)
Ich würde nun gerne eine automatische Nummerierung vornehmen, bei der alle Städte eine Nummer bekommen. Spalte B (Zellinhalt = Text) muss irgendwie auf den Zellinhalt geprüft werden.
Die mehrfach genannten Städte sollen aber pro Stadt auch nur eine Nummer bekommen, die dann mehrmals erscheint. (z.B. dreimal die 1 in Spalte A dreimal Lissabon in Spalte B)
Folglich soll bei der Nummerierung keine Stadt aus der Liste fallen.

Ich hab's schon mit Wenn-Dann-Funktionen kombiniert mit S-Verweis versucht, bin aber auf noch keinen grünen Zweig gekommen.

Kann mir wer helfen?

Danke schon im Voraus!

Vize
Titel: Antw:Office 2013: Automatische Sortierung über Zelleninhalt (Text)
Beitrag von: gmg-cc am Juli 13, 2016, 15:24:04 Nachmittag
Moin,
kopiere alle Städte in einen gesonderten Bereich. Lasse dir per Daten-Menü alle Duplikate löschen. Dann füllst du in der Spalte daneben die Nummern aus. Und diesen Bereich nutzt du für einen SVERWEIS() (der hat übrigens 4 Argumente!).
Titel: Antw:Office 2013: Automatische Sortierung über Zelleninhalt (Text)
Beitrag von: Vize am Juli 13, 2016, 16:36:53 Nachmittag
Hallo Günther,

vielen Dank. Hast du auch eine Variante ohne einen gesonderten Bereich in dem ich die Duplikate entfernen muss?
Mich interessiert einfach auch, ob das generell mit einer Formel möglich ist. Oder auch per VBA.

Viele Grüße
Vize
Titel: Antw:Office 2013: Automatische Sortierung über Zelleninhalt (Text)
Beitrag von: gmg-cc am Juli 13, 2016, 19:08:13 Nachmittag
Moin,
das ist durchaus auch per VBA möglich. Entweder wie oben geschildert und dann den gesonderten Bereich löschen oder beispielsweise alle Städte in ein Array einlesen, dann einen Eintag nach dem nächsten in ein zweites 2-dimensionales Array kopieren und vorher vergleichen, ob der Eintrag da schon existiert. Dann in dem Array die 2. Dimension mit dem Index füllen.

Anschließend kannst du dann irgendwie die Indizes ins Tabellenblatt bringen.

Eine Formel-Lösung ist gewiss auch möglich, aber ich ziehe eine transparente Lösung vor und Formeln mit mehr als 50 Zeichen sind mir fast immer zuwider.  ;)