Excel 2019: Text auf mehrere Spalten aufteilen durch Referenz

Hyourinmaru

Lt. Commander
Registriert
Feb. 2010
Beiträge
1.222
Hallo zusammen,

ich habe hier die Excel 2019-Tabelle "ImportSheet", die ich verwende, um Informationen für den Import in eine Access 2019-Database vorzubereiten. In diese Tabelle kommen diverse Dateninformationen, die ich erst aus einer Wikia-Tabelle aus einem Artikel dort hineinkopiere und dort dann weiterverarbeite und dementsprechend für den Import vorbereite. Nun ist es so, dass in Spalte F englische Angaben stehen, die ich gerne auf mehrere Spalten (sprich G - K) aufteilen möchte. Dazu habe ich eine zweite Excel-Tabelle erstellt, in welcher in der Spalte A die englischen Angaben stehen und in den Spalten B - F die aufgeteilten Informationen in deutsch stehen.
Nun möchte ich den Workflow vereinfachen, indem ich in meinem ImportSheet eine Referenz zu der zweiten Excel-Tabelle einbaue, welche mir dann die entsprechenden aufgeteilten Angaben in den Spalten G - K automatisch in meinem ImportSheet anzeigt.

Weiß jemand, wie ich das am Besten erreichen kann?

MfG Hyourinmaru
 
könntest Du ein kleines Beispiel hier rein posten, so das man erkennen kann wie die Worte bzw. englichen Begriffe von einenader getrennt sind? Man braucht eine Gemeinsamkeit der Einträge, um das ganze automatisiert ablaufen lassen zu können. Muss es eine Funktion in der Zelle sein oder würde auf ein Makro, welches das ganze trennt auch gehen?
 
Hab mal die beiden Excel-Dateien hier hochgeladen. Funktion würde ich bevorzugen, da ich mich mit Makros nicht so viel auskenne. Makro würde aber auch gehen, falls es mit einer Funktion nicht funktionieren sollte. Müsste ich mich dann halt reinlesen.
 

Anhänge

Okay ich hab Deine Lösung, allerdings hast Du ein kleines "unsichtbares Problem" in Deiner Excelmappe.

Zunächst die Lösung:

In den Spalten Tabelle ImportSheet.xlsx in der 2. Zeile musst Du folgende Funktionen einfügen:

Spalte G:

=SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;2;FALSCH)

Spalte H:

=SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;3;FALSCH)

Spalte I:

=SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;4;FALSCH)

Spalte K:

=SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;5;FALSCH)

Nur als Hinweis: Natürlich muss die andere Tabelle "CardcategoryDetails.xlsx" parallel offen sein.
Dann kannst Du die Funktionen der Zeile in die unteren Zellen kopieren.


WICHTIG:
1. Formatieren die Spalte F in der Tabelle ImportSheet komplett als Text!!!
2. Formatieren die Spalte A in der Tabelle Tabelle1 in der Arbeitsmappe CardcategoryDetails.xlsx komplett als Text!!!


Das Problem:
---------------
Allerdings hast Du Dir ein kleines Problem beim Reinkopieren der Daten aus der Wiki eingehandelt.
Wenn Du die Funktionen so wie oben beschrieben eingefügt hast wirst Du überall #NV in den Zellen sehen.
Und warum das jetzt?

Weil die LEERZEICHEN vom Wiki-Artikel andere sind als die die in deiner Vergleichstabelle stehen.
Frag mich nicht warum. Es sind andere Ascii bzw. ANSI Werte. Wenn Du ein Leerzeichen aus der Spalte F (Tabelle "ImportSheet.xlsx") nimmst und es durch Suchen und Ersetzen durch ein "normales" Leerzeichen ersetzet , dann werden die Werte angezeigt. So habe ich es beim mir gerade gemacht und dann funktioniert alles.

Ich hoffe ich konnte Dir das Problem einigermasen verständlich erklären.
Ergänzung ()

Mittlerweile habe ich folgendes herausgefunden:

Beispiel:
Effect Tuner monster

