Tabellenkalkulation: Was ist eine Microsoft-Null?

Teilen

Microsoft wird ja alles mögliche nachgesagt, aber ein Vorwurf ist auch, daß Microsoft-Produkte nicht richtig rechnen. Unter bestimmten Voraussetzungen produzieren alle Microsoft-Office-Programme seit Office 97 geringfügig fehlerhafte Ergebnisse. Beim Schreiben von Buchführungsprogrammen oder anderen mathematisch orientierten Produkten kann dies dem Programmierer richtig die Arbeit versüßen. Der kleine Beitrag demonstriert den Fehler anhand von Excel, aber in Access ist es genauso. Und eine Abhilfe wird auch vorgeführt.

Seltsame Zahlenwerte

Addiert man zu -1 jeweils 0,1 hinzu, so sollte eine Zahlenreihe wie -1; -0,1; -0,8 usw. herauskommen. Doch was der gesunde Menschenverstand lehrt, ist nicht immer wahr, wie die folgenden Beispiele zeigen:

Das demonstrierte Problem unter Microsoft Excel XP        StarOffice 7

Schon in den unformatierten Zahlen (links) fällt auf, daß wo eigentlich eine Null stehen müßte, ein Zahlenwert nur ganz nahe Null erscheint – die sogenannte Microsoft-Null. Erhöht man die Zahl der Nachkommastellen, dann offenbart dies aber auch in der nachfolgenden Stelle einen Fehler: statt mit 0,1 rechnet Excel mit 0,09999999undsoweiter. Das tut weh: solche Fehler sind nämlich keineswegs zu vernachlässigen, sondern gelangen schon in einer simplen Abschreibungstabelle im Laufe von 10, 15 Jahren in einen Bereich, den man in Cents oder wenigstens Zehntelcents messen kann. Der Programmierer muß also in seinen mathematischen Algorithmen eine Fehlerkorrektor einbauen, um Probleme mit den Ergebnissen zu vermeiden. Das kann, wie ich aus Erfahrung weiß, manchmal länger dauern wie das Schreiben des eigentlichen Algorithmus.

Wieviele Spieler hat die Fußballmannschaft von Microsoft?

10,9999999999 Spieler, behauptet der Volksmund, der bekanntlich manchmal Wahrheit kund tut, doch das ist nur witzig, wenn man sich nicht damit herumschlagen muß. Dann entdeckt man nämlich irgendwann, daß das Problem nur manchmal auftritt – ist im vorstehenden Beispiel die oberste Zahl in Zelle A1 nicht -1, sondern -0,5, so rechnet Excel plötzlich richtig. Bill alleine wird wissen, weshalb.

Fehler in allen Versionen und allen Programmen

Mindestens in Microsoft Office ist (mir persönlich) der Fehler seit Version 95 bekannt, und zwar in allen Teilen des Paketes: Excel und Access rechnen gleichermaßen falsch. Word macht auch Fehler, aber nur im Rahmen von VisualBASIC, wo es aber genauso wehtut. Das ist aber nicht alles: auch mit VisualStudio kann ich vergleichbare Ergebnisse produzieren, und sogar der Commodore C64, für den ich einst Programme schrieb, und der bekanntlich ein Microsoft BASIC hatte, machte ganz ähnliche Rechenfehler, vor über zwanzig Jahren. Ein altes Kriegsleiden von Bill also?

Abhilfe ist nahe – und günstig!

Doch warum in die Ferne schweifen, wo das Gute liegt so nahe? Statt viel Geld für Microsoft-Produkte auszugeben, sollte man StarOffice erwägen – wohlfeil zu haben, für Lehrer und Schüler dem Vernehmen nach sogar kostenlos herunterzuladen. Weder in StarOffice 6 noch in StarOffice 7 (rechts) konnte ich vergleichbare Fehler produzieren. Eine StarNull hat immer genau den Wert null – so soll es sein. StarOffice basiert übrigens auf dem OpenOffice-Projekt, das Linux-User als kostenlose und gute Alternative zu Microsoft kennen: Gutes muß nicht teuer sein, zweifellos auch hier erwiesen!

Links zum Thema

§32a EStG: Steuerberechnung mit Excel® und WENN-Befehlen (interner Link).

Ähnliche Themen, die Ihnen gefallen könnten