Excel: Leerzelle ist nicht gleich Leerzelle?

halwe

Lt. Commander
Registriert
Jan. 2007
Beiträge
1.690
Ich habe in meiner Excel-Tabelle eine Formel in A2, die stark vereinfacht so aussieht:
=WENN(2>3;10;"")
Das Teil schreibt also in A2 einen leeren String.
Nun wird das in B2 ausgewertet:
=A2>9
In B2 sollte also FALSCH stehen.
Das klappt auch, wenn ich A2 manuell lösche.
Steht dort jedoch die o. g. WENN-Formel, die ja als Ergebnis auch nur einen leeren String bringt, schaltet B2 auf WAHR.
Warum? Ist das ein Bug meiner alten Excel-Version?
Oder habe ich einen Denkfehler?

Ehe ihr fragt: Es wäre tatsächlich hübsch, wenn die WENN Formel einen leeren String schreiben würde statt eines Nullwertes. Es gibt dort tatsächlich eine verschachtelte WENN-Formel, die im Einzelfall auch mal einen Nullwert bringt, der dann von einer leeren Zelle unterschieden werden soll.

Ich weiß, dass man auch explizit auf Leerstring prüfen könnte, aber das würde einen ziemlichen Korrekturbedarf erzeugen. Bisher hatte ich keine Probleme, mit Leerstrings zu rechnen, so dass diese wie 0 behandelt wurden.
 
Hat Excel klare Regeln bzgl. "Type propagation"?
 
  • Gefällt mir
Reaktionen: halwe
  • Gefällt mir
Reaktionen: halwe
Ich kann nur für Datenbank (SQL) Programmierung sprechen. Und ja, ein leerer String ist eben ein String und nicht "Nichts". Möchte ich also in einer Datenbank "Nichts" (die Abwesenheit jeglichen Inhalts), also auch keinen leeren String in einer Zelle haben, so wird dort "NULL" zugewiesen (Zelleninhalt is NULL).

Das habe ich dazu für Exel gefunden, vielleicht hilft dir das weiter:

https://support.microsoft.com/en-us/office/null-function-c7fb4579-e8aa-4883-a8e3-2b8055100e39
 
  • Gefällt mir
Reaktionen: halwe
Danke für die schnellen Rückmeldungen.
@Maxysch : In der Zelle soll eine numerische Auswertung von anderen Spalten stehe. Ergebnis sind berechnete Werte zwischen 0 und 20. Wenn aber in den anderen Spalten bestimmte für die Berechnung notwendige Werte fehlen, soll die Zelle einfach leer bleiben.

Inzwischen nutze ich einen Workaround im Stil WENN(UND(A2<>"";A2>9);....), das funktioniert.
Mein Problem ist nur , dass ich mich bislang immer darauf verlassen habe, das ein Leerstring beim Vergleich gegen eine Zahl nie größer ist, da er ja letztlich keinen numerischen Wert für den Vergleich hat.
Die eine Formel, wo ich das entdeckt habe und die ich nun per Workaround korrigiere, ist leider nur die Spitze des Eisberges.
 
