
Formuła ogólna
=FILTER(data,(rng1"")*(rng2"")*(rng3""))
Podsumowanie
Aby odfiltrować wiersze z pustymi lub pustymi komórkami, możesz użyć funkcji FILTER z logiką boolowską. W pokazanym przykładzie formuła w F5 to:
=FILTER(B5:D15,(B5:B15"")*(C5:C15"")*(D5:D15""))
Dane wyjściowe zawierają tylko wiersze z danych źródłowych, w których wszystkie trzy kolumny mają wartość.
Wyjaśnienie
Funkcja FILTER służy do wyodrębniania danych, które spełniają co najmniej jedno kryterium. W takim przypadku chcemy zastosować kryteria, które wymagają, aby wszystkie trzy kolumny w danych źródłowych (nazwa, grupa i sala) zawierały dane. Innymi słowy, jeśli wiersz nie zawiera którejkolwiek z tych wartości, chcemy wykluczyć ten wiersz z wyniku.
Aby to zrobić, używamy trzech wyrażeń boolowskich działających na tablicach. Pierwsze wyrażenie sprawdza puste nazwy:
B5:B15"" // check names
Operator not () z pustym łańcuchem („”) oznacza „niepusty”. Dla każdej komórki z zakresu B5: B15 wynik będzie TRUE lub FALSE, gdzie TRUE oznacza „niepuste”, a FALSE oznacza „puste”. Ponieważ zakres obejmuje 11 komórek, otrzymujemy 11 wyników w tablicy takiej jak ta:
(TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE)
Test drugiego wyrażenia dla ślepych grup:
C5:C15"" // check groups
Ponownie sprawdzamy 11 komórek, więc otrzymujemy 11 wyników:
(TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;TRUE)
Na koniec sprawdzamy puste numery pokoi:
D5:D15"" // check groups
który produkuje:
(TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;TRUE)
Kiedy tablice, które wynikają z trzech powyższych wyrażeń, są mnożone razem, operacja matematyczna przekształca wartości PRAWDA i FAŁSZ na 1 i 0. W tym przypadku używamy mnożenia, ponieważ chcemy wymusić logikę „AND”: wyrażenie1 AND wyrażenie2 AND wyrażenie3. Innymi słowy, wszystkie trzy wyrażenia muszą zwracać wartość TRUE w danym wierszu.
Zgodnie z regułami logiki boolowskiej, ostatecznym wynikiem jest tablica taka:
(1;0;1;0;1;1;1;0;0;0;1)
Ta tablica jest dostarczana bezpośrednio do funkcji FILTER jako argument dołączania. FILTER zawiera tylko 6 wierszy, które odpowiadają 1s w końcowym wyjściu.