
Formuła ogólna
=FILTER(data,ISNUMBER(MATCH(rng1,rng2,0)),"No data")
Podsumowanie
Aby filtrować dane w celu uwzględnienia tylko rekordów, w których kolumna jest równa jednej z wielu wartości, można użyć funkcji FILTER razem z funkcją ISNUMBER i funkcją MATCH. W pokazanym przykładzie formuła w F5 to:
=FILTER(data,ISNUMBER(MATCH(color,list,0)),"No data")
gdzie „dane” (B5: D15), „kolor” (C5: C15) i „lista” (J5: J7) to nazwane zakresy.
Wyjaśnienie
Funkcja FILTER może filtrować dane przy użyciu wyrażenia logicznego podanego jako argument „include”. W tym przykładzie argument ten jest tworzony za pomocą wyrażenia używającego funkcji ISNUMBER i MATCH w następujący sposób:
=ISNUMBER(MATCH(color,list,0))
MATCH jest skonfigurowany tak, aby szukać każdego koloru w C5: C15 w mniejszym zakresie J5: J7. Funkcja MATCH zwraca tablicę taką jak ta:
(1;#N/A;#N/A;#N/A;2;3;2;#N/A;#N/A;#N/A;3)
Numery powiadomień odpowiadają pozycji „znalezionych” kolorów („czerwonego”, „niebieskiego” lub „czarnego”), a błędy odpowiadają wierszom, w których nie znaleziono koloru docelowego. Aby wymusić wynik PRAWDA lub FAŁSZ, ta tablica przechodzi do funkcji ISNUMBER, która zwraca:
(TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE)
Powyższa tablica jest dostarczana do funkcji FLITER jako argument włączający, a FILTER zwraca tylko wiersze, które odpowiadają wartości TRUE.
Z wartościami zakodowanymi na stałe
Powyższy przykład został utworzony z odwołaniami do komórek, w których kolory docelowe zostały wprowadzone w zakresie J5: J7. Jednak używając stałej tablicowej, można zakodować wartości na stałe w formule w następujący sposób, uzyskując ten sam wynik:
=FILTER(data,ISNUMBER(MATCH(color,("red","blue","black"),0)),"No data")