Libre Office

String beim letzten Vorkommen eines Zeichens abschneiden

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
KriegerA
Beiträge: 1
Registriert: Mi 26. Jul 2017, 15:39

String beim letzten Vorkommen eines Zeichens abschneiden

Beitrag von KriegerA » Mi 26. Jul 2017, 15:57

Hallo miteinander,

ich habe einen Eintrag, der im Normalfall folgendes Format hat: 0173-002
Der Part ab dem Bindestrich ist aber nicht notwendig. Ich bräuchte in diesem Beispiel nur den Wert: 0173

Das habe ich via LINKS-Formel gemacht:

Code: Alles auswählen

=LINKS(Y2;SUCHEN("-";Y2)-1)
Das klappt einwandfrei.

Aber es wäre ja alles so einfach, wenn nicht Einträge dabei wären, die mir diese simple Lösung kaputt machen. Beispiel: UK-SB-01-001
Hier bräuchte ich alles bis vor den letzten Bindestrich (UK-SB-01).

Da nicht immer klar ist, wie viele Bindestriche im String sind, bräuchte ich eine Formel, die mir erlaubt, alles bis zum letzten Vorkommen eines Bindestriches mitnimmt. Gibt es sowas in Calc?

HeritzP
* LO-Experte *
Beiträge: 968
Registriert: Mo 9. Dez 2013, 19:08

Re: String beim letzten Vorkommen eines Zeichens abschneiden

Beitrag von HeritzP » Mi 26. Jul 2017, 17:36

Hallo,

teste diese Formel.

Code: Alles auswählen

=TEIL(Y2;1;SUCHEN("@";WECHSELN(Y2;"-";"@";LÄNGE(Y2)-LÄNGE(WECHSELN(Y2;"-";"")));1) -1)

Gruß HeritzP
HeritzP

alles nur geklaut

Benutzeravatar
miesepeter
* LO-Experte *
Beiträge: 2296
Registriert: So 19. Dez 2010, 18:16
Wohnort: Bayern

Re: String beim letzten Vorkommen eines Zeichens abschneiden

Beitrag von miesepeter » Mi 26. Jul 2017, 22:31

SUCHEN & ERSETZEN (reguläre Ausdrücke aktiviert):

Code: Alles auswählen

-\w*$

Lupo
Beiträge: 279
Registriert: Do 11. Okt 2012, 14:22

Re: String beim letzten Vorkommen eines Zeichens abschneiden

Beitrag von Lupo » So 25. Mär 2018, 12:22

B1: {=LINKS(A1;LÄNGE(A1)-SUCHEN("-";VERBINDEN(;;TEIL(A1;99-ZEILE($1:$98);1))))} mit Nr. 5

Das Fettgeschriebene fungiert als eine hiermit selbst erstellte Funktion StrReverse. Interessant: Keine Fehlerbehandlung nötig bei var. Länge.
MfG Lupo - xxcl.de Win10ProLO6062

mikele
* LO-Experte *
Beiträge: 2065
Registriert: Mo 1. Aug 2011, 20:51

Re: String beim letzten Vorkommen eines Zeichens abschneiden

Beitrag von mikele » So 25. Mär 2018, 12:39

Hallo,
mit in Formeln aktivierten regulären Ausdrücken funktioniert auch:

Code: Alles auswählen

=LINKS(Y2;SUCHEN("-[^-]*$";Y2)-1)
Gruß,
mikele

Lupo
Beiträge: 279
Registriert: Do 11. Okt 2012, 14:22

Re: String beim letzten Vorkommen eines Zeichens abschneiden

Beitrag von Lupo » So 25. Mär 2018, 13:05

Das ist schick - ein echter Vorteil ggü Excel. Jedoch dann nicht cross-kompatibel.
MfG Lupo - xxcl.de Win10ProLO6062

Open Office
Antworten