Seite 1 von 1

Suchen- und Finden-Funktion

Verfasst: Fr 28. Mär 2014, 20:07
von Excellor
Guten Abend,

wollte mich erst mal für das tolle Forum bedanken. Habe durch die beantworteten Fragen schon eine Menge Probleme mit Libreoffice meistern können.
Nun steh ich allerdings vor einem Problem zu dem ich keine Lösung gefunden habe.

Und zwar habe ich eine Aufzählung von Artikelnummern, wegen mir A23, A50, A100, A142, A300.
Ich habe eine Liste mit Artikelnummern von A1 bis A500.
Calc soll nun überprüfen ob in der oberen Aufzählung A100 enthalten ist.
Gelöst habe ich das ganze über ISTZAHL(FINDEN(A100; [Tabellenplatz der Aufzählung])).
Diese Funktion gibt mir WAHR oder FALSCH aus. Bin damit so weit auch ganz zufrieden, allerdings gibt sie für die Überprüfung, ob A10 auch enthalten, ist ebenso war aus, was ja nicht stimmt.
Das liegt wohl daran das A10 in A100 enthalten ist.
Meine Frage ist nun kann man Calc irgendwie dazu bewegen ganze Wörter [in meinen Fall "A10"] zu suchen und nicht auch Wörter in denen es enthalten ist?

Danke schon mal im voraus für eine Antwort.
Freundliche Grüße
Excellor

Re: Suchen- und Finden-Funktion

Verfasst: Sa 29. Mär 2014, 00:22
von Wanderer
Moin,

Als schnelle Lösung:Maskiere Deine Artikelnummern in einer Hilfsspalte
Per Verketten z.B. mit _ zu _A10_ , mach dasselbe mit dem Suchmuster
und _A10_ wird nicht in _A100_ gefunden

Mfg, Jörn

Re: Suchen- und Finden-Funktion

Verfasst: Sa 29. Mär 2014, 02:17
von lorbass
Excellor hat geschrieben:

Code: Alles auswählen

ISTZAHL(FINDEN(A100; [Tabellenplatz der Aufzählung]))
Das funktioniert nur, wenn der Suchbegriff unter der Zelladresse »A100« steht. Das stimmt dann allerdings nicht mit deiner Beschreibung überein. Oder verwendest du doch Anführungszeichen, die den Suchbegriff einschließen?

Code: Alles auswählen

ISTZAHL(FINDEN("A100"; [Tabellenplatz der Aufzählung]))
Excellor hat geschrieben:Meine Frage ist nun kann man Calc irgendwie dazu bewegen ganze Wörter [in meinen Fall "A10"] zu suchen
Wie wär's denn mit

Code: Alles auswählen

ISTZAHL(FINDEN("A10,"; [Tabellenplatz der Aufzählung]))
Das findest »A10« allerdings immer nur, wenn direkt ein Komma »,« folgt, nicht am Ende der Aufzählung.

Eleganter wird's mit SUCHEN statt FINDEN. SUCHEN kann mit Regulären Ausdrücken (RegEx) umgehen. Dann ändert sich für den Suchbegriff »A100« nichts.

Code: Alles auswählen

ISTZAHL( SUCHEN( "A100"; [Tabellenplatz der Aufzählung] ) )
Der Suchbegriff für die Artikelnummer »A10« lautet dann »A10[^0-9]«. Der Ausdruck in den eckigen Klammern bewirkt, dass der Zeichenfolge »A10« keine weitere Ziffer folgen darf. Der Funktionsaufruf lautet dann

Code: Alles auswählen

ISTZAHL( SUCHEN( "A10[^0-9]"; [Tabellenplatz der Aufzählung] ) )

Mehr zu den RegEx findest du in der Programmhilfe (→ F1).

Gruß
lorbass

Re: Suchen- und Finden-Funktion

Verfasst: Sa 29. Mär 2014, 15:43
von Excellor
Danke für die schnellen Antworten.
Schande auf mein Haupt, hab doch tatsächlich in der Formel die "" vergessen ;)

Das mit der RegEx suche schaut sehr vielversprechend aus, dank dir. Werde das nachher mal ausprobieren und bescheidsagen ob ich erfolg hatte.

Grüße
Excellor