Excel formülü: İlk veya son n değerde FİLTRE -

İçindekiler

Genel formül

=INDEX(FILTER(data,data""),SEQUENCE(n,1,1,1))

Özet

İlk veya son n değeri (yani ilk 3 değer, ilk 5 değer vb.) FİLTRE ve ayıklamak için, FİLTRE işlevini INDEX ve SIRA ile birlikte kullanabilirsiniz. Gösterilen örnekte, D5'teki formül şöyledir:

=INDEX(FILTER(data,data""),SEQUENCE(3,1,1,1))

burada veriler , B5: B15 olarak adlandırılan aralıktır.

Açıklama

Baştan sona çalışarak, DİZİN için aşağıdaki gibi bir satır numarası değeri oluşturmak için SEQUENCE işlevini kullanırız:

SEQUENCE(3,1,1,1)

SEQUENCE, 1'den başlayarak 1 adım değeriyle 3 satır x 1 sütunluk bir dizi istiyoruz. Sonuç şuna benzer bir dizidir:

(1;2;3)

satır_sayısı bağımsız değişkeni olarak doğrudan İNDİS işlevine döndürülür:

=INDEX(FILTER(data,data""),(1;2;3))

İNDİS dizisini oluşturmak için, adlandırılmış aralık verilerinden (B5: B15) aşağıdaki gibi boş olmayan girişlerin bir listesini almak için FILTER işlevini kullanırız :

FILTER(data,data"")

Dizi argümanı veridir ve include argümanı ifade verisidir "". Bu "adlı aralık dönüş değerleri olarak tam anlamıyla tercüme edilebilir verilere değerler verilerin boş değil". Sonuç, aşağıdaki gibi 9 değerli bir dizidir:

("Atlanta";"Chicago";"Dallas";"Denver";"Los Angeles";"Miami";"New York";"Seattle";"Minneapolis")

İki boş hücreyle ilişkili uyarı değerleri kaldırılmıştır. Bu dizi, dizi argümanı olarak INDEX işlevine döndürülür.

Son olarak, DİZİN FİLTRE tarafından döndürülen diziden 1., 2. ve 3. değerleri verir:

("Atlanta";"Chicago";"Dallas")

Son n değer

FILTER ile son n değerleri elde etmek için, aynı formül yapısını kullanırsınız; SEQUENCE girdileri, "son n" satır numaraları dizisi oluşturmak için değiştirilir. Örneğin, gösterilen örnekte boş olmayan son 3 değeri almak için aşağıdaki gibi bir formül kullanabilirsiniz:

=INDEX(FILTER(data,data""),SORT(SEQUENCE(3,1,SUM(--(data"")),-1)))

Buradaki ana numara, adlandırılmış aralık verilerindeki boş olmayan girişleri şu şekilde saymaktır :

SUM(--(data""))

DOĞRU YANLIŞ değerlerini 1'lere ve 0'lara zorlamak için çift negatif kullanıyoruz, ardından sayımı almak için TOPLA işlevini kullanıyoruz. Sonuç, SEQUENCE içinde başlangıç ​​bağımsız değişkeni olarak döndürülür. Başlangıçtan geri adım atmak için -1 veriyoruz.

Ayrıca SIRALA işlevini SEQUENCE çevresine sarıyoruz, böylece döndürülen dizi (9; 8; 7) değil (7; 8; 9) olur. Bu, değerlerin kaynak verilerde göründükleri sırayla döndürülmesini sağlar.

Ilginç makaleler...