Ende eines Anachronismus (genannt Bug...)

Irgendwann hat bekannterweise ja jemand einen "Treffer" gelandet - dazu meinen Glückwunsch! Wie man mittlerweile weiß, gibt (bzw. gab) es einen Bug in Excel, der dafür sorgte, dass bestimmte Ergebnisse falsch angezeigt wurden.

OK, Bugs gibt es leider ja immer wieder, aber dieser war neu für Excel 2007 und nicht in den vorherigen Versionen enthalten.

Außerdem - was sicherlich den meisten, die die veröffentlichte einfache Berechnung nachvollzogen haben, nicht aufgefallen war, bezog sich dies nur auf die Darstellung, nicht aber auf das Ergebnis. Excel hat also weiterhin richtig gerechnet, aber das Ergebnis falsch angezeigt. Auch nicht besser, aber zumindest wusste man jetzt, dass die gesamte Kalkulation in sich stimmig war. Auch andere Darstellungen, wie z.B. Charts, waren von dem Fehler nicht betroffen. Wer die Details nachlesen will, hier ein informativer Artikel: Excel Bug

Warum mein Glückwunsch an den Entdecker? Ganz einfach: Es gibt genau zwei mal sechs Möglichkeiten diesen Bug zu triggern - wenn man bedenkt, dass die Gleitkommazahlen als 64-Bit Zahl vorliegen, heist das "12 aus 2 hoch 64". Sechs Richtige im Lotto gibt es da viel häufiger (wenn mich meine Erinnerung an Statistik in der Schule nicht täuscht).

Aber es ist gut, dass es immer wieder solche Treffer gibt!

Das hat jetzt wieder ein Ende, da es den Fix dafür gibt: KB943075.

Warum wurde der Bug nicht vorher gefunden? Auch das ist eine interessante Frage und zumindest die Antwort wirft eine weitere Frage auf - nämlich wie sich so etwas verhindern lässt.
Ziel bei der Entwicklung eines Produktes ist es eine möglichst große Abdeckung der Codebasis durch Tests zu erreichen (Coverage). Jetzt jemanden hinzusetzen, der alle Funktionen mit diversen Parametern testet, ist nicht praktikabel, da der Mensch nicht schnell und zuverlässig genug ist. Also werden diese Tests weitestgehend automatisiert. In diesem Fall war das Problem aber die Darstellung und nicht das Ergebnis, also der Inhalt der Zelle. Automatische Tests haben also nur finden können, dass alles OK ist. Nur die visuelle Beurteilung hätte hier Alarm geschlagen. Hier hilft dann meistens nur der Zufall, oder aber eine Vielzahl von Anwendern, die irgendwann (warum auch immer) genau den Fehlerzustand produzieren. Ein Grund, warum es breite Beta Programme gibt...