Formuła programu Excel: FILTR ze złożonymi wieloma kryteriami -

Spisie treści

Podsumowanie

Aby filtrować i wyodrębniać dane w oparciu o wiele złożonych kryteriów, można użyć funkcji FILTER z łańcuchem wyrażeń korzystających z logiki boolowskiej. W pokazanym przykładzie formuła w G5 to:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4))

Ta formuła zwraca dane, gdzie:

konto zaczyna się od „x” ORAZ region to „wschód”, a miesiącem NIE jest kwiecień.

Wyjaśnienie

W tym przykładzie musimy skonstruować logikę filtrującą dane tak, aby zawierała:

konto zaczyna się od „x” ORAZ region to „wschód”, a miesiącem NIE jest kwiecień.

Logika filtrowania tej formuły (argument włączania) jest tworzona przez połączenie trzech wyrażeń, które używają logiki boolowskiej na tablicach w danych. Pierwsze wyrażenie używa funkcji LEFT, aby sprawdzić, czy konto zaczyna się od „x”:

LEFT(B5:B16)="x" // account begins with "x"

Wynikiem jest tablica wartości TRUE FALSE, jak ta:

(TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;FALSE;TRUE)

Drugie wyrażenie sprawdza, czy Region ma wartość „wschód” z operatorem równości (=):

C5:C16="east" // region is east

Wynik jest kolejną tablicą:

(FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;TRUE)

Trzecie wyrażenie używa funkcji MIESIĄC z funkcją NIE, aby sprawdzić, czy miesiącem nie jest kwiecień:

NOT(MONTH(D5:D16)=4) // month is not april

co daje:

(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)

Zauważ, że funkcja NOT odwraca wynik z wyrażenia MIESIĄC.

Wszystkie trzy tablice są mnożone razem. Operacja matematyczna wymusza przekształcenie wartości PRAWDA i FAŁSZ na 1 i 0, więc w tym momencie możemy wizualizować argument include w następujący sposób:

(1;0;1;1;1;0;0;0;1;1;0;1)* (0;0;1;1;1;0;1;0;0;1;0;1)* (0;0;0;1;1;1;1;1;1;1;1;1)

Mnożenie boolowskie odpowiada funkcji logicznej AND, więc ostatecznym wynikiem jest pojedyncza tablica, taka jak ta:

(0;0;0;1;1;0;0;0;0;1;0;1)

Funkcja FILTER używa tej tablicy do filtrowania danych i zwraca cztery wiersze, które odpowiadają jedynkom w tablicy.

Kryteria rozszerzające

Wyrażenia używane do tworzenia argumentu włączania w filtrze można w razie potrzeby rozszerzyć, aby obsługiwały jeszcze bardziej złożone filtry. Na przykład, aby dalej filtrować dane w celu uwzględnienia tylko wierszy, w których kwota> 10000, możesz użyć następującej formuły:

=FILTER(B5:E16,(LEFT(B5:B16)="x")*(C5:C16="east")*NOT(MONTH(D5:D16)=4)*(E5:E16>10000))

Interesujące artykuły...