Wie Daten aus einer Zelle erhalten?

...komplette Frage anzeigen

5 Antworten

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.

Iamiam 02.12.2015, 17:12

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!)

1
Iamiam 02.12.2015, 23:54
@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.

1

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?

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

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

syrena1992 02.12.2015, 11:18

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

0
Sawascwoolf 02.12.2015, 11:33
@syrena1992

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

0
syrena1992 02.12.2015, 11:38
@Sawascwoolf

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.

0
Oubyi 02.12.2015, 11:55
@syrena1992

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.

1

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

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

syrena1992 02.12.2015, 11:08

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

0
ScreenTea 02.12.2015, 11:14
@syrena1992

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à. 

0
syrena1992 02.12.2015, 11:16
@ScreenTea

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.

0
ScreenTea 02.12.2015, 11:34
@syrena1992

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.

0
syrena1992 02.12.2015, 11:36
@ScreenTea

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

0
Oubyi 02.12.2015, 12:00
@syrena1992

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".

1

Was möchtest Du wissen?