Zwischen den beiden Wörter Effect und Tuner ist ein Leerzeichen (mit zwei Ascii-Wert 160 und 84) vorhanden.
Zwischen den beiden Wörtern Tuner und Monster ist ein Leerzeichen mit dem Ascii-Wert 32 (das ist der normale Wert) vorhanden.

Du kannst Jetzt das erste Leerzeichen (zwischen Effect und Tuner) markieren und mit der Suchen und Ersetzen-Funktion alle diese Werte in der Exceltabelle in ein normales Leerzeichen (Ascii-Wert 32) umwandeln.

Es wird kompliziert.... :-) Das ganze Problem nennt sich:

nicht-brechende Leerzeichen

Mann müsste ein Makro erstellen, dass den importieren Text erst einmal richtig formatiert.
Ergänzung ()


So ich hab es jetzt glaube ich:
Die Idee ist, dass ich den Text ANSI-Wert 160 und 84 in der Spalte F durch Leerzeichen (ANSI-Wert 32) vor dem Suchen ersetze.

Füge also folgende Funktionen ein:

In den Spalten Tabelle ImportSheet.xlsx in der 2. Zeile musst Du folgende Funktionen einfügen:

Spalte G:

=SVERWEIS(WECHSELN($F2;ZEICHEN(160) & ZEICHEN(84);" ");[CardCategoryDetail.xlsx]Tabelle1!$A:$F;2;FALSCH)

Spalte H:

=SVERWEIS(WECHSELN($F2;ZEICHEN(160) & ZEICHEN(84);" ");[CardCategoryDetail.xlsx]Tabelle1!$A:$F;3;FALSCH)

Spalte I:

=SVERWEIS(WECHSELN($F2;ZEICHEN(160) & ZEICHEN(84);" ");[CardCategoryDetail.xlsx]Tabelle1!$A:$F;4;FALSCH)


Spalte K:

=SVERWEIS(WECHSELN($F2;ZEICHEN(160) & ZEICHEN(84);" ");[CardCategoryDetail.xlsx]Tabelle1!$A:$F;5;FALSCH)

Hinweis:
Dort wo dann immer noch #NV in den Zellen steht ist kein entsprechender Wert in der Spalte A der Referenztabelle vorhanden.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Hyourinmaru
Danke dir für die umfassende Antwort, das hat mich jetzt einen großen Schritt weitergebracht. 👍😊
Das mit dem Formatieren der Leerzeichen über Suchen & Ersetzen ist keine große Aufgabe. Da ich nach dem Einfügen der Datensätze aus dem Wikia noch andere Zeichen entfernen bzw. ersetzen muss, kann ich das dann auch gleich mitmachen.
Oder aber, ich kopiere diese andersartigen Leerzeichen in die Referenz-Tabelle, sodass diese dann Teil der Referenz sind und dann dementsprechend nicht über Suchen & Ersetzen umgewandelt werden müssen.

Hatte dann aber auch noch ein Problem, das ich dann im Alleingang gelöst habe: In den Zellen der Referenz-Datei, in denen nichts drinne stand, tauchte im ImportSheet dann eine null auf. Da ich null-Ausgaben in der Database nicht gebrauchen kann, habe ich das ganze dann in eine WENN-Funktion gepackt. Sieht dann so aus:
Spalte G:
=WENN(SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;2;FALSCH)=0;"";SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;2;FALSCH))

Spalte H:
=WENN(SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;3;FALSCH)=0;"";SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;3;FALSCH))

Spalte I:
=WENN(SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;4;FALSCH)=0;"";SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;4;FALSCH))

Spalte J:
=WENN(SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;5;FALSCH)=0;"";SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;5;FALSCH))

Spalte K:
=WENN(SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;6;FALSCH)=0;"";SVERWEIS($F2;[CardCategoryDetail.xlsx]Tabelle1!$A:$F;6;FALSCH))

So werden bei leeren Zellen in der Referenz-Datei die nullen nicht ausgegeben.

MfG Hyourinmaru
 
  • Gefällt mir
Reaktionen: Gameforce
Zurück
Oben