Formuła programu Excel: FILTRUJ na górnych n wartościach -

Spisie treści

Formuła ogólna

=FILTER(data,range>=LARGE(range,n))

Podsumowanie

Aby przefiltrować zestaw danych w celu wyświetlenia n najwyższych wartości, można użyć funkcji FILTER razem z funkcją LARGE. W pokazanym przykładzie formuła w F5 to:

=FILTER(data,score>=LARGE(score,3))

gdzie dane (B5: D16) i wynik (D5: D16) to nazwane zakresy.

Wyjaśnienie

Ta formuła używa funkcji FILTER do pobierania danych na podstawie testu logicznego utworzonego za pomocą funkcji LARGE.

Funkcja LARGE to prosty sposób na uzyskanie n-tej największej wartości w zakresie. Po prostu podaj zakres dla pierwszego argumentu (tablica) i wartość n jako drugi argument (k):

=LARGE(range,1) // 1st largest =LARGE(range,2) // 2nd largest =LARGE(range,3) // 3rd largest

W tym przykładzie logika FILTER jest skonstruowana za pomocą tego fragmentu kodu:

score>=LARGE(score,3)

która zwraca PRAWDA, gdy wynik jest większy lub równy 3. najwyższemu wynikowi. Ponieważ zakres D5: D16 zawiera 12 komórek, to wyrażenie zwraca tablicę 12 wartości PRAWDA i FAŁSZ w tablicy takiej jak ta:

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

Ta tablica jest zwracana bezpośrednio do funkcji FILTER jako argument include, gdzie jest używana do filtrowania danych. Tylko wiersze, w których wynik ma wartość TRUE, trafiają do końcowego wyniku. Wynik ze wzoru w F5 obejmuje 3 najwyższe wyniki w danych, które mieszczą się w zakresie F5: H7.

Sortuj wyniki według wyniku

Domyślnie FILTER zwraca pasujące rekordy w tej samej kolejności, w jakiej występują w danych źródłowych. Aby posortować wyniki w porządku malejącym według wyniku, możesz zagnieździć oryginalną formułę FILTER wewnątrz funkcji SORT w następujący sposób:

=SORT(FILTER(data,score>=LARGE(score,3)),3,-1)

W tym przypadku FILTER zwraca wyniki bezpośrednio do funkcji SORT jako argument tablicy. Indeks sortowania jest ustawiony na 3 (wynik), a porządek sortowania jest ustawiony na -1, dla porządku malejącego.

Interesujące artykuły...