Clever-Excel-Forum

Normale Version: Leere Zellen vs. geleerte Zellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich stecke einmal wieder in einem Dilemma, welches mich schon häufig beschäftigt hat und jedes Mal entdecke ich wieder eine Eigenheit von Excel in dieser Angelegenheit.

Es handelt sich um das Verhalten von Excel bei der Abfrage leerer Zellen.

Ich habe eine Tabelle, in der der Nutzer in Spalte A eine DropDownList mit den folgenden 3 Eintragmöglichkeiten: (leer), ja, nein wählen kann. Diese DDL hat als Datenreferenz eine Liste in sagen wir Spalte Z, also Z1 ist leer, Z2 enthält "ja" und Z3 entzält "nein".

So, nun habe ich eine Validierungsspalte im ausgeblendeten Bereich, die überprüfen soll ob der Nutzer auch wirklich einen DDL-Eintrag ausgewählt hat und ob dieser auch valide ist (diese Überprüfung ist notwendig, weil ja bekanntermassen durch STRG+C jeglicher Wert in das DDL-Feld kopiert werden kann und Excel meines Wissens immer noch nicht die Möglichkeit bietet, dies zu unterbinden).

Die Abfrage gestalte ich für bspw Zelle A1 dann so:

Code:
=(ZÄHLENWENN(Z1:Z3;A1)=1)*1

Ist es ein valider Eintrag, so erscheint eine 1, ansonsten eine 0.

Nun habe ich folgendes Problem:
Leere Zellen sollten akzeptiert werden, da es keine obligatorische Auswahl sein soll. Daher ist auch der erste Eintrag der Liste eine leere Zelle.
Die ZÄHLENWENN-Funktion allerdings erkennt die Leere Zelle A1 aber nicht als Match mit Z1, obwohl beide Zellen nie bearbeitet wurden.
Interessant wird es, wenn ich in A1 aktiv den leeren Eintrag der DDL anwähle. Dann ist die Zelle immer noch leer, aber es wird ein Match erkannt! Also scheinbar verändert Excel den Zelleninhalt, sobald eine Zelle bearbeitet wurde. Wenn ich anschliessend die Zelle anwähle und versuche, etwas zu löschen, dann erkennt die Funktion den Match nachwievor. Es ist mir also nicht mehr möglich, den "Urzustand" der leeren Zelle wiederherzustellen.

Ich hatte mir nun bereits überlegt, einfach alle Zellen in der A-Spalte einmal mit einem leeren Wert (="") vorzubelegen, aber das halte ich für sehr umständlich und nicht zielführend.
Mir wäre es lieber zu wissen, wie Excel diese leere Zelle von einer bearbeiteten und erneut geleerten Zelle unterscheidet und dies dann mit der Formel zu erfassen.

Herzlichen Dank bereits vorab für eure Hilfe!

Freundliche Grüsse
Binary


Nun stelle ich fest, dass eine noch nie angewählte leere Zelle sich anders verhält
Hi,

ich habe versucht, dein Problem nachzuvollziehen. Es ist mir nicht gelungen. Die leere Zelle bleibt leer, selbst wenn sie einmal anders befüllt war. Nur, ist die Zelle Z1 bei dir auch wirklich leer? Kontrolliere mal, ob sich dort nicht ein Leerzeichen eingeschlichen hat.
Teste mal, wie sich die folgenden Aktionen verhalten:

Auswählen des Leereintrags (der darf nicht "" oder " " sein, sondern sollte eine leere Zelle in einem Bezug sein!)
Eingabe eines einzelnen ' 
Eingabe eines einzelnen Leerzeichens
Drücken der Taste ENTF
Hallo zusammen,

vielen Dank für eure Antworten.

Ich habe den (Denk-)Fehler gefunden. Ich habe dummerweise nach dem Dilemma versucht, durch Ersetzen des Leereintrags in Z1 mittels ="" und erneutes Anklicken des Leereintrags in der DDL diesen mit einer echten Leerzelle zu vergleichen. Das versteht jetzt wahrscheinlich sowieso keiner, aber es sei gesagt dass ich einen Denkfehler hatte.

Dennoch ist es schade, dass ich mit ZÄHLENWENN() nicht zwischen LEER und ="" unterscheiden kann. Ich habe es nun so gelöst, dass ich die Liste so durchsuche:

Code:
ZÄHLENWENN(Z1:Z3;WENN(ISTLEER(A1);"";A1))
So findet er einen Match egal ob Z1 leer ist oder ="". Mit Leerzellen scheint die Funktion scheinbar nicht umgehen zu können...
Falls ihr eine bessere Lösung habt, bitte gerne posten!

LG und danke nochmals
Binary