Re: Fehlerabfrage in CALC mit "WENN-ODER"
Moin Wolfgang, Wolfgang Jäth schrieb am 11.11.2015 um 18:04: Am 11.11.2015 um 13:58 schrieb Semmel: Ist eine „ODER“ Verknüpfung in Verbindung mit „ISTFEHLER“ nicht möglich oder wo liegt mein Bock? Also liefert ISTFEHLER das Ergebnis FALSCH zurück; das bedeutet, dass die nächste Bedingung abgefragt werden muss, denn die könnte ja TRUE sein. wie schon eben an Horst geschildert: da genau lag mein Denkfehler bzw. meine irrige Annahme, weil ich dachte: "ist die eine ODER die andere Bedingung zutreffend (ODER auch beide), dann ...". Ich hoffe, ich merke mir diesen Unterschied bei Calc. :) b) der gesuchte Wert kleiner 1 ist [=WENN(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1);" ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))], dann klappt auch das für sich genommen, wenn das gesuchte Datum besteht. Aber „es geht“ in dem Augenblick nicht mehr (Ergebnis: #NV), wenn das Datum erst gar nicht gefunden wird (was mir in dieser entzerrten Konstellation auch klar ist). In Calc werden bei den Funktionen UND und ODER anscheinend *alle* angegebenen Bedingungen ausgewertet; ein vorzeitiger Abbruch, wie aus den gängigen Programmiersprachen o. ä. gewohnt, findet *nicht* statt. Du müsstest die Bedingungen also entkoppeln, und zwei ineinander geschachtelte Abfragen verwenden: | =WENN(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));"";WENN(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1;"";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))) wie immer: perfekte Lösung. Ich will überhaupt nicht schleimen und ich werde das Folgende auch nur einmal in dieser Liste sagen - und dann nie mehr. Aber wie schaffst Du es immer wieder, Dich in die Konstrukte (bei zumeist nur kurzen Schilderungen) so derart hinein zu versetzen? Vor meiner Anfrage hier in der Liste hatte ich in einigen Tabellen-Foren geschaut, aber nichts vergleichbares zu meinem Problem gefunden. Aber als ich dort die teilweise kryptischen Schilderungen gelesen habe, wäre mir oftmals dazu auch keine Lösung eingefallen - da geht es mir eher wie Horst: ich muss neben der Beschreibung die Tabelle sehen und genau das Ziel kennen - dann geht's (einigermaßen). Aber nur mit einer Schilderung *und* (dem Versuch) einer Formel bin ich in den meisten Fällen doch eher überfordert. Von daher: bewundernswert - sowohl dein Talent, als auch dein Engagement und ich danke dir ganz außerordentlich dafür! Zu guter Letzt: deine "quick-and-dirty"-Lösung würde vermutlich auch funktionieren, aber mit "Eleganz" habe ich es nicht so. Daher habe ich deine o.e. Variante gewählt, die prima funktioniert. Nochmals: danke! Liebe Grüße, Peter.
Re: Fehlerabfrage in CALC mit "WENN-ODER"
Moin Schulze, wie findest du diese Anrede? Nicht so gut? Dann solltest du zukünftig vielleicht auch Peter zu mir sagen. :) Dein Problem des nicht wirklich Nachvollziehen-Könnens mit einer relativ kurzen Schilderung, kenne ich nur zu gut. Und ich hätte die Datei nach Deiner Bitte heute auch auf einem fremden Server hinterlegt, wenn nicht auch Wolfgang schon eine Lösung angeboten hätte. Und weiter kann man die Formeln ja praktisch kaum noch auseinanderziehen. Ferner funktionieren beide Teilabfragen ja auch - nur eben unter der Bedingung, dass das gesuchte Datum auch vorhanden ist. Ist das aber nicht vorhanden, gibt es ein "#NV", das ich dann mit der Fehlerabfrage unterbinden wollte. Mir war dabei nur nicht klar (bzw. war ich der irrigen Annahme), dass ein "ODER" mehr oder minder auf jede der Bedingungen reagiert. D.h. ich dachte: ist nur eine Bedingung WAHR, dann "x", sonst "y" *und* sind beide Bedingungen WAHR, dann ebenfalls "x", sonst "y". Mir war dabei nicht bewusst, dass eine ODER-Abfrage in Calc einem "XOR" (wie ich es aus Programmiersprachen kenne) arbeitet. Da lag mein Denkfehler. Dennoch: herzlichen Dank für Deine Bemühungen, Horst. ;))) Liebe Grüße, Peter. technik schrieb am 11.11.2015 um 16:21: Hallo Semmel, tut mir leid, aber mir ist das Beispiel nicht so richtig klar. Das geht mir auch oft so mit meinen eigenen Anfragen. Mach doch eine Datei und lege sie irgendwo ab, dann gib uns den Link. Ich habe bei Formeln mit Problemen das immer so gemacht, dass ich jeden einzelnen Item in ein Feld geschrieben habe, also immer weiter die Formel zerlegt, bis ich den Fehler gefunden habe. Horst Am 11.11.2015 um 13:58 schrieb Semmel: Fehlerabfrage in CALC: Ist eine „ODER“ Verknüpfung in Verbindung mit „ISTFEHLER“ nicht möglich oder wo liegt mein Bock? Gegeben sind zwei Tabellenblätter. Im ersten befindet sich eine Übersichtstabelle, in der verschiedene Jahre waagerecht (Zeile 4) und die Monate senkrecht (Spalte 1, ab Zeile 4) eingetragen sind. Über diese Zuordnung von Monat und Jahr suche ich nun im Tabellenblatt 2 („Daten“) nach den entsprechenden Werten. Weshalb aber gibt mir die folgende Formel ein #NV aus, wenn das entsprechende Datum nicht gefunden wird, *obwohl* ich das mit einem „ISTFEHLER“ versucht habe abzufangen? =WENN(ODER(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1);" ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0)) „Ziehe“ ich die Formel auseinander und frage mit WENN (*ohne* ein „ODER“) ab, ob a) ein Fehler besteht [=WENN(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));" ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))], dann klappt das und die Zelle bleibt wie gewünscht leer und b) der gesuchte Wert kleiner 1 ist [=WENN(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1);" ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))], dann klappt auch das für sich genommen, wenn das gesuchte Datum besteht. Aber „es geht“ in dem Augenblick nicht mehr (Ergebnis: #NV), wenn das Datum erst gar nicht gefunden wird (was mir in dieser entzerrten Konstellation auch klar ist). Weshalb aber kann ich das mit der eingangs beschriebenen „=WENN(ODER ...“ -Abfrage nicht abfangen und erhalte (bei nicht gefundenem Datum) immer ein #NV? Wo liegt mein Fehler? Liebe Grüße, Peter.
Re: Fehlerabfrage in CALC mit "WENN-ODER"
Am 12.11.2015 um 10:02 schrieb Semmel: > > Mir war dabei nur nicht klar (bzw. war ich der irrigen Annahme), dass > ein "ODER" mehr oder minder auf jede der Bedingungen reagiert. D.h. ich > dachte: ist nur eine Bedingung WAHR, dann "x", sonst "y" *und* sind > beide Bedingungen WAHR, dann ebenfalls "x", sonst "y". So ist es auch; Du hast nur irrigerweise vorausgesetzt, dass wenn "x" WAHR ist, dann "y" gar nicht mehr überprüft wird. > Mir war dabei nicht bewusst, dass eine ODER-Abfrage in Calc einem "XOR" > (wie ich es aus Programmiersprachen kenne) arbeitet. Nein, tut es nicht; XOR liefert TRUE, wenn beide Bedingungen unterschiedlich sind (insbesondere liefert es auch FALSE, wenn beide Bedingungen TRUE sind). Wolfgang -- - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Re: Fehlerabfrage in CALC mit "WENN-ODER"
Am 12.11.2015 um 10:23 schrieb Semmel: > > Wolfgang Jäth schrieb am 11.11.2015 um 18:04: >> Am 11.11.2015 um 13:58 schrieb Semmel: >>> Ist eine „ODER“ Verknüpfung in Verbindung mit „ISTFEHLER“ nicht möglich >>> oder wo liegt mein Bock? >> Also liefert ISTFEHLER das Ergebnis FALSCH zurück; das bedeutet, dass >> die nächste Bedingung abgefragt werden muss, denn die könnte ja TRUE sein. > > wie schon eben an Horst geschildert: da genau lag mein Denkfehler bzw. > meine irrige Annahme, weil ich dachte: "ist die eine ODER die andere > Bedingung zutreffend (ODER auch beide), dann ...". Ich hoffe, ich merke > mir diesen Unterschied bei Calc. :) Das ist auch so; nur werden halt grundsätzlich alle Bedingungen abgefragt. > Ich will überhaupt nicht schleimen und ich werde das Folgende auch nur > einmal in dieser Liste sagen - und dann nie mehr. Aber wie schaffst Du > es immer wieder, Dich in die Konstrukte (bei zumeist nur kurzen > Schilderungen) so derart hinein zu versetzen? Du kennst *meine* Formeln nicht ... Wolfgang -- =WENN($A14=""; ""; WENN(AutoMakro.$C$19=7; V14*1000; MAX(1; MIN(10; ABRUNDEN(WENN(V14<15; MAX(WENN($AutoMakro.$F$7=10; 9; 0); ((299,9+(200*V14))/(AutoMakro.$C$18*100))); WENN(V14>84; MAX(WENN(ODER( $AutoMakro.$F$7=4; $AutoMakro.$F$7>=9); 60; 0); ((20099,9-(200*V14))/ (AutoMakro.$C$18*100))); (10*SIN(V14*PI()/100) - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Re: Fehlerabfrage in CALC mit "WENN-ODER"
Am 11.11.2015 um 13:58 schrieb Semmel: > > Ist eine „ODER“ Verknüpfung in Verbindung mit „ISTFEHLER“ nicht möglich > oder wo liegt mein Bock? > > Gegeben sind zwei Tabellenblätter. Im ersten befindet sich eine > Übersichtstabelle, in der verschiedene Jahre waagerecht (Zeile 4) und > die Monate senkrecht (Spalte 1, ab Zeile 4) eingetragen sind. Über diese > Zuordnung von Monat und Jahr suche ich nun im Tabellenblatt 2 („Daten“) > nach den entsprechenden Werten. > > Weshalb aber gibt mir die folgende Formel ein #NV aus, wenn das > entsprechende Datum nicht gefunden wird, *obwohl* ich das mit einem > „ISTFEHLER“ versucht habe abzufangen? > > =WENN(ODER(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1);" > > ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0)) > > > „Ziehe“ ich die Formel auseinander und frage mit WENN (*ohne* ein > „ODER“) ab, ob > a) ein Fehler besteht > [=WENN(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));" > ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))], dann > klappt das und die Zelle bleibt wie gewünscht leer und Also liefert ISTFEHLER das Ergebnis FALSCH zurück; das bedeutet, dass die nächste Bedingung abgefragt werden muss, denn die könnte ja TRUE sein. > b) der gesuchte Wert kleiner 1 ist > [=WENN(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1);" > ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))], dann > klappt auch das für sich genommen, wenn das gesuchte Datum besteht. Aber > „es geht“ in dem Augenblick nicht mehr (Ergebnis: #NV), wenn das Datum > erst gar nicht gefunden wird (was mir in dieser entzerrten Konstellation > auch klar ist). In Calc werden bei den Funktionen UND und ODER anscheinend *alle* angegebenen Bedingungen ausgewertet; ein vorzeitiger Abbruch, wie aus den gängigen Programmiersprachen o. ä. gewohnt, findet *nicht* statt. Du müsstest die Bedingungen also entkoppeln, und zwei ineinander geschachtelte Abfragen verwenden: | =WENN(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));"";WENN(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1;"";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))) Es gibt aber noch eine IMHO elegantere (aber zugegeben auch etwas quick-and-dirty) Lösung, und zwar einfach die Ausgabe bestimmter Werte zu unterdrücken (ohne die Hochkomma): | Format => Zellen => Zahlen => Format-Code = "[<1]@;0.#" Genau genommen wird hier im Fall von Werten kleiner 1 eine Textausgabe erzwungen ("@"), nur dass für den auszugebende Wert gar kein Wert in Textform vorliegt, sondern nur ein Wert in Zahlform. Daher wird ein Leerstring ausgegeben. Da in dieser Form auch keine Funktion o. ä. aufgerufen wird, wird auch keine automatische Konvertierung von Zahl nach Text vorgenommen. Wolfgang -- - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Fehlerabfrage in CALC mit "WENN-ODER"
Fehlerabfrage in CALC: Ist eine „ODER“ Verknüpfung in Verbindung mit „ISTFEHLER“ nicht möglich oder wo liegt mein Bock? Gegeben sind zwei Tabellenblätter. Im ersten befindet sich eine Übersichtstabelle, in der verschiedene Jahre waagerecht (Zeile 4) und die Monate senkrecht (Spalte 1, ab Zeile 4) eingetragen sind. Über diese Zuordnung von Monat und Jahr suche ich nun im Tabellenblatt 2 („Daten“) nach den entsprechenden Werten. Weshalb aber gibt mir die folgende Formel ein #NV aus, wenn das entsprechende Datum nicht gefunden wird, *obwohl* ich das mit einem „ISTFEHLER“ versucht habe abzufangen? =WENN(ODER(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1);" ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0)) „Ziehe“ ich die Formel auseinander und frage mit WENN (*ohne* ein „ODER“) ab, ob a) ein Fehler besteht [=WENN(ISTFEHLER(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0));" ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))], dann klappt das und die Zelle bleibt wie gewünscht leer und b) der gesuchte Wert kleiner 1 ist [=WENN(SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;1)<1);" ";SVERWEIS(DATUM(B$4;ZEILE(A5)-4;1);Daten.$I$3:$L2632;4;0))], dann klappt auch das für sich genommen, wenn das gesuchte Datum besteht. Aber „es geht“ in dem Augenblick nicht mehr (Ergebnis: #NV), wenn das Datum erst gar nicht gefunden wird (was mir in dieser entzerrten Konstellation auch klar ist). Weshalb aber kann ich das mit der eingangs beschriebenen „=WENN(ODER ...“ -Abfrage nicht abfangen und erhalte (bei nicht gefundenem Datum) immer ein #NV? Wo liegt mein Fehler? Liebe Grüße, Peter.