Formuła programu Excel: Filtr wyklucza puste wartości -

Spisie treści

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.

Interesujące artykuły...