
Formuła ogólna
=UNIQUE(FILTER(rng1,rng2=A1))
Podsumowanie
Aby wyodrębnić listę unikatowych wartości z zestawu danych, stosując jedno lub więcej kryteriów logicznych, można użyć funkcji UNIQUE razem z funkcją FILTER. W przedstawionym przykładzie formuła w D5 to:
=UNIQUE(FILTER(B5:B16,C5:C16=E4))
która zwraca 5 unikatowych wartości w grupie A, jak widać w E5: E9.
Wyjaśnienie
W tym przykładzie użyto funkcji UNIQUE wraz z funkcją FILTER. Działając od wewnątrz, funkcja FILTER jest najpierw używana do usuwania danych ograniczających tylko do wartości związanych z grupą A:
FILTER(B5:B16,C5:C16=E4)
Zauważ, że pobieramy wartość „A” bezpośrednio z nagłówka w komórce E4. Insider filtruje wyrażenie C5: C16 = E4 zwraca tablicę wartości TRUE FALSE w następujący sposób:
(TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE)
Ta tablica jest używana do filtrowania danych, a funkcja FILTER zwraca w wyniku inną tablicę:
("red";"amber";"green";"green";"blue";"pink";"red";"blue";"amber")
Ta tablica jest zwracana bezpośrednio do funkcji UNIQUE jako argument tablicy . UNIQUE następnie usuwa duplikaty i zwraca ostateczną tablicę:
("red";"green";"blue";"pink";"gray")
UNIQUE i FILTER to funkcje dynamiczne. Jeśli dane w B5: B16 lub C5: C16 ulegną zmianie, wyjście zostanie natychmiast zaktualizowane.
Formuła w G5, która zwraca unikalne wartości związane z grupą B, jest prawie taka sama:
=UNIQUE(FILTER(B5:B16,C5:C16=G4))
Jedyna różnica polega na tym, że C5: C16 jest porównywane z wartością w G4, która wynosi „B”.
Dynamiczny zakres źródła
Ponieważ zakresy B5: B15 i C5: C16 są zakodowane na stałe bezpośrednio w formule, nie zmieniają rozmiaru po dodaniu lub usunięciu danych. Aby użyć zakresu dynamicznego, który w razie potrzeby automatycznie zmieni rozmiar, możesz użyć tabeli programu Excel lub utworzyć dynamiczny nazwany zakres z formułą.