Instrukcja IF: jak pozostawić komórkę pustą, jeśli warunek jest fałszywy („” nie działa)

124

Chciałbym napisać instrukcję IF, w której komórka jest pusta, jeśli warunek jest FALSE. Zwróć uwagę, że jeśli poniższa formuła zostanie wprowadzona w C1 ( dla której warunek jest fałszywy ), na przykład:

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

a jeśli C1 zostanie przetestowany pod kątem pustego lub nieużywanego =ISBLANK(C1), to zwróci FALSE, nawet jeśli C1 wydaje się być pusty. Oznacza to, że =IF(A1=1,B1,"")formuła technicznie nie pozostawia pustych komórek, jeśli warunek nie jest spełniony.

Jakieś przemyślenia, jak to osiągnąć? Dzięki,

Mayou
źródło
2
To dlatego, że nie jest puste. Ma w sobie formułę. Spróbuj tego = C1 = "" lub jeśli chcesz naprawdę zwariować = IF (OR (C1 = "", ISBLANK (C1)), TRUE, FALSE)
Stepan1010
2
@ Stepan1010 Nie ma potrzeby, aby oszaleć , ponieważ OR(C1="",ISBLANK(C1))jest równoważny.
Rozmyślny
1
Oto sposób na uzyskanie prawdziwego pustego pola, jeśli warunek zostanie spełniony: stackoverflow.com/a/39351425/1903793
Przemysław Remin

Odpowiedzi:

42

Spróbuj tego zamiast tego

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

Spowoduje to zwrócenie wartości true dla komórek, które są naprawdę puste lub zawierają tylko białe znaki.

Zobacz ten post, aby poznać kilka innych opcji.

edytować

Aby odzwierciedlić komentarze i to, co ostatecznie zrobiłeś: Zamiast oceniać jako „”, wprowadź inną wartość, na przykład „deleteme”, a następnie wyszukaj „deleteme” zamiast pustych znaków.

=IF(ISBLANK(C1),TRUE,(TRIM(C1)="deleteme"))
Portland Runner
źródło
Cóż, problem dla mnie nie polega na wynikach "ślepego testu" na powiedzenie, ale raczej na tym: stosuję if statementdo całego wiersza, a następnie chciałbym użyć Go To -> Special -> Blanksdo usunięcia pustych komórek z wiersza, tj. komórki, dla których warunek był fałszywy. Jednak Go tonie wykrywa żadnych pustych komórek w moim wierszu, szczególnie z powodu tego problemu, że moja instrukcja IF nie zwraca pustych komórek na słowo. Dlatego muszę zmienić moją instrukcję IF, aby odpowiednio zwracała puste komórki.
Mayou
4
Jeśli mimo wszystko zamierzasz je usunąć, czy możesz zwrócić inną wartość (np. „Deleteme”), a następnie wyszukać tę wartość w innej procedurze.
Portland Runner
1
Dzięki za wskazówkę! Dokładnie to zrobiłem! Próbowałem = JEŻELI (A1, B1, NA ()) i użyłem Go To -> Special -> Formula -> Errorsi pomyślnie usunąłem komórki, które nie spełniają warunku! Jeszcze raz dziękuję za wskazówkę!
Mayou
66

Niestety, nie ma sposobu, aby formuła spowodowała powstanie naprawdę pustej komórki, ""jest to najlepsze formuły, jakie mogą zaoferować.

Nie podoba mi się ISBLANK, ponieważ nie zobaczy komórek, które mają tylko ""puste miejsca. Zamiast tego wolę LICZ.PUSTE, które będą liczone ""jako puste, więc zasadniczo =COUNTBLANK(C1)>0oznacza, że ​​C1 jest puste lub ma "".

Jeśli chcesz usunąć puste komórki w kolumnie, zalecałbym filtrowanie w kolumnie pod kątem pustych, a następnie wybranie wynikowych komórek i naciśnięcie Del. Po czym możesz usunąć filtr.

tigeravatar
źródło
3
=COUNTBLANK(C1)>0Naprawdę załatwia sprawę! ISBLANK()nie działa dla mnie. dzięki!
StinkyCat
1
Każda liczba> 0 jest oceniana jako TRUEw kontekście IFinstrukcji, więc możesz po prostu zastąpić ją IF(COUNTBLANK(C1), .... )bez potrzeby >0, tylko po to, aby wszystko było czystsze.
Tom Auger
Oto sposób na uzyskanie prawdziwego pustego pustego pola jako wyniku formuły: stackoverflow.com/a/39351425/1903793
Przemysław Remin
19

Chciałem dodać, że jest jeszcze jedna możliwość - skorzystanie z funkcji na().

na przykład =if(a2 = 5,"good",na());

Spowoduje to wypełnienie komórki wartością # N / A i jeśli umieścisz kolumnę na wykresie, dane nie zostaną przedstawione na wykresie. Wiem, że nie jest to „puste” jako takie, ale jest to inna możliwość, jeśli w danych są puste ciągi znaków i ""jest to prawidłowa opcja.

Ponadto count(a:a)nie zlicza komórek, które zostały w ten sposób ustawione na n / a.

user3791372
źródło
2

Jeśli chcesz użyć fenomenalnej (zawierającej formułę) pustej komórki do wykonania operacji arytmetycznej / matematycznej, wszystko, co musisz zrobić, to użyć tej formuły:

