Mam formułę, w której sprawdzam zakres komórek, czy są one puste.
Jeśli wszystkie są puste, chcę zwrócić kolejną pustą.
Jeśli którakolwiek z komórek w zakresie nie jest pusta, chcę zwrócić wartość Major Milestone Due
.
Oto wzór, który obecnie posiadam:
=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")
Zwraca wszystko jako Major Milestone Due
, nawet jeśli istnieją pewne zakresy wierszy ze wszystkimi pustymi komórkami.
microsoft-excel
Wrzos
źródło
źródło
Twoja formuła jest poprawna, jeśli jest wprowadzona jako formuła tablicowa .
isblank
Nie działa na tablicy chyba go wprowadzić jako formułę tablicową przy użyciu ctrl+ shift+ enter. Będzie to wyglądać tak, mając wokół siebie nawiasy klamrowe:{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}
Również if - counta zrobi to bez problemu -
=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")
źródło
TRUE
do, tylkoFALSE
jeśli pierwsza komórka w zakresie zawiera wartość. Aby poprawnie sprawdzić wszystkie komórki w zakresie,AND
należy dodać -{=IF(AND(ISBLANK(BM2:BQ2)),"","Major Milestone Due")}
ISBLANK
. Spróbuj wprowadzić tę formułę, pozostaw pierwszą komórkę w zakresie pustą, a następnie wprowadź dane w późniejszej komórce w zakresie ...ISBLANK
Warunki nadal będą zwracaneTRUE
. Tylko jeśli wprowadzisz dane do pierwszej komórki, dane zostanąFALSE
poprawnie zwrócone . Teraz spróbuj dodaćAND
. Jeśli do dowolnej komórki w zakresie zostaną dodane dane, zostanie ona zwróconaFALSE
tak, jak powinna. (Zakładam, że to nie jest jakiś dziwny przypadek z 2010 r.)Ważną rzeczą do rozważenia jest twoja definicja „pustego”. Biorąc pod uwagę fakt, że użyłeś sformułowania „Chcę zwrócić kolejny pusty”, wyglądałoby na to, że definiujesz „puste” jako komórki, które wydają się puste, ale które mogą faktycznie zawierać formułę, która wyświetla,
""
a zatem nie są puste .COUNTA
IISBLANK
metody nie będzie działać, jeśli chcesz obsługiwać tego rodzaju komórek, jak puste, ponieważ te dwa wzory wyglądają na naprawdę pustych komórek. Aby obsłużyć formuły wyjściowe""
, masz dwie opcje:=IF( COUNTBLANK(BM2:BQ2)=5, "", "Major Milestone Due")
=IF( COUNTIF(BM2:BQ2,"")=5, "", "Major Milestone Due")
gdzie 5 to rozmiar twojego zakresu. Ta metoda nie działa tak dobrze w przypadku zakresów dynamicznych.
SUMPRODUCT
:=IF( SUMPRODUCT(--(BM2:BQ2<>""))=0, "", "Major Milestone Due")
(Uwaga:
COUNTIF(BM2:BQ2,"<>")
ten sam problem jakCOUNTA
.)źródło
Doszedłem do tej strony w poszukiwaniu odpowiedzi na prawie identyczne pytanie.
Kiedy zobaczyłem, że
COUNTA
wspomniano, prawie natychmiast wiedziałem, co robić. W nieco innym kontekście po lewej stronie kolumny mam zakres kolumn, które chcę powiedzieć,not started
jeśli wszystkie komórki w tym samym wierszu są puste (puste).Poniższa formuła działa dla mnie.
Elipsa wskazuje, że
IF
w mojej formule jest kilka dodatkowych funkcji, które wykonują dalsze testy zakresu, jeśli jedna lub więcej jest zapełnionych.źródło