Doppelte Formeln vermeiden

Hallo

Gibt es eine Möglichkeit das doppelte notieren von Formeln beim überprüfen von Ergebnissen oder Fehlern zu vermeiden?

Ich meine:
wenn( formel=xyz; dann formel; sonst )

Ich kenne es bisher nur so dass man einmal die Formel notieren muss um zu prüfen wie das ergebnis ist ob es fehler gibt… und dann nochmal für die ausgabe.

Kann man das einfacher notieren? Manche Formeln sind super lang und verschachtelt und ich finds dann einfach unübersichtlich. Ich glaube bei der Fehlerüberprüfung kann man wennfehler() nutzen… das hilft schonmal, aber da kann ich nicht den ergebniswert prüfen wie mit wenn/dann.

Dazu müsstest du schon konkretere Angaben machen, am besten anhand einer Beispieldatei (.ods).

Konkretes Beispiel:

=WENN( A3>0 ; A3 ; 0 )

Ich suche eine WENN SONST Funktion, die ohne das DANN auskommt… also eine Funktion die A3>0 prüft und bei Erfolg dann auch A3 ausgibt… wie das hier:

=ZEIGEWENN( A3>0 ; 0 )

Gibts natürlich nicht… aber so ähnlich macht es auch WENNFEHLER( A3 ; 0 ) oder WENNNV… die A3 ausgeben, wenn kein Fehler vorhanden ist. Beide Funktionen können auch Bedingungen wie A3>0 prüfen, aber sie geben dann nicht den Wert A3 sondern WAHR oder FALSCH zurück.

Geil wäre natürlich auch das hier:

=WENN( A3>0 ; * ; 0 )

… dass die WENN Funktion den Platzhalter * als den zu prüfenden Parameter A3 verstünde und ausgeben könnte.

Soll ich meine Beispiel-Formel “=WENN(A3>0;A3;0)” als ODS Datei hochladen ?

diesen Fall hast du ja gar nicht dargestellt in der “Konkretisierung”.

Stimmt. Es geht auch nicht um die Formeln die ich anstelle von A3>0 verwenden würde. Es geht um die WENN Funktion die ohne DANN auskommt.

Schade dass Du drauf beharrst dass ich Dir Formeln oder Dateien schicken soll… anstelle zu sagen ob es so eine Funktion gibt oder welche das ist. Ich wäre auch schon zufrieden damit, wenn mir der Profi sagt dass es so eine Funktion/alität nicht gibt…

Ich sag mal nein.

Vielen Dank für Deine hilfreiche Antwort! Falls sich da mal was tut oder es noch anders lautende Antworten gibt… bin mit einem Ohr bei euch… xD

Wenn du komplizierte Formeln mehrmals benötigst, dann kannst du sie benennen. Das ist wie für benannte Zellen oder Zellbereiche auch in Tabelle > Benannte Bereiche. Überlege dabei genau, ob du absolute Zellbezüge in der Formel benötigst oder nicht.

Im Beispiel habe ich die Zellen _p und _q benannt. Für die Diskriminante habe ich dann die Bezeichnung _D und die Formel (_p/2)^2-_q benutzt. In der Zelle für die Lösung lautet die Formel dann =WENN(_D>=0; -_p/2 + WURZEL(_D);"nicht lösbar")

Ich fange die Bezeichnungen mit einem Unterstrich an damit man nicht in Konflikt mit Spaltenbezeichnern und Funktionen kommt.

Benannte Rechenausdrücke könnten eine Alternative zu einer völlig neuen Funktion sein.
BenannteFormeln.ods (12.1 KB)

1 Like

Das klingt super interessant für mich. Da werde ich mit herumprobieren müssen. Mit Benannten Bereichen habe ich bisher noch gar nicht gearbeitet. Aber ich schaue mir das an. Vielen Dank !

Noch eine weitere Frage dazu:
.
Mit den Benannten Bereichen komme ich soweit klar. Ich hab das nochmal in die Datei von Regina rein getan, Tabelle2. Vom Ding her klappt das und es sieht übersichtlicher aus, jedenfalls in der Zelle. Wollte ich die Formel kontrollieren oder ändern müsste ich allerdings immer in die Verwaltung für die Benannten Bereiche rein.
.
Wenn man meine Beispieltabelle erweitert um 5000 oder mehr Zeilen… weit mehr Spalten hinzufügt… und weit mehr Bedingungen in die SUMMENPRODUKT Formeln einbaut… dann erfordert das ja schon mehr Rechenzeit. Der müsste mit SUMMENPRODUKT ( im Beispiel ) dann ja auch 2 mal die komplette Tabelle auswerten ( einmal um zu prüfen und einmal um Ergebnis zu zeigen ). Und da sind in der Tabelle auch noch andere Formeln in anderen Spalten drin.
.
Mein Gedanke war auch, ob man vielleicht durch das Abkürzen von WENN(A3>0;A3;0) zu ZEIGEWENN(A3>0;0)… also dass er A3 dann direkt ausgeben kann… dann auch Rechenleistung gespart werden würde.
.
Aber ich denke nach den jetzigen Vorschlägen wird das wohl nicht möglich sein. Wäre schade.
BenannteFormeln.ods (13.9 KB)

Schaue nach dem boolschen Zell-Format der berechnenden Zelle:
a) standard: 1 (für „WAHR/TRUE»), 0 (für „FALSCH/FALSE“);
b) LOGiSCH: WAHR (anstatt „1“), FALSCH (anstatt „0“).
Der CALC-interne Automatismus gibt nicht immer die gewünschte Form aus, dann ändert man die Zell-Form so ab und speichert sie als eine neue Formatvorlage ab.
Gerechnet wird generell math. mit ZAHLEN, und nicht mit „WAHR,FALSCH“, das lediglich der visuellen Darstellung gilt.
Teste in Zelle A3 die Formel: =(A2>A1).


Alternative zum =WENN()-Rattenschwanz ist die =WENNS()-Funktion, die programmiert der „case“-Fall-Betrachtungs-Folge entspricht:
=WENNS(Fall1; Ereignis1 (& Abbruch);
– (wenn FALSCH dann) Fall2; Ereignis2 (& Abbruch);
– (wenn wieder FALSCH dann) Fall3; Ereignis3 (& Abbruch);
– (wenn auch das FALSCH dann) Fall4; …)
In der WENNS-Abfragerei: ist kein Fall gelöst WAHR, so wird das Ergebnis #NV („Error“) ausgegeben, mit dem nicht weitergerechnet werden kann.

1 Like

Haha, ja also das wäre iwie smart ein bisschen zu tricksen mit dem Zellformat. Muss ich mal schauen. Mit Vorlagen stehe ich ein bisschen auf Kriegsfuß.

Aber WENNS schaue ich mir auch nochmal an! Danke auch Dir

Edit: Also wenn ich das richtig sehe, dann bräuchte ich zwei Zellen dafür… eine die die Bedingung prüft und eine die dann die Ausgabe macht. Das würde ich gern vermeiden wollen. Wäre sonst aber auch zielführend.

eine kleine Spielerei:
1_LibreOffice-CALC_interlinked boolean operations_x9999.ods (24.2 KB)

Ich würde es mit der wenns-Variante versuchen und als letzte wenns-Bedingung eingeben 1=1;""
Die ist dann sicher wahr und es gibt keine Fehlermeldung, sondern das Feld bleibt einfach leer, sodass weitere Berechnungen möglich sind