2017-07-28 6 views
0

ich dieses:Libreoffice Calc - Finden Sie die Position des ersten numerischen Zeichen in einer Textzeichenfolge

fghs13412asdf

dfs234245gk

.

Möchten Sie die Position der letzten numerischen Zeichen zurückzukehren, etwa so:

.

Ich habe viele Dinge ausprobiert, nichts funktioniert. Vielleicht ist in LibreOffice etwas anders als Excel, wo ich alle Beispiele sehe. Hier ist eine, die einfach sein sollte, und wird in Fehler zurückgegeben: https://www.youtube.com/watch?v=joZa6-cJYIc

+0

Nö, anders. Ich werde den Unterschied nicht so bearbeiten, wie er es verlangt, weil der Unterschied selbsterklärend ist und Fragen und Antworten so einfach wie möglich sind. – nittyjee

Antwort

1

Sie benötigen die Position der ersten numerischen Zeichen (wie in der Überschrift) oder die letzten ein (wie in dem Körper Ihre Frage)?

  1. Wenn es die ersten ein, eine einfache Suche() Funktion mit regulären Ausdrücken soll den Trick ist, z.B. =SEARCH("([:digit:])";A1).

  2. Wenn es das ist letzten ein, von Anfang an gezählt der Zeichenfolge, können Sie eine andere Regex verwenden (angepasst von an answer in the OpenOffice forums by gerard24): =SEARCH("[0-9][^[0-9]]+$";A1).

  3. Wenn Sie die Position des letzten numerischen Zeichens benötigen, vom Ende gezählt der Zeichenfolge, subtrahieren Sie einfach den in Schritt berechneten Wert 2 aus dem LEN() des gesamten Strangs: =LEN(A1)-(SEARCH("[0-9][^[0-9]]+$";A1)).

Sie erhalten einen #WERT! Fehler, wenn kein numerisches Zeichen vorhanden ist oder wenn das letzte Zeichen der Eingabezeichenfolge numerisch ist. Beachten Sie, dass Leerzeichen im String werden ignoriert:

enter image description here

+0

Ausgezeichnete, gründliche Antwort. Das war das Problem, das ich die ganze Zeit hatte - das letzte Zeichen war numerisch. Vielen Dank – nittyjee

Verwandte Themen