Re: Falschrechner
Hallo, das ist nicht nur in Calc so, sondern das Problem tritt auch in Programmiersprachen auf. Man kann daher vernünftigerweise nie zwei berechnete Werte auf Gleichheit direkt überprüfen, sondern man muss sie vorher runden oder beim Vergleich eine minimale Abweichung akzeptieren - also wenn Absolutwert(VarA - VarB) < z.B. 0,1 dann als gleich werten. MfG Alois -- www.easy4me.info technik schrieb am 12.11.2015 um 15:58: Hallo, ich habe schon wieder so einen dummen Fehler, wo das Programm anscheinend falsch rechnet. a+b-c=d aber dann ist d<>d; Abweichung 10E-13 aber für die Überprüfung ergibt das eben ein Falsch. Kommt das bei Euch auch raus oder rechnet mein Rechner falsch? Gibt es keine Möglichkeit solche Fehler zu vermeiden, wenn man =(A7=48,55) rechnet? Wäre einfacher als =(A7-48,55)<0,001 oder gar =ABS(A7-48,55)<0,001 Ich weiß, dass es wohl ein Problem der Fließkommarundung ist, aber trotzdem ist da irgendetwas schief, wenn der Rundungsfehler von 10E-13 bei zwei Nachkommastellen nicht abgefangen wird. 48,55 -7,25E-013 510,46 + 22082,64 + 22544,55 - 48,55 =SUM -7,24753590475302E-013 =Sum-48,55 Formel in a6: =A4+A5-A6 Oder die Datei https://www.dropbox.com/s/pf372p4oo0rrf4s/falschrechner.ods?dl=0 Horst
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: Falschrechner
Hallo, > From: Wolfgang Jäth [mailto:jawo.ml.hams...@arcor.de] > *Du* denkst *dezimal*. Der *Rechner* denkt *binär* (und zwar immer mit > voller Genauigkeit). Sorry, aber genau das stimmt doch hier nicht. Die Rechenungenauigkeiten in Calc gehen darauf zurück das Calc das gerade nicht tut sondern nur mit einer Genauigkeit von (ich glaube) 15 Stellen rechnet. Excel übrigens auch. Tipps (für Excel die sich aber auf Calc übertragen lassen) siehe: http://www.excelformeln.de/tips.html?welcher=24 http://www.excel-ticker.de/in-excel-mit-sehr-grossen-zahlen-rechnen-teil-1-additio n/ Gruß Jörg - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Re: Falschrechner
Auch mit unendlich vielen Nachkommastellen gibt es Ungenauigkeiten. Am 13.11.2015 um 08:02 schrieb Jörg Schmidt: > Hallo, > >> From: Wolfgang Jäth [mailto:jawo.ml.hams...@arcor.de] > >> *Du* denkst *dezimal*. Der *Rechner* denkt *binär* (und zwar immer mit >> voller Genauigkeit). > > Sorry, aber genau das stimmt doch hier nicht. Die Rechenungenauigkeiten in > Calc > gehen darauf zurück das Calc das gerade nicht tut sondern nur mit einer > Genauigkeit von (ich glaube) 15 Stellen rechnet. Excel übrigens auch. > > Tipps (für Excel die sich aber auf Calc übertragen lassen) siehe: > http://www.excelformeln.de/tips.html?welcher=24 > http://www.excel-ticker.de/in-excel-mit-sehr-grossen-zahlen-rechnen-teil-1-additio > n/ > > > Gruß > Jörg > > > - > To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org > For additional commands, e-mail: users-de-h...@openoffice.apache.org > > - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Re: Falschrechner
Hi, > Gibt es keine Möglichkeit solche Fehler zu vermeiden, wenn man =(A7=48,55) rechnet? mir fällt dazu nur folgendes ein: =Kürzen(...;2) bzw. =Runden(...;2) verwenden oder: Menü Extras - Einstellungen - OpenOffice Calc - Berechnen: -> [X] Genauigkeit wie angezeigt Gruß Oliver - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Re: Falschrechner
Am 12.11.2015 um 15:58 schrieb technik: > > ich habe schon wieder so einen dummen Fehler, wo das Programm > anscheinend falsch rechnet. > a+b-c=d aber dann ist d<>d; Abweichung 10E-13 aber für die Überprüfung > ergibt das eben ein Falsch. > > Kommt das bei Euch auch raus oder rechnet mein Rechner falsch? Ja; nein. Das sind technisch bedingte Rundungsfehler. > Gibt es keine Möglichkeit solche Fehler zu vermeiden, wenn man > =(A7=48,55) rechnet? | =(Runden(A7;2)=Runden(48,55;2)) (ggf. auch AB~/AUF~; wichtig ist, immer *beide* Vergleichswerte auch *gleich* zu behandeln) > Wäre einfacher als =(A7-48,55)<0,001 Dumm nur, wenn A7 < 48,54 ist ... > Ich weiß, dass es wohl ein Problem der Fließkommarundung ist, aber > trotzdem ist da irgendetwas schief, wenn der Rundungsfehler von 10E-13 > bei zwei Nachkommastellen nicht abgefangen wird. *Du* denkst *dezimal*. Der *Rechner* denkt *binär* (und zwar immer mit voller Genauigkeit). Aber nicht jeder dezimal endliche Wert ist erstens auch *binär* als /endlicher/ Wert darstellbar (genauso wenig wie es im dezimalen Zahlenraum solche Werte gibt, z. B. 1/3), und zweitens muss bei Rechenoperationen manchmal die Genauigkeit beschnitten werden, so dass auch die Verknüpfung endlicher Werte manchmal einen nicht-endlichen Wert ergeben kann. Und bei der Subtraktion in A6 kommt halt nun mal 'nur' 48,54993 raus. Wolfgang -- - To unsubscribe, e-mail: users-de-unsubscr...@openoffice.apache.org For additional commands, e-mail: users-de-h...@openoffice.apache.org
Falschrechner
Hallo, ich habe schon wieder so einen dummen Fehler, wo das Programm anscheinend falsch rechnet. a+b-c=d aber dann ist d<>d; Abweichung 10E-13 aber für die Überprüfung ergibt das eben ein Falsch. Kommt das bei Euch auch raus oder rechnet mein Rechner falsch? Gibt es keine Möglichkeit solche Fehler zu vermeiden, wenn man =(A7=48,55) rechnet? Wäre einfacher als =(A7-48,55)<0,001 oder gar =ABS(A7-48,55)<0,001 Ich weiß, dass es wohl ein Problem der Fließkommarundung ist, aber trotzdem ist da irgendetwas schief, wenn der Rundungsfehler von 10E-13 bei zwei Nachkommastellen nicht abgefangen wird. 48,55 -7,25E-013 510,46 + 22082,64+ 22544,55- 48,55 =SUM -7,24753590475302E-013 =Sum-48,55 Formel in a6: =A4+A5-A6 Oder die Datei https://www.dropbox.com/s/pf372p4oo0rrf4s/falschrechner.ods?dl=0 Horst