Frage von syrena1992, 30

Wie Daten aus einer Zelle erhalten?

Hallo,

ich habe Daten in Zellen nach folgendem Schema: AA - BB - CC - DD - ... . Die AA usw. sind dabei jedoch von unterschiedlicher Zeichenlänge und werden von einander nur durch Leerzeichen und Bindestrich unterteilt. Wie erhalte ich aus einer solchen Zelle jeweils AA bzw. BB oder CC?

LG Syrena

Expertenantwort
von Iamiam, Community-Experte für Excel, 20

Es geht, aber es ist komplex.

Ich entwickle der Reihe nach. Deine Ketten seien in A1 ff (nach unten) Ich hoffe, Du kannst/darfst die vielen Leer-leer ersetzen durch nur -  (das ist nicht zwingend, aber es vereinfacht alles erheblich, auch das Verständnis)

Jetzt legst Du fest, zwischen dem wievielten  und wievielten - Du den String darstellen willst, zB zwischen dem 3. und dem 4 (es ginge auch der 2. und der 4). Du schreibst nun in C1 3 und in D1 4 rein. in E1 dann die Formel:

=WECHSELN(WECHSELN(A1;"-";"❷";D1);"-";"❶";C1)

Am Ergebnis siehst Du, Dein Text DD ist nun eingerahmt vom Anfangs❶- und End❷-Zeichen. Du kannst ihn nun isolieren mit der Formel (zB in E2):

=TEIL(E1;FINDEN("❶";E1;1)+1;FINDEN("❷";E1;1)-FINDEN("❶";E1;1)-1)

