🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

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

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Reth
Beiträge: 64
Registriert: Fr 5. Apr 2019, 23:21

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

Beitrag von Reth » So 19. Dez 2021, 22:39

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

Mondblatt24
* LO-Experte *
Beiträge: 3336
Registriert: Fr 3. Mär 2017, 17:12

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

Beitrag von Mondblatt24 » Mo 20. Dez 2021, 08:29

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
Win 11 (x64) ▪ LO 25.2.5.1 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

Reth
Beiträge: 64
Registriert: Fr 5. Apr 2019, 23:21

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

Beitrag von Reth » Mo 20. Dez 2021, 09:32

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

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
Registriert: Fr 10. Dez 2010, 10:01

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

Beitrag von karolus » Mo 20. Dez 2021, 09:45

Hallo

=WENNFEHLER(SUCHEN("Begins as a Site";I2);"Nix gefunden")
gibt im Erfolgsfall die Position zurück, ansonsten Nix gefunden
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Reth
Beiträge: 64
Registriert: Fr 5. Apr 2019, 23:21

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

Beitrag von Reth » Mo 20. Dez 2021, 10:34

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

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
Registriert: Fr 10. Dez 2010, 10:01

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

Beitrag von karolus » Mo 20. Dez 2021, 11:02

Hallo

Manchmal lässt sich auch ein umfangreicheres Problem auf eine einfachere Art lösen …?!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Reth
Beiträge: 64
Registriert: Fr 5. Apr 2019, 23:21

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

Beitrag von Reth » Mo 20. Dez 2021, 11:22

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!


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten