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.

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

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

Was möchtest Du wissen?