=N(C1)

zakładając, że C1 jest „pustą” komórką

Nacięcie
źródło
1

Możesz tego spróbować.

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

Jeśli umieścisz tę formułę w komórce C1, możesz sprawdzić, czy ta komórka jest pusta w innych komórkach

=ISBLANK(C1)

Powinieneś zobaczyć TRUE. Próbowałem w programie Microsoft Excel 2013. Mam nadzieję, że to pomoże.

Yugo Gautomo
źródło
0

Uważam, że to obejście wydaje się działać:

Zmodyfikuj swoją oryginalną formułę:

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

Następnie wybierz kolumnę, wyszukaj i zamień „filler” na nic. Komórki, które mają być puste / puste, są w rzeczywistości puste i jeśli wykonasz test z wartością „ISBLANK”, zwróci to wartość TRUE. Nie jest to najbardziej eleganckie, ale jest szybkie i działa.

user3285247
źródło
To nie zadziała, funkcja znajdź i zamień zastąpi wypełniacz w formule, pozostawiając te same problemy, co poprzednio.
ChrisM,
0

Najłatwiejszym rozwiązaniem jest użycie formatowania warunkowego, jeśli instrukcja IF przyjmie wartość false, aby zmienić czcionkę komórki wyników na dowolny kolor tła. Tak, z technicznego punktu widzenia komórka nie jest pusta, ale nie będziesz w stanie zobaczyć jej zawartości.

b kreatywny
źródło
Możliwe jest wyczyszczenie komórki za pomocą instrukcji if. Chociaż twoje rozwiązanie jest wykonalne, nie jest to najlepsze podejście.
Matt
0

To powinno działać (modyfikacja powyżej, obejście, nie formuła)

Zmodyfikuj swój oryginalny wzór: = JEŻELI (A1 = 1, B1, „wypełniacz”)

Umieść filtr w arkuszu kalkulacyjnym, wybierz tylko „wypełniacz” w kolumnie B, zaznacz wszystkie komórki z „wypełniaczem”, naciśnij usuń, usuń filtr

gość XL
źródło
Czuję, że nie tego chciał OP. Wygląda na to, że chciał wzoru. Mówisz, że to nie jest formuła, ale jednak.
ZygD
0

Możesz zrobić coś takiego, aby pokazać puste miejsce:

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

Wewnątrz ifprzed pierwszym przecinkiem znajduje się warunek, a następnie wynik i zwraca wartość if truei ostatnią wartość jako pustą, jeśli warunek jestfalse

Deepanshu Vats
źródło
0

Wzór w C1

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

podaje odpowiedź „” (która nie jest traktowana jako pusta) lub zawartość B1.

Jeśli chcesz, aby formuła w D1 pokazywała PRAWDA, jeśli C1 to „” i FAŁSZ, jeśli C1 ma coś innego, użyj formuły

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

zamiast ISBLANK

Krzyżmo
źródło
0

Oto co robię

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

Użyj warunku OR LUB (ISBLANK (komórka), komórka = „”)

Talha
źródło
-2

Aby sprawdzić poprawność danych w kolumnie A dla pustych

Krok 1: Krok 1: B1 = pusty (A1)

Krok 2: Przeciągnij formułę dla całej kolumny, powiedz B1: B100; Zwraca Ture lub False od B1 do B100 w zależności od danych w kolumnie A.

Krok 3: CTRL + A (zaznacz wszystko), CTRL + C (kopiuj wszystko), CRTL + V (wklej wszystko jako wartości)

Krok 4: Ctrl + F; Funkcja Znajdź i zamień Znajdź "Fałsz", Zamień " zostaw to puste pole "; Znajdź i zamień WSZYSTKIE

No, stary!

Raj Bunnu
źródło
-3

Zamiast używać „”, użyj 0. Następnie użyj formatowania warunkowego, aby pokolorować 0 do koloru tła, tak aby wyglądało na puste.

Ponieważ puste komórki i 0 będą zachowywać się tak samo w większości sytuacji, może to rozwiązać problem.

Nein
źródło
2
Nie sądzę, żeby to była satysfakcjonująca odpowiedź, ponieważ w surowych danych arkusza kalkulacyjnego będzie teraz 0. Eksportowanie, kopiowanie / wklejanie lub jakiekolwiek inne zadanie, które dotyczy danych, nie będzie poprawne z tymi wszystkimi zerami.
Jeff Brateman,
to zły pomysł, ponieważ 0 ma problem z filtrowaniem według liczb. w przeciwnym razie 0 może być zwykłą i poprawną wartością. jak więc rozpoznać między dobrym 0 a „pustym” 0? Proponuję usunąć tę odpowiedź :)
Znik
-3

To powinno działać: = JEŻELI (A1 = 1, B1)

Trzeci argument określający wartość komórki, jeśli warunek nie jest spełniony, jest opcjonalny.

Heather Stark
źródło
2
Excel zwraca wartość pierwszego argumentu (FALSE), gdy warunek ma wartość false, a trzeci argument nie istnieje. Niestety, to nie działa.
Eagle
2
Byłem pewien, że to przetestowałem - ale się nie powiela. Więc masz rację, ta odpowiedź jest całkowicie błędna. Czy najlepiej jeśli to usunę, aby zaoszczędzić ludziom czas?
Heather Stark