Naja dafür hast du je verschiedene Formeln die du dann je nach Einsatz in einander schreiben kannst, bei größeren Datenbanken musst schon mit S/W/Verweis(wenn(oder/und usw. arbeiten. Du kannst auch bei mehreren "Wenn" auch einfach "wenns" nutzen, oder auch in =WENN(xx;xx;WENN(xx;xx;xx)) einbauen.
 
Ich würde es ja verstehen, wenn Excel einen #Wert-Fehler bringt, sobald ich versuche, einen Leerstring mit einer Zahl zu vergleichen. Aber einfach "" > 9 anzunehmen ist schon heftig. Und klar kann man das abfangen, ich wusste bislang nur nicht, das das notwendig ist und muss nun viele Tabellen überprüfen.
 
Habe gerade getestet und bei mir mit leeren Zelle ergibt das falsch(also es macht so wie soll):
1737394425039.png

1737394443763.png

Ergänzung ()

Zeig mal deine Formel wenn es geht vielleicht hast du da einen Fehler drin.
 
Zuletzt bearbeitet:
Du arbeitest mit leeren Zellen als Quelle der Formel. Da funktioniert es wie erwartet. Bei mir ergibt sich die leere Zelle aus einer WENN-Formel. Die findest du im ersten Beitrag.
 
Ok dann musst du mit ODER(" ";xx) die Formel schreiben, weil damit ist die Zelle nicht mehr leer sondern nur optisch leer(" ")
Ergänzung ()

Also so etwas wie wenn(oder(A2<=0;A2=" ");"falsch";wenn(und so weiter. Also deine Wenn Formel einfach anders abfragen, von größer auf kleiner.
Ergänzung ()

=SVERWEIS(A4;WENN(E4="Einzelzimmer";$D$17:$H$22;WENN(E4="Doppelzimmer";$D$27:$H$32;$D$39:$H$44));WENN(ODER(MONAT(B4)=11;MONAT(B4)=12;MONAT(B4)=1);2;WENN(ODER(MONAT(B4)=2;MONAT(B4)=3;MONAT(B4)=4);3;WENN(ODER(MONAT(B4)=5;MONAT(B4)=6);4;5))))

So in die Richtung wäre es was ich meine.
Ergänzung ()

=WENN(E4="Einzelzimmer";SVERWEIS(A4;$J$5:$N$10;WENN((MONAT(B4))>=11;2;WENN((MONAT(B4))>=7;5;WENN((MONAT(B4))>=5;4;3))););WENN(E4="Doppelzimmer";SVERWEIS(A4;$J$15:$N$20;WENN((MONAT(B4))>=11;2;WENN((MONAT(B4))>=7;5;WENN((MONAT(B4))>=5;4;3))););SVERWEIS(A4;$J$27:$N$32;WENN((MONAT(B4))>=11;2;WENN((MONAT(B4))>=7;5;WENN((MONAT(B4))>=5;4;3)));)))

Man könnte auch derselbe mit so eine Formel erreichen, für dich ist nur wichtig das du A2=" " einbaust damit Excel es als quasi "0" erkennt, da es sich halt nicht um leere Zelle handelt.
Ergänzung ()

Smileys sind einfach weil Forum";)" als Smiley erkennt 😅
 
Zuletzt bearbeitet:
Ich bin mir jetzt nicht sicher, ob du das meinst, was ich weiter oben schon mit der UND-Formel als Workaround beschrieb. Mit deinen komplexen Formeln unterläufst du etwas meine Bemühungen, das Problem für alle verständlich zu halten.

Aber, das habe ich gleich mal ausprobiert, wenn ich die leere Zelle statt mit
=WENN(2>3;10;"")
mit
=WENN(2>3;10;" ")
erzeuge, ergibt der Vergleich trotzdem, dass sie größer als 9 ist.
 
Wenn A2 keine Werte gleich 0 zu erwarten sind, könntest du auch statt eines leeren Strings einfach eine 0 zurückgeben lassen, die du dann mit einem benutzerdefinierten Zahlenformat ausblenden lassen kannst. Für B2 steht dann immer noch eine 0 drin und die Formel rechnet wie gewünscht.
 
Ja, das wäre dann eine Variante, aber nicht für mich, wie ich schon erläuterte.
 
Ja, ich hasse das auch wie die Pest, dass ein Leerstring eben nicht Nichts ist, oder Null. Null mag eine korrekter Rückgabewert sein, Nichts aber gerät zur Katastrophe…

Mir ist da nur ein dumme Idee gekommen… A2*1 oder was in der Denke das mathematisch 0 liefert - wäre das ein Ausweg?

CN8
 
Die Formel steht mehrfach da und erzeugt genau mein Problem. Das lässt sich wunderbar alles nachvollziehen und man kann alles ausprobieren. Ich verstehe die letzten Beiträge nicht.
 
Ok verstanden, dachte dass die Formel wäre komplexer oder ich verstehe bis jetzt nicht was du meinst oder vor hast 🤔 .
Würde es helfen wenn du die Formel statt größer als kleiner schreiben würdest?
Screenshot 2025-01-20 211516.png

Screenshot 2025-01-20 211523.png

Wenn Nein habe ich eine andere Lösung für dich.
Ergänzung ()

Falls unbedingt größer sein muss wäre das eine Möglichkeit:
1737404544982.png

Wichtig hierbei das Wahrheit mit ">" am Ende stehen soll.
 
Zuletzt bearbeitet:
Zurück
Oben