Formuła programu Excel: FILTR z wieloma kryteriami OR -

Spisie treści

Podsumowanie

Aby wyodrębnić dane z wieloma warunkami LUB, możesz użyć funkcji FILTER razem z funkcją MATCH. W pokazanym przykładzie formuła w F9 to:

=FILTER(B5:D16, ISNUMBER(MATCH(items,F5:F6,0))* ISNUMBER(MATCH(colors,G5:G6,0))* ISNUMBER(MATCH(cities,H5:H6,0)))

gdzie pozycje (B3: B16), kolory (C3: C16) i miasta (D3: D16) są nazwane zakresami.

Ta formuła zwraca dane, gdzie pozycja to (koszulki LUB bluza z kapturem) ORAZ kolor to (czerwony LUB niebieski) ORAZ miasto to (Denver LUB Seattle).

Wyjaśnienie

W tym przykładzie kryteria są wprowadzane w zakresie F5: H6. Logika wzoru jest następująca:

pozycja to (koszulka LUB bluza z kapturem) I kolor to (czerwony LUB niebieski) ORAZ miasto to (Denver LUB Seattle)

Logika filtrowania tej formuły (argument włączający) jest stosowana z funkcjami ISNUMBER i MATCH, wraz z logiką boolowską stosowaną w operacji tablicowej.

PODAJANIE jest skonfigurowane „wstecz”, z wartościami wyszukiwania pochodzącymi z danych i kryteriami używanymi w tablicy wyszukiwania. Na przykład pierwszy warunek jest taki, że elementy muszą być koszulkami lub bluzami z kapturem. Aby zastosować ten warunek, MATCH jest skonfigurowane w następujący sposób:

MATCH(items,F5:F6,0) // check for tshirt or hoodie

Ponieważ dane zawierają 12 wartości, wynik jest tablicą zawierającą 12 wartości, takich jak ta:

(1;#N/A;#N/A;2;#N/A;2;2;#N/A;1;#N/A;2;1)

Ta tablica zawiera błędy # N / A (brak dopasowania) lub liczby (dopasowanie). Numery ogłoszeń odpowiadają przedmiotom, które są T-shirtem lub bluzą z kapturem. Aby przekonwertować tę tablicę na wartości PRAWDA i FAŁSZ, funkcja PODAJ.POZYCJĘ jest umieszczana w funkcji ISNUMBER:

ISNUMBER(MATCH(items,F5:F6,0))

co daje tablicę taką jak ta:

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

W tej tablicy wartości PRAWDA odpowiadają koszulce lub bluzie z kapturem.

Pełna formuła zawiera trzy wyrażenia, takie jak powyższe, użyte dla argumentu include funkcji FILTER:

ISNUMBER(MATCH(items,F5:F6,0))* // tshirt or hoodie ISNUMBER(MATCH(colors,G5:G6,0))* // red or blue ISNUMBER(MATCH(cities,H5:H6,0))) // denver or seattle

Po obliczeniu MATCH i ISNUMBER mamy trzy tablice zawierające wartości TRUE i FALSE. Operacja matematyczna polegająca na pomnożeniu tych tablic razem przekształca wartości PRAWDA i FAŁSZ na 1 i 0, więc możemy wizualizować tablice w tym momencie w następujący sposób:

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

Wynik, zgodnie z zasadami arytmetyki logicznej, to pojedyncza tablica:

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

który staje się argumentem włączającym w funkcji FILTER:

=FILTER(B5:D16,(1;0;0;0;0;1;0;0;0;0;0;1))

Ostatecznym wynikiem są trzy wiersze danych pokazane w F9: H11

Z wartościami zakodowanymi na stałe

Chociaż formuła w przykładzie korzysta z kryteriów wprowadzonych bezpośrednio w arkuszu, zamiast tego można je na stałe zakodować jako stałe tablicowe:

=FILTER(B5:D16, ISNUMBER(MATCH(items,("Tshirt";"Hoodie"),0))* ISNUMBER(MATCH(colors,("Red";"Blue"),0))* ISNUMBER(MATCH(cities,("Denver";"Seattle"),0)))

Interesujące artykuły...