Excel Zellinhalt zwischen 2 bestimmten Zeichen ausgeben

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die einfachste Lösung gibts mit ein bisschen VBA. Da gibts nämlich eine Funktion namens InStrRev, mit der du das letzte Vorkommen eines Zeichens finden kannst. Also du gehst in den Visual Basic Editor (Alt+F11). Links ist dann so eine Übersicht der Projekte. Ganz oben müsste es ein "VBAProject (Mappe1)" geben. Da machst du einen Rechtsklick drauf, dann auf Einfügen > Modul. Dann geht rechts ein neues Fenster mit dem neuen Modul auf. Da kopierst du folgenden Quelltext rein:

Public Function FindenRev(FindenIn As String, FindenWas As String) As Integer
FindenRev = InStrRev(FindenIn, FindenWas)
End Function

Dann kannst du in deiner Tabelle mit dieser Funktion das finden, was du suchst:

=TEIL(A1;FindenRev(A1;"/")+1;FindenRev(A1;".")-FindenRev(A1;"/")-1)


DevWolf  02.08.2012, 17:24

Ok, du hast gewonnen. Deine Antwort war ausführlicher. Aber meine war früher ... ;-)

0
daCypher  02.08.2012, 17:30
@DevWolf

Ja, deine Antwort war schon da, bevor ich meine überhaupt angefangen hab :)

Ich denke mal, die meisten können mit VBA nichts anfangen, deshalb hab ich meine Antwort so ausführlich gemacht.

0
DevWolf  02.08.2012, 17:33
@daCypher

Kein Problem. War ja auch nicht bös gemeint. Hauptsache wir konnten ihr helfen.

(Ich mach jetzt Feierabend ...)

0
fraukeschroeder 
Fragesteller
 02.08.2012, 17:24

wooow ich hab mich gerade in dich verliebt ;-) Super geil, vielen Dank für die schnelle Hilfe! Klappt super

0

Würd ich mit VBA machen. Such dir mit InStrRev das letzte Auftreten von / (speichern nach varVon) Such dir analog das Auftreten von . (speichern nach varBis) Emittle den String mit substring (sString, varVon, varBis) (zumindest so ähnlich, da ich jetzt nicht auswendig weiß, ob die Positionen 0-basiert zurückgeliefert werden, oder nicht).

Ich mache das mal ohne VBA.
Ich gehe davon aus, dass Du in der Frage ZWEI Zellen als Beispiel hast, nach dem "oder" also ein zweites Beispiel gemeint ist.
Die folgende Formel sucht nach dem letzten Slash im String, fängt DORT an und sucht dann nach dem nächsten Punkt und hört da auf.
In Deinen Beispielen liefert die Formel beide Male "news" als Ergebnis.
Teste sie mal an mehr Beispielen.
Hier die Formel:

{=LINKS(RECHTS(A2;VERGLEICH("/";LINKS(RECHTS(A2;SPALTE(2:2));1);0)-1);FINDEN(".";RECHTS(A2;VERGLEICH("/";LINKS(RECHTS(A2;SPALTE(2:2));1);0)-1))-1)}

ACHTUNG!
Das ist eine Matrixformel.
Das bedeutet: Die geschweiften Klammern {} NICHT mit eingeben, sondern die Eingabe der Formel NICHT mit ENTER abschließen, sondern mit:
STRG & SHIFT & ENTER (alle drei gleichzeitig).
DAS erzeugt die {} und macht die Formel zu einer Matrixformel.

Habe ich Dich richtig verstanden?
Sonst hakt nochmal nach.

P.S.:
Ich habe mir übrigens hier:
http://www.excelformeln.de/formeln.html?welcher=107
etwas Hilfe geholt (:o)

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)