Seite 1 von 1

Werden boolesche Ausdrücke in Formeln immer vollständig ausgewertet?

Verfasst: So 19. Dez 2021, 22:39
von Reth
Hi zusammen,

weiss jemand, ob boolesche Ausdrücke in den Formeln immer vollständig ausgewertet werden, oder optimiert sind (also wenn beim UND() der erste falsche kommt, wird alles auf falsch gesetzt bzw. wenn beim ODER() der erste wahre kommt alles auf wahr)?

Vllt. stehe ich bei meiner Auswertelogik auch auf dem Schlauch, aber ich versuche im Rahmen mehrerer verschachtelter Auswertungen herauszufinden, ob eine Zelle einen Teilstring enthält. Das mach ich mit der SUCHEN()-Funktion (das case-insensitiv). Da aber nicht sicher ist, ob die Zeichenkette enthalten ist, muss ich ja auch den Fehlerfall abfangen, der auftritt, wenn Suchen nix findet.
Also Bsp.: Ich möchte jede Zelle in Spalte I ab Zeile zwei durchsuchen, ob sie einen Text enthält. Wenn ja, dann will ich was in eine andere Zelle schreiben, wenn nein, dann soll nichts passieren. Damit ich dies prüfen kann, wollte ich Folgendes anwenden, in der Hoffnung, UND() würde schon mit der Auswertung aufhören, wenn der erste Teil WAHR wird. Leider liefert der 2. Teil immer noch einen Fehler fürs gesamte UND:

Code: Alles auswählen

=UND(NICHT(ISTFEHLER(SUCHEN(I2;"Begins as a Site")));(SUCHEN(I2;"Begins as a Site")>0))
Aber wie gesagt, vllt. ist mein Ansatz auch falsch.

Hat jemand ne gute Idee?

Danke schon mal!

Ciao

Re: Werden boolesche Ausdrücke in Formeln immer vollständig ausgewertet?

Verfasst: Mo 20. Dez 2021, 08:29
von Mondblatt24
Hallo,

erstmal solltest Du Dir die Syntax für Suchen noch einmal anschauen,
dann wirst Du feststellen das Du Textfinden und Text vertauscht hast.

Syntax
SUCHEN("TextFinden"; "Text"; Position)
TextFinden ist der Text, nach dem gesucht werden soll.
Text ist der Text, wo die Suche stattfindet.
Position (optional) ist die Position im Text, wo die Suche beginnen soll.


Gruß
Peter

Re: Werden boolesche Ausdrücke in Formeln immer vollständig ausgewertet?

Verfasst: Mo 20. Dez 2021, 09:32
von Reth
Hi nochmal,

ja, danke. Das hatte ich gestern auch noch bemerkt und schon korrigiert.

Allerdings liefert das Folgende auch nur #WERT als Fehler und zwar bei dem 2. Suchen, was logisch ist, da nix gefunden wird.
Vllt. beginnt das UND() ja auch mit dem letzten Term beim Auswerten oder macht doch immer alles.

Code: Alles auswählen

=UND(NICHT(ISTFEHLER(SUCHEN("Begins as a Site";I2)));(SUCHEN("Begins as a Site";I2)>0))
Für mein aktuelles Problem hab ich schon eine Lösung gefunden, aber mich würde dieses Thema schon noch interessieren.

Viele Grüße

Re: Werden boolesche Ausdrücke in Formeln immer vollständig ausgewertet?

Verfasst: Mo 20. Dez 2021, 09:45
von karolus
Hallo

=WENNFEHLER(SUCHEN("Begins as a Site";I2);"Nix gefunden")
gibt im Erfolgsfall die Position zurück, ansonsten Nix gefunden

Re: Werden boolesche Ausdrücke in Formeln immer vollständig ausgewertet?

Verfasst: Mo 20. Dez 2021, 10:34
von Reth
Hi,

ja, die Variante ist mir bekannt. Allerdings habe ich nur einen Ausschnitt aus einer etwas umfangreicheren Formel dargestellt, wobei diese Auswertung im "Inneren" eines stattfindet und ich nur ein Ergebnis brauche (also keinen Wenn-Dann bzw. Dann-Nicht fall - ich brauche "nur" den Fall, dass das Suchen erfolgreich war). Dafür hab ich aber wie erwähnt schon eine Lösung gefunden:

Code: Alles auswählen

NICHT(ISTFEHLER(SUCHEN("Begins as a Site";I2)))
Nochmals Dankeschön

Re: Werden boolesche Ausdrücke in Formeln immer vollständig ausgewertet?

Verfasst: Mo 20. Dez 2021, 11:02
von karolus
Hallo

Manchmal lässt sich auch ein umfangreicheres Problem auf eine einfachere Art lösen …?!

Re: Werden boolesche Ausdrücke in Formeln immer vollständig ausgewertet?

Verfasst: Mo 20. Dez 2021, 11:22
von Reth
Jup, drum meinte ich ja eingangs, ob ich auf dem Schlauch stehe... ;)

Dann gehe ich mal davon aus, dass UND() und ODER() daher immer alles auswerten.

Danke zusammen!