Frank Noack schrieb:
Hallo

Ich habe folgendes Problem. Ich habe eine Tabelle, in der in einer Spalte Zeichenketten des Formats "No,He,Me Ku,Gr,Li" stehen. Diese möchte ich untersuchen, ob beispielsweise mindestens einmal "He" "Ku" oder "Li" vorkommt. Ich komme jetzt nicht weiter, da die von mir verwendeten Formeln immer bei nichtvorkommen den Fehler #WERT! ausgeben, mit dem ich dann nicht weiterkomme. Mein Ansatz ist in etwa folgender:
=WENN(ODER(SUCHEN(No,He,Me Ku,Gr,Li;"No");SUCHEN(No,He,Me Ku,Gr,Li;"Ku").....

Nun, in diesem Beispiel sollte der erste Text in der SUCHEN-Funktion auch in Anführungszeichen...
=WENN(ODER(SUCHEN("No,He,Me Ku,Gr,Li";"No");SUCHEN("No,He,Me Ku,Gr,Li";"Ku")

Als nächstes, aus der Hilfe geht hervor, dass die SUCHEN-Funktion als ersten Parameter den gesuchten Text erwartet. Also wäre

=WENN(ODER(SUCHEN("No";"No,He,Me Ku,Gr,Li");SUCHEN("Ku";"No,He,Me Ku,Gr,Li")

schon besser. Das geht aber immer noch nicht, da die SUCHEN-Funktion bei Erfolg die Zeichenposition, aber bei Misserfolg den #WERT! Fehler zurückliefert, der dann aber der ODER-Funktion in die Quere kommt. Beispiel:

=WENN(ODER(SUCHEN("A";"ABC");SUCHEN("X";"ABC"));"Ok";"Nichts")

funktioniert nicht, da Calc folgendes berechnet:

=WENN(ODER(1;#WERT!);"Ok";"Nichts")

=WENN(#WERT!;"Ok";"Nichts")

=#WERT!

Das Problem: Ein Fehlercode, hier von der zweiten SUCHEN-Funktion, wird durch alle Funktionen "bis nach oben" durchgereicht. Eine Möglichkeit, den Fehler abzufangen, ist die ISTFEHLER-Funktion:

=WENN(UND(ISTFEHLER(SUCHEN("A";"ABC"));ISTFEHLER(SUCHEN("X";"ABC")));"Nichts";"Ok")

Wenn alle SUCHEN-Funktionen fehlschlagen, wird "Nichts" ausgegeben, wenn nur eine einzige Suche erfolgreich ist, wird "Ok" zurückgegeben.


Ein anderer Ansatz sind reguläre Ausdrücke (bitte nachprüfen, dass diese auch eingeschaltet sind: Extras->Optionen->Calc->Berechnen->Reguläre...). Die Formel

=WENN(ISTFEHLER(SUCHEN("A|X";"ABC"));"Nichts";"Ok")

tut es dann nämlich auch. Oder in deinem Beispiel:

=WENN(ISTFEHLER(SUCHEN("No|Ku|Li";"No,He,Me Ku,Gr,Li"));"Nichts";"Ok")



Aber wie gesagt scheitere ich dabei an der Ausgabe von #WERT!Hat jemand einen brauchbaren Ansatz für mich? Bitte nicht über Filter, wenn es geht.


Ich hoffe, das hilft erstmal.

Gruß
Daniel

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to