Open Office Calc: Wie finde ich eine Menge von Werten (wie jede Ziffer) in einer Zeichenfolge?

423
Addem

Nach einer Lösung, die ich für Excel gefunden habe, habe ich Folgendes in Open Office Calc ausprobiert und einen Fehler erhalten:

=FIND(, A1) 

Ziel ist es, die Koordinaten in der Zeichenfolge bei A1 zu finden, wo entweder die Zahl 1 oder 2 vorkommt. Gibt es eine andere Syntax, um dies in Calc zu erreichen, oder muss man es ganz anders angehen? Ich weiß, ich könnte separat nach 1 und dann nach 2 suchen, also nicht die gesetzten Klammern verwenden - aber wenn das find_text-Argument sehr groß wäre, würde dies unpraktisch werden, oder?

1
Ich verwende LibreOffice, das sich von Open Office abtrennte und im Allgemeinen ziemlich ähnlich ist. Ihre Formel hat in LO Calc gut funktioniert. Im Laufe der Jahre hatte Open Office Höhen und Tiefen, wechselte den Besitzer, Wartungsthemen usw. Ich denke, LibreOffice ist derzeit robuster und stabiler. Möglicherweise möchten Sie nur versuchen, zu wechseln. Alle Ihre vorhandenen Dateien sollten kompatibel sein, so dass es nicht viel zu verlieren gibt. fixer1234 vor 6 Jahren 1
@ fixer1234: Der Fehler wird wahrscheinlich nur durch Kommas gegenüber Semikolons verursacht. Beim Testen von "= FIND (; A1)" in LO Calc 6.0.3.2 wurden die gleichen Ergebnisse wie bei Apache OpenOffice erzielt: Es findet das erste Argument ("1"), ignoriert jedoch alle anderen ("2") in diesem Fall). Es tut also nicht, was Excel angeblich tut. Jim K vor 6 Jahren 2
@JimK, na verdammt, wenn du nicht recht hast. Ich sah nicht hart genug aus. Etwas Neues gelernt Vielen Dank. Nur wenn Sie keine Übereinstimmung für den ersten Wert haben, führt dies zu einem Fehler, sodass das Komma / Semikolon-Problem möglicherweise nicht einmal zutreffend ist (in meinem Fall habe ich es auf Excel-Konventionen gesetzt). fixer1234 vor 6 Jahren 1

1 Antwort auf die Frage

2
Jim K

In regulären Ausdrücken werden Klammern verwendet, um anzugeben, wie oft ein Zeichen wiederholt wird. Ich vermute, dass Excel das Argument als Array interpretiert und auf jede Möglichkeit prüft. LibreOffice und Apache OpenOffice prüfen jedoch nur den ersten Wert.

Der folgende Ausdruck erscheint mir klarer, ähnlich wie re.search in Python.

=SEARCH("1|2";A1) 

Oder um eine beliebige Ziffer zu finden:

=SEARCH("[0-9]";A1) 

Dokumentation: SUCHEN .

Stellen Sie sicher, dass reguläre Ausdrücke aktiviert sind. Aus dem Wiki - Regular_Expressions_in_Calc :

Ob reguläre Ausdrücke verwendet werden, wird im Dialogfeld Tools - Optionen - OpenOffice.org Calc - Calculate ausgewählt .