Clever-Excel-Forum

Normale Version: Zelleninhalt "Filtern"
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin,

ich habe eine CSV-Datei mit diversen Artikeln bekommen. Deren Artikelbeschreibung ist komplett in einem Feld. Da steht allerdings kein toller Text zu, sondern eben die ganzen Produktdaten. Konkret sieht das so aus:


Zitat:Teelicht, Durchmesser 38mm, Höhe 24mm, 25 Stück per Box, gelb

Theoretisch könnte man das jetzt schonmal nach jedem Komma in eine eigene Spalte teilen.
Das Problem ist: bei anderen Artikeln kann die Reihenfolge anders sein und es können mehr, oder weniger Daten sein. 
Es kann also auch so aussehen:


Zitat:Teelicht Winterlight, 40Stück im Tray, Durchmesser 38mm, Höhe 2,5cm, Brenndauer ca. 25 h, fbg. sort.

Wie bekomme ich also alle Werte mit z.B. "Höhe" in eine eigene Spalte?


Mein grober Gedanke war:
Die Ausgangs-Spalte ganz oft kopieren und dann ein Makro durchlaufen lassen, dass in jeder Spalte alles bis auf ein Wort löscht - und das Wort ist je nach Spalte unterschiedlich.
Also in der einen Spalte alles, was vor und nach "Durchmesser XXmm". Gibt es in einem Fall keinen Durchmesser, dann soll die Zelle frei bleiben.

Ist das verständlich? Habt ihr Ideen dazu?


Vielen Dank vorab!
Hi,

stell uns doch bitte eine Muster-csv-Datei zur Verfügung. 3-4 Zeilen mit relevanten Daten genügen völlig. Somit können die Helfer ohne einen Nachbau, der vielleicht deinem Original gar nicht ähnlich sieht, verschiedene Lösungsansätze ausprobieren.

Hier ist es beschrieben, wie es geht.
Hallo Manisch,

hast Du das Durcheinander in einer csv oder kommen die unterschiedlichen Artikeldaten in unterschiedlichen Dateien?
Der Punkt ist ja nicht nur, dass es eine unterschiedliche Anzahl Daten ist, sondern auch eine unterschiedliche Reihenfolge in der Zeichenkette.

Du könntest folgendes tun:
- Öffnen der csv
- Übernahme aller Datensätze in ein Array
- Schleife über alle Datensätze im Array
--> in der Schleife
--- Splitten des Datensatzes
--- Vergleich jedes Feldes mit Schlüsselworten in einer weiteren Schleife
--- Ablage der Daten entsprechend dem Schlüsselfort in ein Feld eines zweiten Arrays
--> Nach Abarbeitung der Schleifen
- Übertragung des zweiten Arrays in ein Tabellenblatt