Excel Text aus Zelle filtern?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Angenommen deine Daten stehen ab A1, nach dem AA folgen immer genau 6 Ziffern.

Das ERSTE vorkommen erhältst du in B1 mit

=TEIL(A1;FINDEN("AA";A1);8)

Dann kannst du in C1 den Text erneut ausgeben OHNE das erste vorkommen:

=WECHSELN(A1;B1;)

das nächste Vorkommen dann in D1 mit

=TEIL(C1;FINDEN("AA";C1);8)

usw.

Aseterus 
Fragesteller
 15.11.2019, 15:57

Genial perfekt danke und ich seh grad unglücklicherweise stehen in manchen Zellen zwei AA Nummern, kann man da beide ausgeben, geht das?
LG

1
gfntom  15.11.2019, 16:02
@Aseterus

Habe ich ja geschrieben, wie du die zweite Nummer (in D1) bekommst.

Oder willst du die in einer Zelle?

Wenn es immer maximal 2 Nummern je Zelle sein können, dann folgt gleich noch etwas.

1
gfntom  15.11.2019, 16:08
@gfntom

zweites Vorkommen:

=WENNFEHLER(TEIL(A1;FINDEN("AA";A1;FINDEN("AA";A1)+1);8);"")

4
Aseterus 
Fragesteller
 15.11.2019, 16:38
@gfntom

Perfekt vielen Dank dafür !!!

2
Oubyi, UserMod Light  15.11.2019, 16:49
@gfntom DH!

Nur mal eine Alternative für das 2. und 3. Vorkommen:

'2. Vorkommen:

=TEIL(A1;FINDEN("AA";WECHSELN(A1;"AA";"##";1));8)

'3. Vorkommen:

=TEIL(A1;FINDEN("AA";WECHSELN(WECHSELN(A1;"AA";"##";1);"AA";"##";1));8)

Für noch mehr mögliche Vorkommen müsste der WECHSEL-Teil weiter verschachtelt werden. Wenn es nicht zu "doll" wird, ist das machbar.

Wie gesagt, ist nur eine Alternative. Ich arbeite immer gerne mit WECHSELN, weil man da direkt das n-te Vorkommen angeben kann.

3
Iamiam  15.11.2019, 23:26
@Oubyi, UserMod Light

ihr habt genau das ausgeführt, was mir im Kopf rumgespukt hat, und mir so weitere Arbeit erspart, DH!

Wechseln hat auch noch den Vorteil, dass es Groß-/klein unterscheidet (AA kommt ja allenfalls noch als Batterietyp vor). Im Screenshot kommen auch drei Nrn. in einer Zelle vor, vllt muss man mit vieren rechnen.

Was wider Erwarten übrigens nicht ging, war die Differenzierung

=VERGLEICH("AA?????? *";A:A;0) und

=VERGLEICH("?*AA?????? *";A:A;0)

, also führende Nummer und mittelständige Nr. unterscheiden, k.A., warum (sollte eigentlich!), da hätte man nämlich das Leerzeichen danach noch als Kriterium mit verwenden können. Aber =VERGLEICH("*AA?????? *";A:A;0) in Kombi mit Wechseln wäre immer noch möglich. Oder -bei Bedarf- eine Kombi mit Istzahl(die nächsten 6)

1

"das script" muss ja nur jeweils in einer zelle nach AA00... suchen und dann ab dem A beginnend 8 Zeichen aufnehmen und danach die zelle löschen, und das aufgenommene aus der ablage in die zelle einfügen, zur nächsten zelle gehen und "das script" von vorn beginnen. Als schleife.. irgendwo gibt es noch den ausgang bei der letzten zelle oder tasteneingabe (damit das nicht unendlich durch läuft) und dann ists schon fertig.

Prinzipiell kannst du mit B1: =TEIL(A1;FINDEN("AA";A1;1);8) das erste Auftreten einer solchen Nummer rausschreiben. Runterkopieren.

Wie du eine zweite solche Nummer extrahieren kannst, muss ich noch überlegen (aber erst heut nacht wieder, hab aber schon eine vage Idee!)