
Genel formül
=FILTER(data,range>=LARGE(range,n))
Özet
Bir veri kümesini ilk n değeri gösterecek şekilde filtrelemek için FİLTRE işlevini LARGE işleviyle birlikte kullanabilirsiniz. Gösterilen örnekte, F5'teki formül şöyledir:
=FILTER(data,score>=LARGE(score,3))
burada veriler (B5: D16) ve skor (D5: D16) adlandırılmış aralıklardır.
Açıklama
Bu formül, LARGE işleviyle oluşturulmuş mantıksal bir teste dayalı olarak verileri almak için FİLTRE işlevini kullanır.
BÜYÜK işlevi, bir aralıktaki n'inci en büyük değeri elde etmenin basit bir yoludur. İlk bağımsız değişken (dizi) için bir aralık ve ikinci bağımsız değişken (k) olarak n için bir değer sağlamanız yeterlidir:
=LARGE(range,1) // 1st largest =LARGE(range,2) // 2nd largest =LARGE(range,3) // 3rd largest
Bu örnekte, FILTER mantığı şu kod parçacığı ile oluşturulmuştur:
score>=LARGE(score,3)
puan en yüksek 3. puandan büyük veya ona eşit olduğunda DOĞRU sonucunu verir. D5: D16 aralığında 12 hücre olduğundan, bu ifade şuna benzer bir dizide 12 TRUE ve FALSE değerinden oluşan bir dizi döndürür:
(FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE)
Bu dizi, veriyi filtrelemek için kullanıldığı, içerme bağımsız değişkeni olarak doğrudan FILTER işlevine döndürülür. Yalnızca sonucun DOĞRU olduğu satırlar, sonucu son çıktıya dönüştürür. F5'teki formülün sonucu, verilerdeki F5: H7 aralığına yayılan 3 en yüksek puanı içerir.
Sonuçları puana göre sırala
FILTER varsayılan olarak, kaynak verilerde göründükleri sırayla eşleşen kayıtları döndürür. Sonuçları azalan sırada puana göre sıralamak için, orijinal FİLTRE formülünü SIRALA işlevinin içine şu şekilde yerleştirebilirsiniz:
=SORT(FILTER(data,score>=LARGE(score,3)),3,-1)
Burada FİLTRE, sonuçları doğrudan SIRALA işlevine dizi bağımsız değişkeni olarak döndürür. Sıralama dizini 3'e (puan) ve sıralama düzeni azalan sıra için -1'e ayarlanmıştır.