[xllimit5] Genauigkeit bei Zahlen und kleinste/grösste zulässige positive/negative Zahl Auf dieser Seite möchte ich ein paar interessante Dinge zu Zahlen, Dezimalstellen und benutzerdefinierten Zahlenformaten vorstellen. Inhalt Die Spezifikation von 15 Stellen für die Genauigkeit bei Zahlen ist gilt für sämtliche Excelversionen. Als Ergänzung sollte jedoch erwähnt werden, dass 15 Stellen nicht bedeutet, dass eine Zahl maximal 15 Stellen beziehungsweise eine Dezimalzahl maximal 15 Nachkommastellen besitzen kann. Eine Zahl kann nämlich bis zu 127 Ziffern nach dem Komma aufweisen; allerdings werden nur 15 Nachkommastellen beim Rechnen berücksichtigt. In einem etwas älteren Beitrag im Excel-Forum von Spotlight.de habe ich mehrere interessante Hinweise gefunden, wie die grösste erlaubte Zahl lautet bzw. wie sie sich erzeugen lässt (Besonderen Dank an den Forum-User namens Jens). Die grösste Zahl, die ohne Formel eingegeben werden kann, ist 1E+308. Geben Sie dazu =10^308 in eine Zelle ein.
Die grösste Zahl mit einer einfachen Formel ist 1.79769313486231E+308. Geben Sie für diese Zahl=1.79769313486231*10^308 in eine Zelle ein. Wenn man für die 14. Nachkommastelle eine 2 statt der Zahl 1 schreibt, d.h. =1.79769313486232*10^308 eingibt, erscheint der Fehlerwert "#ZAHL!". Daraus kann man schliessen, dass die Zahl 1.79769313486231E+308 die grösste erlaubte Zahl ist (Anmerkung des Autors: Was allerdings nicht der Fall ist; siehe weiter unten).
Wenn man eine Berechnung bzw. eine etwas kompliziertere Formel verwendet, kann man sogar die Zahl 1.79769313486232E+308 erzeugen.Dies erreicht man mit der Formel =1.79769313486231*10^308*(1+3.21970098152157E-15) oder auch mit der höchst interessanten Matrixformel {=SUMME(2^(ZEILE(971:1023)))}
Eine grössere Zahl als 1.79769313486232E+308 konnte bisher noch nicht erzeugt werden. Zahlen mit mehr als 15 Dezimalstellen Die Zahl "0.123456789012345000000000000000", welche 30 Nachkommastellen besitzt, kann problemlos in eine Zelle eingegeben und auch mit allen Ziffern dargestellt werden. Stellen Sie dazu im Zellen-Dialogfenster (Menübefehl Format/Zellen) das Zahlenformat auf "Zahl" und geben Sie im Feld "Dezimalstellen" den Wert 30 ein. Es ist nicht möglich, im Feld "Dezimalstellen" einen grösseren Wert als 30 einzustellen. Zahlen mit mehr als 30 Dezimalstellen Es gibt einen einfachen Trick, wie man bis zu 127
Dezimalstellen festlegen kann:
Die Fehlermeldung erscheint sobald die 128-ste Dezimalstelle hinzugefügt wird (und nicht schon bei der 31. Dezimalstelle), was somit bedeutet, dass die selektierte Zelle ein Zahlenformat mit 127 Dezimalstellen besitzt. So weit so gut. Öffnen Sie nun das Dialogfenster "Zellen" (Menübefehl Format/Zellen). Auf der Registerseite "Zahlen" steht im Feld "Dezimalstellen" die Zahl 127 (siehe nächste Abbildung).
Klickt man auf die Pfeil oben- oder Pfeil unten-Schaltfläche, so wird sofort der Wert 30 angezeigt. Das ist schon mal ungewöhnlich, weil 127 Dezimalstellen eigentlich erlaubt sein müssten. Noch ungewöhnlicher ist jedoch dies: Wenn Sie die Zahl 127 in dem Feld stehen lassen und dann mit OK das Dialogfenster schliessen möchten, so erscheint die Fehlermeldung "Die eingegebene Zahl kann nicht verwendet werden. Es wird wahrscheinlich eine Ganzzahl oder eine Dezimalzahl benötigt.", wodurch das Fenster nicht geschlossen werden kann.
Die gleiche Fehlermeldung erscheint auch beim Anklicken einer anderen Registerseite (Ausrichtung, Schrift usw.). Sie wird immer dann angezeigt, wenn das Dezimalstellen-Feld einen Wert grösser 30 enthält. Angenommen Sie möchten Tausender-Trennzeichen verwenden, so können Sie zwar die Option "1000er-Trennzeichen verwenden" aktivieren, die geänderte Einstellung jedoch nicht mit OK übernehmen. Aber auch dafür gibt es einen Trick: Aktivieren Sie die Option und wählen dann das Zahlenformat "Benutzerdefiniert" aus. Bei diesem Zahlenformat erscheint beim Klicken von OK keine Fehlermeldung, und die Einstellung wird korrekt angewendet. Dass sich Microsoft Excel derart gegen eine Anzahl von mehr als 30 Dezimalstellen wehrt, ist nicht nachvollziehbar (Anmerkung des Autors: Das ist meine persönliche Meinung). Wenn man nämlich in die Online-Hilfe schaut, so findet man in der Beschreibung der FEST-Tabellenfunktion diesen Satz (Zitat):
Zahlen mit mehr als 127 Dezimalstellen Es ist sogar möglich, mehr als 127 Dezimalstellen zu benutzen. Im Optionen-Dialog kann man auf der Registerseite "Bearbeiten" im Feld "Stellenanzahl" eine feste Anzahl Dezimalstellen definieren.
Anhand dieses Feldes können Sie mehr als 127 Stellen festlegen, wobei Werte zwischen -300 und 300 erlaubt sind. Die Eingabe einer Zahl ausserhalb dieses Bereiches führt beim Anklicken von OK oder einer anderen Registerseite zur Fehlermeldung "Zahl muss zwischen -300 und 300 liegen":
Auf diese Weise können Sie erreichen, dass beispielsweise beim Eingeben einer Zahl in eine Zelle die Zahl automatisch konvertiert wird. Bei einer festen Stellenanzahl von 300 wird aus der Zahl 1 die Zahl 1E-300. Bei -300 wird aus der Zahl 1 die Zahl 1E+300. Übrigens besitzt das Eingabefeld einen unscheinbaren Bug. Wenn Sie die Option "Feste Dezimalstelle setzen" aktivieren, für die Stellenanzahl eine Zahl grösser als 300 oder kleiner als -300, also zum Beispiel 500 eingeben, dann die Option deaktivieren und schliesslich auf OK klicken, oder auf eine andere Registerseite und wieder zurück auf die Bearbeiten-Registerseite wechseln, so wird Ihre Eingabe nicht übernommen. Beim nächsten Öffnen des Dialogfenster wird wieder der vor Ihrer Eingabe eingestellte Wert angezeigt. Wenn Sie jedoch die Option "Feste Dezimalstelle setzen" aktivieren, die Zahl 500 eingeben und dann auf OK oder eine andere Registerseite klicken, so erscheint verständlicherweise die obige Fehlermeldung. Wenn Sie jetzt aber die Dezimalstelle-Option deaktivieren und dann das Fenster mit OK schliessen, so wird der Wert angenommen. Klar, die Option ist deaktiviert, und es werden somit keine 500 Dezimalstellen angezeigt. Dennoch: Der - wohlgemerkt ungültige - Wert wird übernommen und beim erneuten Öffnen des Dialogfensters wieder angezeigt. Der Wert wird sogar persistent gespeichert, soll heissen beim Beenden von Excel in die Windows Registry geschrieben. Beim nächsten Programmstart wird der Wert aus der Registry gelesen und anstandslos im Optionen-Dialogfenster angezeigt. Zahlen mit mehr als 300 Dezimalstellen (maximal 307 Stellen) Wie weiter oben erwähnt wurde, kann man mit der maximal erlaubten Stellenanzahl 300 erreichen, dass aus der eingegebenen Zahl 1 eine 1E-300 wird (bzw. bei -300 eine 1E+300 wird). Allerdings ist gemäss Excel-Spezifikation die kleinste zulässige positive Zahl mit 1E-307 angegeben. Was kann man also tun, damit die Zahl 1 in eine 1E-307 konvertiert wird? Ganz einfach, denn auch dafür gibt's einen Trick. Beenden Sie Microsoft Excel und gehen dann wie folgt vor: Beim nächsten Ausführen von Microsoft Excel wird eine feste Dezimalstellenanzahl von 307 verwendet, d.h. die Eingabe der Zahl 1 in eine Zelle wird automatisch zur Zahl 1E-307. Wenn man das Optionen-Dialogfenster öffnet, so ist dort im Feld "Stellenanzahl" der Wert 307 eingetragen und die Option "Feste Dezimalstelle setzen" tatsächlich aktiviert.
Der Nachteil ist, dass man das Fenster nicht mehr mit OK schliessen kann, da 307 nicht im erlaubten Bereich von -300 bis 300 liegt. Mit anderen Worten erscheint diese Fehlermeldung:
Allerdings ist die Fehlermeldung das einzige Problem, das ich feststellen konnte. Excel scheint richtig zu rechnen, soweit man das überhaupt noch überprüfen kann. Auf jeden Fall ist 1E-307 + 1E-307 = 2E-307, was korrekt ist. Auch 1E-307 * 10 ist 1E-306, was ebenfalls stimmt. Nebenbei erwähnt ist eine Stellenanzahl von 307 wirklich die Grenze des Machbaren. Eine Anzahl von 308 Stellen kann dazu führen, dass nicht mehr sämtliche Zelleingaben korrekt umgewandelt werden. Excel zeigt dann anstelle der eingegebenen Zahl nur noch die Zahl 0 in der Zelle. Bei 309 Dezimalstellen arbeitet das Feature "Feste Dezimalstelle" generell nicht mehr korrekt. Das bedeutet, dass aus jeder eingegebenen Ganzzahl immer die Zahl 0 wird. Hier noch ein paar andere Werte für den "AutoDec"-Eintrag:
Benutzerdefiniertes Zahlenformat mit mehr als 15 Stellen Diese Beschreibung folgt demnächst...
Internetseiten mit Formeln zum Thema Zahlen und Rechnen Hier ein paar interessante Internetseiten mit
Excel-Formeln: Microsoft Knowledge Base-Artikel zum Thema Zahlen und Rechnen Hier eine Liste verschiedener Microsoft Knowledge
Base-Artikeln:
|
|
||||||||||||||||||||||||||||||||||||||||||||||||
Haben Sie Fragen,
Anregungen oder einen Fehler entdeckt?
Kontakt zum Autor
Zuletzt aktualisiert am
18.04.2006 / 17:30 Uhr
Zuletzt kontrolliert am 19.12.2008 / 17:00 Uhr
© 2002-2009 by Philipp von Wartburg, Schweiz
Alle Rechte vorbehalten