Finden(❷"; - FINDEN("❶" -1 ist dabei die Länge des blanken Strings dazwischen. Du benützt jetzt noch eine Zwischenzelle und zwei Steuerzellen. Die Steuerzellen rate ich Dir ausgelagert zu belassen Du blickst sonst nicht mehr durch. Die Zwischenzelle kannst Du eliminieren, wenn Du eine sehr lange und unübersichtliche Formel inkauf nimmst: hier wurden alle Bezüge auf E1 ersetzt durch die Wechseln-Formel in E1: Formel zB in G1:

=TEIL(WECHSELN(WECHSELN(A1;"-";"❷";D1);"-";"❶";C1);FINDEN("❶";WECHSELN(WECHSELN(A1;"-";"❷";D1);"-";"❶";C1);1)+1;FINDEN("❷";WECHSELN(WECHSELN(A1;"-";"❷";D1);"-";"❶";C1);1)-FINDEN("❶";WECHSELN(WECHSELN(A1;"-";"❷";D1);"-";"❶";C1);1)-1)

nicht gerade sehr übersichtlich, deshalb hab ichs ja stufenweise entwickelt. Ergebnis: ein schlichtes DD

E2 kannst Du nun wieder löschen oder beliebig verschieben, wie überhaupt Du alle Zellen beliebig verschieben kannst. Deine Formeln sind jetzt alle in derselben Zeile wie der Originalstring und können nach unten zur Nutzung für andere Strings/Ausschnitte kopiert werden, ggf musst Du $-Zeichen setzen, wenn Du String oder begrenzende Zahlen nicht mitkopieren willst bzw alles synchron ändern.

Sind Deine Spalten C:G belegt, fügst du einfach Neue an diesen Stellen ein und verschiebst sie später nach Bedarf nach rechts.

Kommentar von Iamiam ,

PS: kannst Du leer - leer nicht durch nur - ersetzen, musst Du in dden Formeln " - " durch immer 3 Zeichen (evtl 3 gleiche, zB mit der Folge "❶❶❶")   ersetzen, aber auch bei Finden heißt es dann -3 oder +3 (oder 4? hab ich jetzt nicht mehr probiert)

Und 200000 Einträge: ich weiß nicht, was der Prozessor/Arbeitsspeicher dazu sagt, evtl musst Du stufenweise per Formel auswerten und dann immer wieder zu Wert umsetzen (kopierbares Formelbackup nicht vergessen!)

Kommentar von Iamiam ,

Kommando zurück!

Habe beim nochmals drüberschauen festgestellt, dass es gar nicht notwendig ist, im Original das leer-leer auszutauschen oder gegen "❶❶❶" (bzw "")zu wechseln, da sich alle weiteren Formeln nur auf die "gewechselten" Zellen beziehen. Es reicht, " - " gegen "❷" bzw gegen "❶" zu wechseln.

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 24

Daten → Text in Spalten → getrennt → Trennzeichen "Leerzeichen" und "Andere: '-'"

Kommentar von syrena1992 ,

Ist glaub ich schwierig, wenn der Inhalt der Zelle auf eine andere Datei verweist (sverweis)

Kommentar von Sawascwoolf ,

Dann gib mal mehr Infos zu deiner Situation, vermutlich lässt sich das auch ganz anders lösen...

Kommentar von syrena1992 ,

Also ich habe zwei Spalten. In der ersten sind Zahlen. In der zweiten werden mittels Sverweis mit dem Kriterium aus der ersten Spalte Text aus einer anderen Datei eingefügt mit dem Format AA - BB - CC - ... . Die AAs, usw. sind jedoch unterschiedlicher Länge. In Spalte 3 möchte ich nun AA, in der 4. Spalte BB und in der 5. Spalte CC aufgelistet haben. Für AA ist dies ja =LINKS(A1;FINDEN(" - ";A1)). Bei BB steh ich jedoch auf dem Schlauch.

Kommentar von Oubyi ,

DAS verstehe ich jetzt nicht.

ich habe Daten in Zellen nach folgendem Schema: AA - BB - CC - DD

Wo ist da von Formeln die Rede?
Ich war davon ausgegangen, dass das Text ist.
Ich denke, das musst Du dann näher erläutern.

Antwort
von syrena1992, 30

Also für AA würde ich folgende Lösung erhalten =LINKS(A1;FINDEN(" - ";A1)). Aber bei BB wirds schon kniffliger

Antwort
von ScreenTea, 30

Den Kontext zu kennen wäre bei dieser Frage hilfreich. 

Redest du von Excel? Programmierung? Genetik? Sträflingen? 

Kommentar von syrena1992 ,

Oh das hab ich bei dem ganzen total vergessen und es nur als Schlüsselwort für die Frage hinzugefügt :D Ja Excel

Kommentar von ScreenTea ,

Also insofern ich die Frage richtig verstanden habe (ist ziemlich verwurstet Formuliert ^^) geht das einfach indem du in die Zelle in der du die Informationen haben willst "A1+A2+...An" Tipst. 

Wenn du für die Zahlen ein passende Formatierung brauchst um sie anzugleichen kannst du das indem du einen Rechtsklick auf die Spalte, Zeile oder Zelle machst und Formatierung auswählst. In dem Fenster das passende wählen und voilà. 

Kommentar von syrena1992 ,

Also ich habe Zelle A1 und in der Zelle ist AA - BB - CC - usw drin. und ich will in Zelle A2 dann nur AA, in A3 nur BB und in A4 nur CC drin haben.

Kommentar von ScreenTea ,

Uff, das geht soweit ich weiß nicht in Excel und auch nicht in OpenOffice. Zumindest nicht solange du dir kein Script mit Visual Basic schreibst das dir das auseinander klamüster.

Da ist leider Handarbeit angesagt, da für so etwas spezifisches sicherlich auch niemand etwas im Netz hochgeladen hat. Arbeite halt mit Strg+C und Strg+V, dann sparst du dir schon ne menge klickerei... tut mir leid.

Kommentar von syrena1992 ,

bei 200.000 Zeilen ist das leider sehr aufwändig. Das AA raussuchen ist ja noch recht einfach mit =LINKS(A1;FINDEN(" - ";A1)). Aber bei BB geh ich in die Knie

Kommentar von Oubyi ,

Die Formel für BB hatte ich Dir schon in meiner Antwort gepostet.
DIE ist aber leider - aus mir unverständlichen Gründen - gelöscht worden.
Im Moment habe ich leider keine Zeit mehr, die nochmal neu zusammen zu bauen. Ich schaue aber morgen früh noch mal "rein".

Expertenantwort
von Oubyi, Community-Experte für Excel, 3

Sorry, hat etwas länger gedauert. Aber falls es Dich noch interessiert hier die Formel um BB, CC, DD ... usw herauszufiltern:

=WENNFEHLER(TEIL($A$1;FINDEN(" # ";WECHSELN($A$1&" - ";" - ";" # ";SPALTE(A1)))+3;(FINDEN(" # ";WECHSELN($A$1&" - ";" - ";" # ";SPALTE(B1))&" - ")+3)-(FINDEN(" # ";WECHSELN($A$1&" - ";" - ";" # ";SPALTE(A1))&" - ")+3)-3);"")

Diese Formel musst Du dann nach rechts kopieren, soweit wie nötig.
Außerdem muss sichergestellt sein, dass im Quelltext kein " # " vorkommt.

Klappt es?

Keine passende Antwort gefunden?

Fragen Sie die Community