Wie kann ich mit einer Excel-Funktion Teil einer Zelle ermitteln?

...komplette Frage anzeigen

3 Antworten

=TEIL(A1;FINDEN("_";WECHSELN(A1;"\";"_";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))))+1;200)

So sollte es gehen

iMPerFekTioN 30.11.2016, 16:10

Wow Sehr schöne Formel! DH!

Willst du mir die erklären? Ich komm nicht mit =)

0
BenBehrendt 30.11.2016, 16:13
@iMPerFekTioN

Du tauscht solange das \ mit etwas anderem aus, in dem Fall einem "_" bis es nicht mehr vorkommt. Dann nimmst du den Teil der Übrig bleibt :)

1
iMPerFekTioN 30.11.2016, 16:29
@BenBehrendt

Erschließt sich mir nich so ganz, aber funktioniert!

Wenn du Zeit und Lust hast wäre es echt cool wenn du die Formel mal Stück für Stück erklären könntest :D

1
Iamiam 30.11.2016, 16:41
@BenBehrendt

Erst mal DH für die schöne Formel! Inzwischen gibt es doch hier schon recht zahlreiche echte Experten, die sowas beantworten können (UND DAS AUCH TUN!) (ich meine wirkliche Experten, nicht nur GF-Titel ! )

Die Erklärung ist vllt nicht genau genug:

Länge-Länge(Wechseln("\"gegen "") gibt die Anzahl der \

Diese Anzahl ist das 4.Argument für des Auswechseln von \ gegen _ nur fürs 4.Auftreten (ohne würden alle ausgewechselt)  

und jetzt kann dieses finden("_"...)+1 als Start-Argument für Teil eingesetzt werden.

4
Iamiam 30.11.2016, 18:07
@Iamiam

noch eine Anmerkung: Da _ auch in Datei/Ordnernamen vorkommen kann, ist es besser, ein dafür nicht zugelassenes Zeichen zu verwenden, zB |, :, < etc. Da de3r Pfad ja nur ein Text ist und keine Windows-Anweisung, geht das problemlos. Man könnte auch ein Steuerzeichen verwenden, zB ,  (ASCii(008), aber das wird nicht dargestellt (nur leer) , funktioniert aber

4
Iamiam 01.12.2016, 21:22
@Iamiam

nur damit nicht was Falsches stehenbleibt: ich hatte mich verzählt (bis 3 kann ichs noch, aber ab 4 wirds problematisch ;) es sind ja 5\  und natürlich wird dann der 5.\ ausgewechselt.

Also: Das 4. Argument in Wechseln fürs 5. (=letzte) Auftreten

1

Hallo,

angenommen dein Pfad steht in A1, dann machst du dir in B1 eine kleine Hilfszelle mit dieser Formel:

{=VERGLEICH("\";LINKS(RECHTS(A1;SPALTE(1:1));1);0)}

Matrixformel! Die"{}" NICHT mit eingeben, sondern die Funktion mit STRG+SHIFT+Eingabe abschließen!

Dann kannst du in C1 die Funktion

=RECHTS(A1;B1)

nutzen und bekommst das ausgegeben was du möchtest =)

Liebe Grüße,

iMPerFekTioN

Iamiam 30.11.2016, 17:07

sehr schön, aber kleine Korrektur: Links und rechts vertauschen! (Und noch -1 rein)

Und warum Hilfszelle? Es geht bei mir (xl2010) auch so:

{=Rechts(A1;Vergleich("\";Links(Rechts(A1;Spalte(1:1));1);0)-1)}

Meine etwas ausführlichere Erklärung zur Wechseln-Formel s.dort.

1
iMPerFekTioN 30.11.2016, 17:29

Danke:) stimmt, du hast recht! Man kann die Funktionen auch einfach verknüpfen:p Danke dir und DH!

0

=RECHTS(A1;LÄNGE(A1)-VERWEIS(999;FINDEN("/";A1;ZEILE(A:A))))

Wenn der String in A1 steht 

Iamiam 30.11.2016, 16:54

funktioniert das bei Dir wirklich? Bei mir (xl2010) (noch?) nicht! (#NV!)

1

Was möchtest Du wissen?