Kaskadenfehler in Tabellenkalkulationen
Was etwas klingt wie Star Trek Technobabble ist ein äußerst hässliches Problem in Calc (LibreOffice) und vermutlich auch OpenOffice und Excel. Nachdem ich mich mit diesem Problem gute 3 Stunden rumgeschlagen habe, möchte ich hier davon berichten…
Excel (oder in meinem Fall Calc) ist keine Datenbank! Calc ist ein automatischer Taschenrechner. Mein Hauptanwendungszweck dafür ist die Arbeitszeiterfassung. Anfangszeit eingeben, Endzeit eingeben, Urlaubszeit eingeben, glücklich sein. Kein Rechnen, wieviel Überstunden jetzt über welchen Monat gehen, wann welche Feiertage wo rein spielen und so weiter.
Das Problem: Mehrere Sheets! Also Tabellenblätter oder Tabellen. Bei mir ganz klar, pro Jahr eine Datei, pro Monat ein Blatt. Was war passiert? Ich habe Daten zwischen OpenOffice und LibreOffice getauscht. Was in OpenOffice noch ganz hervorragend ging, führte in LibreOffice zu Tabellen die voll mit #VALUE!, #REF! und #NAME! waren. Nuja, dachte ich, is ja klar, anderes Programm, andere Syntax. Langsam aber sicher hab ich mich dann zum Kern des Problems gearbeitet, als ich aber verstanden habe, WO das Problem ist, hab ich doch sehr geflucht!
Im Verlaufe der Arbeit habe ich irgendwann vergessen, dass es ein Ausgangspunkt für die Werte gibt. Da jeder Monat irgendwie ähnlich war bin ich davon ausgegangen, dass es egal ist, in welchem Blatt ich arbeite. Wir befinden uns im März. Also dem Tabellenblatt. Nachdem ich kläglich daran scheiterte in der Zelle selbst das Problem zu beheben, bin ich zu einer Debug-Zelle übergegangen (eine leere Zelle in der Umgebung, wo ich die Formelbestandteile einzeln ausprobiere, weil man sonst den Überblick in einer 3-fach geschachtelten If-Abfrage verliert). Dem Internet sei dank, war die richtig Syntax schnell gefunden. Das Ergebnis war: #REF!
Ich fühle mich an Schülerzeitungs-Zeiten erinnert, wo nachts um 3 gestandene Zwölftklässler (früher hätte man Unterprimaner gesagt) vor ihrem wieder mal abgestürzten 386er die Hände gen Himmel recken und mit einem „WARUM????“ ihre Eltern aus dem Schlaf holen. Die letzten 3 Stunden Layout waren natürlich nicht auf der Diskette gesichert. Aber zurück zum Thema: Immer kleiner werden die Bestandteile, die ich ausprobiere.
#REF!
WARUM???? Eltern kann ich zum Glück nicht mehr aus dem Schlaf holen, die schlummern friedlich in ihren eigenen vier Wänden. Woher die plötzliche Eingebung kam, ein anderes Blatt auszuprobieren, weiß ich nicht mehr. Aber es war wie ein Wunder: Ganz zu Anfang aller Blätter ein Symbol korrigiert, und alle #REF!s (naja, fast alle ;-)) verschwanden wie von Zauberhand.
Des Rätsels Lösung: Eine Syntax in LibreOffice ist anders als in OpenOffice, nämlich INDIRECT. OpenOffice erwartet zur Trennung von Blatt und Zelle ein „!“, LibreOffice einen „.“. Wenn man jetzt nicht gaaanz vorn anfängt, sondern immer wieder auf das jeweils letzte Blatt referenziert (wo es auch schon einen #REF!-Fehler gegeben hatte), dann kann man soviel schrauben, wie man will, selbst, wenn die Syntax richtig ist, wird das #REF! aus dem vorhergehenden Blatt übertragen.
Was ich damit sagen will: Achtet darauf, wo der Ursprung der Werte ist, mit denen ihr rechnet! Bei mir hat sich der Fehler über SECHS Blätter gezogen, dabei war lediglich EIN Punkt falsch.
Falls jemand über ähnliche Phänomene in Excel oder OpenOffice berichten möchte, nur zu, ein Kommentar genügt! In diesem Sinne, weiterrechnen…