Es ist schwieriger, eine vorgefasste Meinung zu zertrümmern als ein Atom.
(Albert Einstein)
Die Nutzung von Excel in privaten Lebensbereichen, Vereinen, Kleinbetrieben, mittelständischen Unternehmen und Großkonzernen, in Wirtschaftsprüfungsfirmen, Banken, Handel und Industrie hat über die Jahre ein Anwenderklientel hervorgebracht, welches es vergleichbar so bei keiner anderen Software gibt. Mit Excel wird gebastelt, probiert und experimentiert. Wie ein elektronischer Lego®-Baukasten für Erwachsene werden einzelne Bausteine mehr oder weniger wahllos aneinander gepackt. Nur selten macht sich ein Anwender daran, hinter die Kulissen zu schauen und die angebotenen Funktionen und angeblich ’etablierten’ Vorgehensweisen zu hinterfragen. Dadurch sind im Laufe der Jahre Irrglauben rund um Excel entstanden, welche kaum noch aus den Köpfen der Anwender zu entfernen sind.
Irrtum 1: Mit dem Blattschutz kann irgendeine Art von Sicherheit erreicht werden
Leider nein. Der Blattschutz ist nicht dazu geeignet, irgendjemanden von irgendetwas abzuhalten. In allen Excel-Foren wird immer wieder die Frage nach einem Umgehen dieses Blattschutzes gestellt. Fast alle Fragesteller geben an, ihr eigenes Kennwort vergessen zu haben, die Praxis zeigt jedoch, dass häufig der Schutz von Dateien aufgehoben werden soll, welche man nicht selbst erstellt hat. Das Interesse mit einem Blattschutz versehene Tabellenblätter ohne Kenntnis des Kennwortes zu öffnen, ist enorm. Die Eingabe von „Excel Blattschutz“ bei Google liefert über 15 Millionen Einträge zu diesem Thema!
Dabei ist der Schutz gar keiner. Das vom Anwender eingegebene Kennwort wird in eine 16-stellige Binärzahl umgewandelt. Eine Binärzahl mit 16 Stellen (16 Bit) liefert maximal zwei hoch sechzehn unterschiedliche Hash-Werte, also insgesamt 65.536 Möglichkeiten. Aufgrund dieser Begrenzung kann nicht jedes mögliche Kennwort einen eindeutigen Hash-Wert erhalten. Sie können dies leicht überprüfen. Den Blattschutz mit dem Kennwort „test“ können Sie mit dem Kennwort „zzyw“ wieder entfernen. Die Länge des Kennwortes spielt keine Rolle. Ein eingegebenes Kennwort wird erst in einen Hash umgewandelt und dann mit dem gespeicherten Kennwort verglichen. Die direkte Eingabe des Hash hebt den Schutz auf. Damit ist es durch reines Ausprobieren möglich, das Kennwort zu ermitteln. Es ist also nur notwendig, die Zahlen 1 – 65536 (2^16) in eine Binärzahl umzuwandeln und diese Binärzahl als Kennwort einzusetzen. Damit ist jeder mittelmäßige VBA-Programmierer in der Lage mit 7 Zeilen Code innerhalb von Sekunden den Blattschutz aufzuheben. Lässt er sich die Binärzahl ausgeben, kann er das Tabellenblatt sogar wieder so mit einem Blattschutz versehen, dass es später mit dem Original-Kennwort geöffnet werden kann. Damit ist der Eingriff nicht einmal nachweisbar.
Irrtum 2: Makros sind harmlos
Makros sind nichts anderes als VBA-Programmierungen. Der Begriff kommt noch aus den Anfängen von Excel und wird bis heute in Excel verwendet. Makros bezeichnen eher sequentielle Programmschritte, was sich im Makro-Rekorder wiederspiegelt, welcher für jeden Excel- Anwender verfügbar ist. Dieser zeichnet die Arbeitsschritte des Anwenders auf und listet sie als VBA-Code auf, welcher dann erneut wiedergegeben werden kann. Durch die Implementierung von VBA-Code in einer Excel-Datei ändert sich der Status der Datei. Aus einem Dokument wird eine eigenständige Software. Dass diese Software Excel als Framework benötigt, um korrekt zu funktionieren, ist dabei unerheblich. Fast alle modernen Programmiersprachen benötigen zur Ausführung von Dateien ein Framework, in dessen Rahmen die Datei eingebettet wird. Aufgezeichnete Makros stellen aus Risikogesichtspunkten ein höheres Gefahrenpotenzial dar, als manuell erfasste VBA-Codes, da bei Makroaufzeichnungen davon ausgegangen werden muss, dass der Ersteller keine oder nur sehr geringe VBA-Kenntnisse besaß. Mit jedem installierten Excel, Word oder PowerPoint auf einem Ihrer Firmenrechner stellen Sie Ihrem Mitarbeiter eine vollständige, unkontrollierte und uneingeschränkte Programmierumgebung zur Verfügung.
Irrtum 3: Sortieren ist harmlos
Sortieren ist Bestandteil jeder Grundlagenschulung in Excel. Jede EDV-Schule, jeder VHS-Kurs, jedes Seminar hat Sortieren im Programm. Sortieren gehört zu den größten Risiken, welchen ein Anwender in Excel ausgesetzt ist. Als täglich genutzte Funktion ist sich dieses Risikos jedoch kaum jemand bewusst. Und wieder ist es nicht die Funktion selbst, welche nicht funktioniert oder einen Schaden anrichtet.
Abbildung 2 Die Excel-eigene Sortierfunktion
Es ist ihre missbräuchliche Verwendung, welche aus der Funktion ein Risiko macht. Diese Technik ist in jeder Datenbank vorhanden. In Datenbanken werden jedoch immer ganze Datensätze sortiert. Mit viel Phantasie könnte man eine Zeile in Excel als ein Datensatz ansehen. In Excel können Sie jedoch auch einzelne Spalten sortieren. Dabei zerstören Sie die Zusammenhänge der Daten untereinander. Warum wird überhaupt sortiert? Eine Sortierung benötigt nur der Anwender selbst. Informationen sollen in einer bestimmten Reihenfolge abgebildet werden. Dabei muss zwischen alphabetischen und nummerischen Informationen unterschieden werden. Um nummerische Informationen in eine bestimmte Reihenfolge zu bringen, ist eine Sortierung über die Excel-eigene Funktion nicht nötig. Dies geht revisionssicher über Funktionen. Einzig eine alphabetische Sortierung müsste über die Schaltfläche in Excel realisiert werden. Dies ist jedoch nur dann notwendig, wenn die sortierte Liste gedruckt werden soll. Alle anderen Intentionen oder Ausreden, warum einen Liste sortiert werden soll, sind ohne reellen Hintergrund. Das fehlende Wissen der Anwender lässt diese zu einer der gefährlichsten Funktionen greifen, welche in Excel verfügbar ist. Um die Gefahr, welche von einem Sortiervorgang ausgeht, besser verstehen zu können, schauen wir uns zunächst die Ausgangsbasis an. Eine beliebige Menge an Informationen befindet sich in einer Tabelle in Excel. Gleich welche Intention der Anwender hat, um sein Ziel zu erreichen, kann er entweder die Originalliste sortieren, oder eine Kopie der Datenmenge. In beiden Fällen unterbricht er die Nachvollziehbarkeit der Rechenkette und beschädigt somit die Integrität der Daten. Der Sortiervorgang ist ein manuell ausgelöster Prozess, welcher nicht dokumentierbar ist und falls die Daten nicht bereits im Vorfeld einer erkennbaren Sortierung unterlagen, nicht umkehrbar ist. Jegliche Beweismöglichkeit, dass das, was angeliefert wurde, auch ausgewertet wurde, ist mit dem Sortieren verloren gegangen. Fast nie wird vor dem Sortieren auf Leerzeilen geprüft, fast nie wird die Daten-menge auf Konsistenz geprüft. Auf einem durchschnittlichen Anwenderbildschirm sind 30 – 40 Zeilen sichtbar. Den meisten Anwendern reicht dieser kleine Ausschnitt offensichtlich, um daraus Rückschlüsse auf mehrere tausend Zeilen an Daten zu ziehen. Übersehene Leerzeilen, Summenzeilen, Gruppierungen beim Sortieren sind an der Tagesordnung. Werden dann noch ausgeblendete Spalten mit ID’s übersehen, dann kann es passieren, dass der Datenbestand nach einem einzigen Sortiervorgang völlig zerstört wurde. Wenn dies beim Sortieren sofort auffällt, können Sie gegebenenfalls mit einer neuen Kopie von vorne beginnen. Was jedoch, wenn die letzten fünf von zehntausend Zeilen nicht mitsortiert wurden. Wird nun eine formeltechnische Lösung gebastelt, welche nur bei sortierten Listen funktioniert, dann ist die darauf resultierende Auswertung zu 0,5% falsch. Als Prüfer werden Sie kaum eine Möglichkeit haben, dies zu entdecken. Die einzige Chance ist, solche Praktiken von Anfang an zu untersagen.
Irrtum 4: Tabellenblätter kopieren ist harmlos
Mit drei Tastenkombinationen (STRG+A, STRG+V, STRG+C) haben Sie in Excel den Inhalt eines Tabellenblatts in ein anderes Tabellenblatt kopiert. Die mühsam erstellte Monatsauswertung für den Januar wird auf eine leeres Tabellenblatt kopiert und so zur Auswertungsvorlage für den Februar. Dies ist gängige Praxis bei fast jedem Excel-Anwender. Excel hat hier eine gefährliche Eigenart. Wird innerhalb eines Tabellenblatts ein Bezug auf eine Zelle desselben Tabellenblatts gesetzt, dann wird dieser ohne den Tabellenblattname geschrieben (=A1). Wird ein Bezug auf eine andere Tabelle benötigt, wird der Tabellenname vor den Verweis gesetzt (=Produkte!A2). Dies ist soweit auch völlig korrekt. Wechselt man jedoch vom Tabellenblatt «Januar» zu «Produkte», setzt einen Bezug auf eine Zelle, wechselt dann wieder zurück zu «Januar» und setzt nun einen Bezug innerhalb der eigenen Tabelle, dann erhält man folgende Darstellung (=Januar!A1). Zunächst scheint alles ganz harmlos. Die Tabelle «Januar» funktioniert ohne Probleme. Wird der Inhalt der Tabelle «Januar» nun kopiert, dann werden alle Bezüge der Schreibweise «A1» in die neue Tabelle übernommen und beziehen sich auf die neue Tabelle. Bezüge der Schreibweise «=Januar! A1» werden nicht auf «Februar» getauscht, sondern beziehen sich weiterhin auf die Tabelle «Januar». Diese «qualifizierten Selbstbezüge» sind ein untrügliches Zeichen auf möglich Kopierprobleme in ähnlich aufgebauten Tabellen.
Irrtum 5: Zeilen und Spalten löschen ist harmlos
Zwei Klicks reichen und schon sind eine oder mehrere Zeilen oder Spalten gelöscht. Keine zusätzliche Bestätigung, keine Warnung. Wir reden hier nicht von der Taste «Entf», welche nur den Inhalt löscht, was je nach Inhalt natürlich auch ein Risiko darstellt. Hier geht es vielmehr um das Löschen der ganzen Zeile oder Spalte und damit um eine strukturelle Veränderung der Tabelle.
Haben nachfolgende Funktionen auf die gelöschten Zeilen oder Spalten referenziert, dann erhält man häufig einen Bezugsfehler. Bezugsfehler lassen sich kaum beheben, da der ursprüngliche Bezug nicht mehr erkennbar ist. Stattdessen wird der Excel-Fehlerwert «#Bezug» angezeigt. Diesem Fehlerwert ist nicht anzusehen, was der ehemalige Inhalt war. Gerade wenn Dateien vor einer Prüfung noch schnell bereinigt werden sollen und ohne großes Nachdenken verdächtige, manipulierende oder kompromittierende Tabellen gelöscht werden, dann sind oft Bezugsfehler in den verbleibenden Tabellen und im Namenmanagern zu finden. Aber auch aus Unachtsamkeit, weil der Anwender bestimmte Informationen entfernen möchte, können bei falscher Handhabung schnell Bezugsfehler auftreten.
Irrtum 6: Excel kann man nebenbei lernen
Excel beinhaltet über 300 verschiedene Funktionen, welche Sie beliebig miteinander verschachteln können. Als Matrixfunktion eingesetzt verhalten sich viele dieser Funktionen abweichend zu ihrer Arbeitsweise als ’normale’ Funktion. Um so gut wie alle aufkommenden betriebswirtschaftlichen Fragestellungen in Excel abbilden zu können, reichen ca. 30 Funktionen aus. Wenn Sie also ca. 10% aller Excel-Funktionen beherrschen würden, könnten Sie nahezu jede beliebige Excel-Aufgabe, welche in Ihrer Firma vorkommt, formeltechnisch lösen. Doch was bedeutet beherrschen. Es bedeutet jedenfalls nicht, durch reines Ausprobieren zum Ziel zu gelangen, oder sich die Daten so zusammen zu kopieren, dass es dann schon irgendwie passt. Perfekt beherrschen bedeutet, dass Sie die 30 Funktionen gezielt so miteinander verschachteln, dass das korrekte Ergebnis in der Zelle steht, wenn Sie auf «Return» drücken. Alle absoluten und relativen Zellbezüge sind richtig gesetzt. Beherrschen heißt, dass Sie die Funktionen auswendig kennen, alle Argumente, in der richtigen Reihenfolge. Sie kennen die Grenzen, Alternativen und Einsatzbereiche der Funktionen genau. Und es bedeutet, dass Sie Funktionen so schreiben, dass Sie sie beliebig in alle Richtungen ausfüllen können, ohne die Formel in den folgenden Zellen anpassen zu müssen. Dazu kennen Sie die enthaltenen Techniken. Sie können Daten importieren, Namen vergeben, mit Formularelementen arbeiten, Diagramme abseits des Assistenten erstellen. Sie kennen die notwendigen Kriterien um Ad-hoc Auswertungen mit Pivot-Tabellen zu erstellen. Sie wissen, wie man eine perfekte Tabelle aufbaut. Und was noch viel wichtiger ist. Sie wissen, was Sie nicht in Excel umsetzen sollten. Das lernt man nicht nebenbei, nicht in einem zweitägigen Einsteiger- Seminar und nicht in einer Umschulung beim Arbeitsamt. Das können Sie sich nicht zusammengooglen. Das müssen Sie sich über Jahre hinweg aneignen. Anhand von professioneller Literatur und mit der Unterstützung von anderen Profis, deren Arbeits- und Vorgehensweise seit Jahren geschätzt wird. Die Handvoll Mitarbeiter, denen die Nutzung von Excel am Ende noch zugestanden wird, benötigen eine fundierte Ausbildung.
Irrtum 7: Für VBA muss man nichts vom Programmieren verstehen
Jedem Anwender von Microsoft-Office steht in Word, Excel und PowerPoint eine vollständige Entwicklungsumgebung zur Verfügung. Auch wenn VBA gegenüber Programmiersprachen wie C#, C++, VB.NET oder Java wichtige Eigenschaften fehlen, so kann mit VBA auf viele, zum sicherheitsrelevante Bestandteile von Windows zugegriffen werden. Mit VBA lassen sich alle großen SQL-Server von Microsoft, Oracle oder MySQL ansprechen, abfragen und befüllen. Sie können Daten aus dem Internet laden und Mails ohne das entsprechende Mail-Programm verschicken. Ein Zugriff auf Netzwerkstrukturen und Dateien ist ebenso möglich, wie das automatische Erstellen von Dateien. Obwohl VBA auch in Word und PowerPoint verfügbar ist, so wird VBA hier eher zur Formatierungsunterstützung eingesetzt. In Excel jedoch hat sich rund um VBA eine Entwickler-Community gebildet, welche von makroaufzeichnenden Laien bis zu professionell ausgebildeten Programmieren reicht, welche VBA als unterstützende Möglichkeit sehen, die benötigten Objekte direkt ansprechen zu können. Den Anfang für eine VBA-Entwicklung bildet häufig der Makro-Rekorder. Da VBA selbst für Laien mit geringen Englischkenntnissen einigermaßen verständlich ist, wird nun versucht, über Trivialliteratur wie «VBA für Dummies» oder mehr oder weniger geeignete Foren das aufgezeichnete Skript anzupassen. Und das oft ohne das geringste Grundwissen an Programmierkenntnissen. Wird mit dem Makrorekorder aufgezeichnet, wird dies in einem Kommentar am Beginn des Skriptes vermerkt. Dieser Kommentar kann aber gelöscht oder geändert werden. Außerdem wird er nicht entfernt, wenn der ’Entwickler’ selbst Code dazuschreibt. VBA lässt es leider zu, dass schlecht programmiert wird. Variablen müssen beispielsweise nicht zwingend deklariert werden. Wird eine Variable deklariert, dann kann in ihr nur eine Information gespeichert werden, welche der Deklaration entspricht. Wird beispielsweise die Variable «lngBudget» als Long-Variable deklariert, so lassen sich in ihr nur ganze Zahlen ohne Nachkommastellen speichern, also auch keine Texte. Durch das Prefix «lng» vor dem Variablennamen wird die Deklaration für den Leser des Codes schnell erkennbar. In VBA ist aber möglich darauf zu verzichten und hintereinander folgende Befehle zu schreiben:
Budget =“12345″
Budget =“12345.678″
Budget =“ noch keine Ahnung “
Budget = TRUE
Mit jeder neuen Zeile wird Budget ein neues Format zugeordnet. Möchten Sie die Variable «Budget» zu einem späteren Zeitpunkt für eine mathematische Operation einsetzen, dann müssen sie zunächst den Inhalt prüfen. Oder sie erhalten eine Fehlermeldung, dass der Typ nicht kompatibel sei. Verzweifelte Fragen nach der Ursache dieser Meldung finden sich ‚en masse‘ in den VBA-Foren.
Irrtum 8: Excel ist für Datenhaltung geeignet
Bis Excel 2003 konnten Sie in einem Tabellenblatt 65.635 Zeilen erfassen, bei 265 Spalten. Wenn Sie nur auf einem Tabellenblatt in jeder Zelle die Zahl 1 eintragen, dann beträgt die Dateigröße bereits über 100 MB. Ab Excel 2007 können Sie 1.048.576 Zeilen erfassen. Füllen Sie diese wieder nur mit der Zahl «1», dann haben Sie nach 60 Spalten eine Dateigröße von über 171 MB erreicht. Bereits bei dieser Menge verhält sich Excel instabil. Sie hätten die unvorstellbare Menge von 16.384 Spalten zur Verfügung. Zur Erinnerung, der Test wurde mit der Zahl «1» durchgeführt, keine Formeln, keine Formatierung und das Ganze auf einem einzigen Tabellenblatt. Diese riesigen Zelltapeten verführen geradezu dazu, Downloads von Vorsystemen in Excel abzubilden.
Irrtum 9: Gefilterte Werte kann man kopieren und weiterverarbeiten
Werden Werte mit dem Autofilter gefiltert, weil der Anwender nur einen bestimmten Teil der Daten weiterverarbeiten will, dann bleibt ihm nichts anderes übrig, als die Daten zu kopieren.
Die gefilterten und kopierten Daten werden von Excel sauber in einem neuen Tabellenblatt aufgelistet. Der Anwender kann nun seine Auswertung auf die reduzierte Datenmenge durchführen. Übersehen wird meistens, dass das Filtern eine undokumentierbare Aktion ist. Das Zustandekommen des Ergebnisses ist nicht nachweisbar. Fehler in den Filtereinstellungen lassen sich im Nachhinein nicht mehr feststellen. Durch die Kopie wird diese Menge redundant und von den Originaldaten unabhängig in Excel abgelegt. Die Rechenkette wurde unterbrochen. Ein Nachweis der Integrität des Ergebnisses ist nicht mehr möglich.
Irrtum 10: csv-Textimporte sind schnell per Doppelklick möglich
Leider nein! Werden csv-Dateien oder andere Textimporte per Doppelklick in Excel importiert, dann interpretiert Excel diese Angaben selbstständig anhand der ersten Einträge. Immer wieder kommt es vor, dass so Postleitzahlen und Vorwahlen als Zahl und nicht als Ziffernfolge und somit als Text gespeichert werden. Als Zahl verlieren diese Inhalte dann ihre Führungsnull, welche aufwendig per Funktion wieder angefügt werden muss. Ein Import aus Excel heraus mit qualifizierter Zuordnung der Spalten würde solche Probleme vermeiden.
Marc Wehrhagen
Leiter Kestler Wehrhagen Akademie
http://www.kestler-wehrhagen.com
https://www.facebook.com/KestlerWehrhagenAkademie
Bild: Fotolia #6018048 – Image of female hands on the keys typing documents © pressmaster