25.11.2018, 14:51
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:
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
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