Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelleninhalt sortieren

Zelleninhalt sortieren
10.02.2020 15:55:13
Gregor
Hallo Zusammen,
ich stehe derzeit vor einem kleinen Sortier-Problem, und zwar habe ich mehrere 100 Excelzellen in einer Spalte, welche mit Locations gefüllt sind. Bspw.:
Z1: Vienna,
Z2: Orth, Vienna,
Z3: Lexington, Vienna, Orth,
Z4: Vienna, Orth,
Z5: Toronto, Orth, Vienna, Lexington
usw. (insgesamt gibt es 9 verschiedene Locations).
Meine Aufgabe: Ich soll in einer Pivot-Tabelle aufzeigen, wie oft welche Kombinationen vorkommen....dabei ist es beim Zusammenzählen der Kombinationen egal, ob A, B, C steht oder B,C,A ..... selbe Locations in einer Zelle = selbe Kombination.
Pivot sieht das natürlich beim Zusammenzählen anders, daher meine Frage:
Wie kann ich die Zellinhalte INNERHALB der Zelle sortieren (zB. alphabetisch)? Hab bei meiner Suche nur einen Beitrag von 2006 entdeckt mit einer Macro-Anleitung, welche mein Wissen leider ein wenig übertroffen hat :(
Vielen Dank vorab für die Hilfe. Ich verwende hier Excel 365 (gab es bei der Version nicht zur Auswahl).
LG
Gregor

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit Tricks?
10.02.2020 16:10:52
Fennek
Hallo,
VBA bietet eher wenig Unterstüzung beim Sortieren ("ArrayList"), aber die Arbeitsblatt-Funktionen sind gut. Warum nicht mit "Text-in-Spalte" und dann "Sortieren" der Spalten nutzen?
mfg
AW: Buchstaben sortieren
10.02.2020 18:08:38
Fennek
Hallo,
mit dieser kleinen Spielerei sollte es gehen: Die unsortierten Städte-Namen stehen in Spalte A, in Spalte B steht sortiert eine Art "fingerprint", die einduetige Kombinationen sofort erkennbar macht:

'A1: Mainz, Köln, Tunis
'A2: Tunis, Mainz, Köln
Sub Sort()
Dim By() As Byte
Dim WSF As WorksheetFunction: Set WSF = Application.WorksheetFunction
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Tx = Replace(Replace(Cells(i, 1), " ", ""), ",", "")
By = StrConv(Tx, vbFromUnicode)
For b = 0 To UBound(By)
pos = WSF.Large(By, b + 1)
Ty = Ty & Hex(WSF.Large(By, b + 1)) & "|"
Next b
Cells(i, 2) = Ty
Ty = ""
Next i
End Sub
mfg
Anzeige
AW: Buchstaben sortieren
10.02.2020 18:29:48
Gregor
Hi Fennek,
vielen Dank für die schnelle Antwort.
Mit "Text in Spalten" hatte ich das Problem, dass ich (wenn die A-Spalte alle unterschiedlichen Kombinationen enthält) dann B, C, D Spalten erhalte, in denen zB. in B1 etwas anderes steht als in B2. Und da ich 14 Locations hatte, hätte ich da recht lange herum getan, um danach wieder die Kombinationen zu generieren.
Ich hab zwischenzeitlich folgenden Tipp von einem Kollegen bekommen, der funktioniert hat, aber sicherlich nicht der zeiteffizienteste Weg war, das ganze zu lösen:
Schritt 1: Notieren aller Locations alphabetisch auf einem Zettel
Schritt 2: Neben der Loc.-Spalte 14 leere Spalten einfügen (links).
Schritt 3: Die Spalte mit allen Locations nach der alphabetisch ersten Location filtern. Nun diese Location kopieren und in die leere, ganz linke Spalte einfügen (oberste Zelle und runterziehen)
Schritt 4: Filter wieder weg, Loc-Spalte nach Location B filtern....in die zweitlinkste Spalte einfügen....
usw...
14x ^^. Danach eine 15 Spalte erstellen, =Verketten (A;....;N)....eh voila...eine alphabetische Anordnung aller Locations, mit welcher ich via Pivot Tabelle auch eine Anzahl der Kombinationen auflisten kann.
Werde morgen noch den VBA Ansatz probieren, hab damit aber seit gut 20 Jahren nichts mehr gemacht, daher bin ich wohl a bissl eingerostet.
LG
Anzeige
AW: Zelleninhalt sortieren
10.02.2020 20:47:41
Daniel
Hi
Codes mit Sortierfunktion für Arrays sollten sich im Internet finden lassen.
Die musst du auch nicht vollständig verstehen, sondern nur richtig anwenden.
Dann zerlegst du deinen Zelltext mit SPLIT in ein Array, sortiert dieses und fügst es dann mit JOIN wieder zusammen.
Bei der Datenmenge muss es ja auch kein QuickSort sei , da tuts auch was einfacheres.
Gruß Daniel
AW: Zelleninhalt sortieren
11.02.2020 11:17:42
Daniel
HI
ohne VBA so:
wenn du die 14 Locations kennst, schreibe sie einzeln in Zeile 1 in die Zellen B1-O1
in Spalte A ab A2 stehen deine Werte
in die Zelle B2 kommt dann diese Formel, die du bis O2 ziehen kannst:
=Zählenwenn($A2;"*"&B$1&"*")
in die Zelle P2 kommt dann diese Formel, welche dir für jede Kombination einen Zahlenwert berchnet, den du vergleichen kannst:
=SummenProdukt(B2:O2;2^(Spalte(B2:O2)-2))
die Formeln aus zeile 2 ziehst du soweit nach unten wie benötigt.
Gruß Daniel
Anzeige
AW: Zelleninhalt sortieren
13.02.2020 08:43:06
Gregor
Hi Daniel,
danke dir für die Formeln, hat super funktioniert. Die Aufteilung bzw. alphabetische Anordnung in einer Zelle habe ich ja wie beschrieben mittels einer Spaltenweisen Aufteilung + späterem Verketten gemacht, aber für die Diagramm-Darstellung der Kombinationen war dein Tipp sehr hilfreich :)
LG und vielen Dank
Gregor

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige