Microsoft Excel

Herbers Excel/VBA-Archiv

Dezimalstellen: Genauigkeit wie Anzeige in Formeln

Betrifft: Dezimalstellen: Genauigkeit wie Anzeige in Formeln von: Oliver
Geschrieben am: 14.09.2004 11:13:30

Hallo,

ich stehe vor der Aufgabe, einen umfangreichen Berechnungskomplex von Excel zwecks Portierung in eine Webanwendung in einer anderen Programmiersprache (FlashActionscript, ähnlich Javascript) darzustellen.

Einige Formeln verhalten sich an den letzten 3 möglichen Dezimalstellen in den beiden Anwendungen nicht identisch.
Deshalb habe ich im Excel alle Felder auf 9 Dezimalstellen formatiert und Extras , Optionen , Berechnung "Genauigkeit wie angezeigt" aktiviert.

Die meisten Ergebnisse sind nun übereinstimmend in beiden Umgebungen.
Allerdings gibt es immer noch ein Problem mit den Zwischenergebnissen innerhalb eines Formelfelds wie z.B.
=ARCTAN((CS66-CR83-CR84*COS(PI()/180*2*(CS83-CS84)))/(CR84*SIN((2*(CS83-CS84))*PI()/180)))*180/PI() ~f~

Hat jemand einen Hinweis, ob und wie ich auch die Ergebnisse innerhalb dieser Formeln
z.B. ~f~=(CS66-CR83-CR84*COS(PI()/180*2*(CS83-CS84)))
auf die gewünschte Dezimalstellenzahl beschränken kann ?

Danke & Gruss,

Oliver

  


Betrifft: AW: Dezimalstellen: Genauigkeit wie Anzeige in Formeln von: Axel
Geschrieben am: 14.09.2004 13:02:48

Hallo Oliver,

du gehst ein recht heikles Thema an. Grundsätzlich halte ich das Durchführen von Berechnungen mit der Einstellung "Genauigkeit wie angezeigt" für keine gute Idee.

Selbst wenn du 9 Dezimalstellen verwendest, wird die Genauigkeit der Berechnung mit der Komplexität der Formeln immer fehlerhafter.

Dass es zu verschiedenen Ergebnissen der Anwendungen kommt, liegt sicherlich an der internen Abbildung von Fliesskommazahlen und wie Rechenoperationen intern verarbeitet werden. Damit muss man letztlich leben. Falls die Genauigkeit nicht reicht, ist die Anwendung respektive die Programmiersprache für diesen Zweck einfach nicht geeignet.

Aber Ziel sollte es sein, die maximale Genauigkeit anzustreben. Von Sonderfällen abgesehen, sollten Kastrationen, wie unter Excel möglich, unterbleiben.

Führe mal folgenden Test durch, der die Problematik mit aktivierter Einstellung "Genauigkeit wie angezeigt" aufzeigt:

Gebe in zwei Zellen die Zahlen 0,33333 und 0,66666 ein. Ändere dann die Darstellung der Zahlen, in dem du Dezimalstellen entfernst und anschließend wieder zufügst. Du siehst, wie sich der Zellwert (nicht nur die Anzeige!) einer Zahl ändert. Ist das wirklich gewollt?


Gruß
Axel


  


Betrifft: AW: Dezimalstellen: Genauigkeit wie Anzeige in For von: Oliver
Geschrieben am: 14.09.2004 14:25:35

Hallo Axel,

Danke fuer die Antwort.
Die Problematik der verminderten Dezimalstellenzahl ist auch hier aufgefallen, allerdings sind die endgueltigen Ausgabewerte meist ganzzahlig, maximal 2 dezimalstellig.
Zudem sind wir die meisten Eingabeszenarien durchgegangen und die Korrektheit der Ausgaben ist auch beim bereits auf 9-Nachkommastellen umgestellten Excel gegeben.

Die Moeglichkeit des Einstellens der Zwischenergebnisgenauigkeit innerhalb eines Felds ist also weiterhin von Belang.

Gruss,

Oliver


 

Beiträge aus den Excel-Beispielen zum Thema "Dezimalstellen: Genauigkeit wie Anzeige in Formeln"