Sonntag, 27. November 2011

Excel: Stammzellen und leere Zellen

Eine leere Zelle ist in Excel nicht einfach leer. Sie kann auf (mindestens) drei verschiedene Weise leer sein.

Anmerkung: In einer relativ komplexen Tabelle, bei deren Bearbeitung ich auf dieses Problem gestossen bin und Lösungen für die Bearbeitung der Daten suchen musste, hatte ich den Eindruck, dass Excel auch zwischen «unberührten» Zellen und Zellen, deren Inhalt mit der Delete-Taste gelöscht wurde unterscheidet. Dieses Phänomen liess sich aber bei meinen weitern Untersuchungen nicht reproduzieren, und ich habe im Internet bisher auch keine weiteren Hinweise darauf gefunden.

  1. Eine Zelle kann «unberührt» sein, das heisst sie hat nie ein Element enthalten oder ihre «Unberührtheit»  wurde mit der Delete-Taste wiederhergestellt. In diesem Artikel werde ich der Klarheit halber eine solche Zelle als «Stammzelle» bezeichnen.

  2. Eine Zelle kann aber auch mit der Zuweisung ="" als leere Zelle gekennzeichnet werden. Sie ist dann aber nicht mehr "unberührt". In diesem Artikel werde ich eine solche Zelle als «Leere Zelle» bezeichnen.

  3. Schliesslich kann die Zelle auch ein Leerzeichen enthalten. Klar, dann ist es einfach eine Zelle, die einen Text aus einem Zeichen enthält, das für den Anwender nicht sichtbar ist. In diesem Artikel werde ich eine solche Zelle als «Zelle mit Leerzeichen» bezeichnen.


Spannend wird es, wenn man sich anschaut, wie verschiedene Excel-Formeln mit den verschiedenen Arten von leeren Zellen umgehen. Die Tabelle unten fasst die Ergebnisse zusammen.



 

Überraschend ist, dass die Zeilen 4 und 5 unterschiedliche und in sich nicht schlüssige Ergebnisse liefern. Es ist nachvollziehbar, dass ISTLEER() für die Leere Zelle (="") das Ergebnis FALSCH liefert; die Zelle enthält ja de fakto eine Formel (="") und ist somit nicht wirklich leer. Nach dieser Logik dürfte die Abfrage in Zeile 4 aber bei der Stammzelle nicht das Ergebnis WAHR liefern. Gleiches gilt für die Formeln in Zeilen 6 und 7. Beachtenswert sind auch die Unterschiede, wenn die verschiedenen Zellen als logische Werte angesprochen werden (Zeilen 14, 15, und 16).

Bezieht man sich über einen Word-Serienbrief auf die drei Zellen, liefert die Bedingnung "Feld ist leer" in allen drei Fällen das Ergebnis WAHR. Die Abfrage im Word-Serienbrief stimmt somit mit keinem der innerhalb von Excel erzielten Ergebnisse überein. Immerhin liefert die Abfrage "Feld ist nicht leer" im Word Serienbrief immer das Ergebnis FALSCH. Die Bedingung =" " erkennt hingegen die Excel-Zelle mit dem Leerzeichen nicht und liefert das Ergebnis FALSCH.

Weitere Unterschiede in der Behandlung der Zellen zeigen sich, wenn aus einer weiteren Zelle auf den Zellenwert bezug genommen wird. Die Zuweisung ergibt bei der JF den Wert 0 (Null). Damit ergeben sich logischerweise Unterschiede bei den entsprechenden Formeln, die anstatt auf die ursprüngliche Zelle auf die Zelle mit dem Verweis Bezug nehmen. Alle weiteren Auswertungen erkennen den Wert 0 (Null).



In Teil 2 des Artikels beschreibe ich, wie man Darstellungsunterschiede in Excel mit der geeigneten Formattierung der Zellen beseitigen kann und welche Auswirkungen dies auf die Serienbrieffunktion von Word hat.

Keine Kommentare: