IF-Anweisung: So lassen Sie die Zelle leer, wenn die Bedingung falsch ist ("" funktioniert nicht)

123

Ich möchte eine IF-Anweisung schreiben, bei der die Zelle leer bleibt, wenn die Bedingung FALSE ist. Beachten Sie Folgendes, wenn beispielsweise in C1 die folgende Formel eingegeben wird ( für die die Bedingung falsch ist ):

 =IF(A1=1,B1,"")

und wenn C1 auf Leerheit getestet wird oder nicht verwendet wird =ISBLANK(C1), würde dies zurückkehren FALSE, selbst wenn C1 leer zu sein scheint. Dies bedeutet, dass die =IF(A1=1,B1,"")Formel die Zellen technisch nicht leer lässt, wenn die Bedingung nicht erfüllt ist.

Irgendwelche Gedanken darüber, wie man das erreichen kann? Vielen Dank,

Mayou
quelle
2
Das liegt daran, dass es nicht leer ist. Es enthält eine Formel. Versuchen Sie dies = C1 = "" oder wenn Sie wirklich verrückt werden wollen = IF (OR (C1 = "", ISBLANK (C1)), TRUE, FALSE)
Stepan1010
2
@ Stepan1010 Keine Notwendigkeit , so verrückt zu werden, weil OR(C1="",ISBLANK(C1))gleichwertig ist.
Museful
1
Hier ist eine Möglichkeit, ein echtes leeres Leerzeichen zu erhalten, wenn die Bedingung erfüllt ist: stackoverflow.com/a/39351425/1903793
Przemyslaw Remin

Antworten:

42

Versuchen Sie dies stattdessen

=IF(ISBLANK(C1),TRUE,(TRIM(C1)=""))

Dies gibt true für Zellen zurück, die entweder wirklich leer sind oder nur Leerzeichen enthalten.

In diesem Beitrag finden Sie einige weitere Optionen.

bearbeiten

So reflektieren Sie die Kommentare und das, was Sie letztendlich getan haben: Anstatt "" auszuwerten, geben Sie einen anderen Wert wie "Löschen" ein und suchen Sie dann nach "Löschen" anstelle von Leerzeichen.

=IF(ISBLANK(C1),TRUE,(TRIM(C1)="deleteme"))
Portland Runner
quelle
Nun, das Problem für mich sind nicht die Ergebnisse des "leeren Tests" per say, sondern die folgenden: Ich wende das if statementauf eine ganze Zeile an und möchte dann Go To -> Special -> Blanksdie leeren Zellen aus der Zeile löschen, dh die Zellen, für die die Bedingung falsch war. Das Go toerkennt jedoch keine leeren Zellen in meiner Zeile, insbesondere aufgrund des Problems, dass meine IF-Anweisung keine leeren Zellen pro Wort zurückgibt. Daher muss ich meine IF-Anweisung so ändern, dass leere Zellen entsprechend zurückgegeben werden.
Mayou
4
Wenn Sie sie trotzdem löschen möchten, können Sie einen anderen Wert zurückgeben (z. B. 'Löschen') und dann in Ihrer anderen Routine nach diesem Wert suchen.
Portland Runner
1
Danke für den Tipp! Genau das habe ich getan! Ich habe versucht = IF (A1, B1, NA ()), und ich Go To -> Special -> Formula -> Errorshabe die Zellen verwendet und erfolgreich gelöscht, die die Bedingung nicht erfüllen! Nochmals vielen Dank für den Tipp!
Mayou
66

Leider gibt es keine Formel, die zu einer wirklich leeren Zelle führt. Dies ""ist die beste Formel, die angeboten werden kann.

Ich mag ISBLANK nicht, weil es keine Zellen sieht, die nur ""Leerzeichen haben. Stattdessen bevorzuge ich COUNTBLANK, das ""als leer gilt, was im Grunde =COUNTBLANK(C1)>0bedeutet, dass C1 leer ist oder hat "".

Wenn Sie leere Zellen in einer Spalte entfernen müssen, würde ich empfehlen, die Spalte nach Leerzeichen zu filtern, dann die resultierenden Zellen auszuwählen und zu drücken Del. Danach können Sie den Filter entfernen.

Tigeravatar
quelle
3
Das macht =COUNTBLANK(C1)>0wirklich den Trick! Das hat ISBLANK()bei mir nicht funktioniert. thks!
StinkyCat
1
Jede Zahl> 0 wird TRUEim Kontext einer IFAnweisung ausgewertet , sodass Sie einfach IF(COUNTBLANK(C1), .... )keine Notwendigkeit für die ersetzen können >0, nur um die Dinge sauberer zu machen.
Tom Auger
Hier ist ein Weg, um ein echtes leeres Leerzeichen als Formelergebnis zu erhalten: stackoverflow.com/a/39351425/1903793
Przemyslaw Remin
19

Ich wollte hinzufügen, dass es eine andere Möglichkeit gibt - die Funktion zu verwenden na().

z.B =if(a2 = 5,"good",na());

Dadurch wird die Zelle mit # N / A gefüllt. Wenn Sie die Spalte grafisch darstellen, werden die Daten nicht grafisch dargestellt. Ich weiß, dass es als solches nicht "leer" ist, aber es ist eine andere Möglichkeit, wenn Ihre Daten leere Zeichenfolgen enthalten und ""eine gültige Option sind.

Außerdem count(a:a)werden keine Zellen gezählt, die auf diese Weise auf n / a gesetzt wurden.

user3791372
quelle
2

Wenn Sie eine phänomenale (mit einer Formel darin) leere Zelle verwenden möchten, um eine arithmetische / mathematische Operation durchzuführen, müssen Sie nur diese Formel verwenden:

=N(C1)

Angenommen, C1 ist eine "leere" Zelle

Nick
quelle
1

Sie könnten dies versuchen.

=IF(A1=1,B1,TRIM(" "))

Wenn Sie diese Formel in Zelle C1 einfügen, können Sie testen, ob diese Zelle in einer anderen Zelle leer ist

=ISBLANK(C1)

Sie sollten WAHR sehen. Ich habe Microsoft Excel 2013 ausprobiert. Ich hoffe, das hilft.

Yugo Gautomo
quelle
0

Ich habe festgestellt, dass diese Problemumgehung den Trick zu tun scheint:

Ändern Sie Ihre ursprüngliche Formel:

=IF(A1=1,B1,"filler")

Wählen Sie dann die Spalte aus, suchen Sie und ersetzen Sie "Füller" durch nichts. Die Zellen, die leer / leer sein sollen, sind tatsächlich leer. Wenn Sie mit "ISBLANK" testen, wird TRUE zurückgegeben. Nicht das eleganteste, aber es ist schnell und es funktioniert.

user3285247
quelle
Dies funktioniert nicht, das Suchen und Ersetzen ersetzt den Füllstoff in der Formel und hinterlässt die gleichen Probleme wie zuvor.
ChrisM
0

Die einfachste Lösung besteht darin, die bedingte Formatierung zu verwenden, wenn die IF-Anweisung false zurückgibt, um die Schriftart der Ergebniszelle auf einen beliebigen farbigen Hintergrund zu ändern. Ja, technisch gesehen ist die Zelle nicht leer, aber Sie können den Inhalt nicht sehen.

b kreativ
quelle
Es ist möglich, eine Zelle mit einer if-Anweisung zu leeren. Ihre Lösung ist zwar machbar, aber nicht der beste Ansatz.
Matt
0

Dies soll funktionieren (Änderung oben, Problemumgehung, keine Formel)

Ändern Sie Ihre ursprüngliche Formel: = IF (A1 = 1, B1, "Füller")

Setzen Sie den Filter in die Tabelle, wählen Sie in Spalte B nur "Füllstoff", markieren Sie alle Zellen mit "Füllstoff", klicken Sie auf "Löschen", entfernen Sie den Filter

Gast XL
quelle
Ich habe irgendwie das Gefühl, dass es nicht das ist, was OP wollte. Es scheint, er wollte eine Formel. Sie sagen, dass dies keine Formel ist, aber dennoch.
ZygD
0

Sie können so etwas tun, um Leerzeichen anzuzeigen:

=IF(AND((E2-D2)>0)=TRUE,E2-D2," ")

Innerhalb ifvor dem ersten Komma ist Bedingung, dann Ergebnis und Rückgabewert, wenn trueund letzter Wert als leer, wenn Bedingung istfalse

Deepanshu Vats
quelle
0

Die Formel in C1

=IF(A1=1,B1,"")

gibt entweder eine Antwort von "" (was nicht als leer behandelt wird) oder den Inhalt von B1.

Wenn die Formel in D1 TRUE anzeigen soll, wenn C1 "" ist, und FALSE, wenn C1 etwas anderes enthält, verwenden Sie die Formel

=IF(C2="",TRUE,FALSE)

anstelle von ISBLANK

ChrisM
quelle
0

Hier ist was ich tue

=IF(OR(ISBLANK(AH38),AH38=""),"",IF(AI38=0,0,AH38/AI38))

Verwenden Sie die ODER-Bedingung ODER (ISBLANK (Zelle), Zelle = "")

Talha
quelle
-2

So überprüfen Sie Daten in Spalte A für Leerzeichen

Schritt 1: Schritt 1: B1 = leer (A1)

Schritt 2: Ziehen Sie die Formel für die gesamte Spalte und sagen Sie B1: B100; Dies gibt Ture oder False von B1 bis B100 zurück, abhängig von den Daten in Spalte A.

Schritt 3: STRG + A (Alle auswählen), STRG + C (Alle kopieren), STRG + V (Alle als Werte einfügen)

Schritt 4: Strg + F; Such- und Ersetzungsfunktion Suchen "Falsch", Ersetzen " Leerzeichen lassen "; ALLE finden und ersetzen

Los geht's, Alter!

Raj Bunnu
quelle
-3

Verwenden Sie anstelle von "" 0. Verwenden Sie dann die bedingte Formatierung, um 0 auf die Hintergrundfarbe zu färben, sodass sie leer erscheint.

Da leere Zellen und 0 in den meisten Situationen dasselbe Verhalten aufweisen, kann dies das Problem lösen.

Nein
quelle
2
Ich denke nicht, dass dies eine zufriedenstellende Antwort ist, da die Rohdaten der Tabelle jetzt Nullen enthalten. Das Exportieren, Kopieren / Einfügen oder eine andere Aufgabe, die sich mit den Daten befasst, ist bei allen Nullen nicht korrekt.
Jeff Brateman
Es ist eine schlechte Idee, da 0 Probleme beim Filtern nach Zahlen hat. andernfalls kann 0 ein normaler und korrekter Wert sein. Wie erkennt man dann zwischen guter 0 und "leerer" 0? Ich schlage vor, Sie entfernen diese Antwort :)
Znik
-3

Dies sollte funktionieren: = IF (A1 = 1, B1)

Das dritte Argument, das den Wert der Zelle angibt, wenn die Bedingung nicht erfüllt ist, ist optional.

Heather Stark
quelle
2
Excel gibt den Wert des ersten Arguments (FALSE) zurück, wenn die Bedingung als falsch ausgewertet wird und das dritte Argument nicht vorhanden ist. Leider scheint das nicht zu funktionieren.
Eagle
2
Ich war mir sicher, dass ich es getestet habe - aber es repliziert nicht. Sie haben Recht, diese Antwort ist völlig falsch. Ist es am besten, wenn ich es lösche, um Zeit zu sparen?
Heather Stark