Excel formülü: İlk n eşleşen değeri toplama -

İçindekiler

Genel formül

=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))

Özet

Bir veri kümesindeki ilk n eşleşen değeri toplamak için, FİLTRE ve SIRA işlevlerine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, kopyalanan G5 hücresindeki formül şöyledir:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))

burada ad (B5: B16) ve puan (C5: C16) adlandırılmış aralıklardır.

Açıklama

Excel 365'teki yeni FİLTRE işlevi, bazı karmaşık formül sorunlarını basitleştirmeye yardımcı olabilir.

Bu örnekte amaç, hem Jake hem de Hailey için ilk 3 puanı tabloda göründükleri sıraya göre toplamaktır. Toplam 12 puan vardır ve Jake ve Hailey'nin her birinin 6 puanı vardır.

İçten dışa doğru çalışarak, ilk görev her isim için bir puan listesi oluşturmaktır. Bu, FİLTRE işleviyle yapılır:

FILTER(score,name=F5)

F5 hücresindeki "Jake" ile sonuç, Jake'in tüm puanlarının aşağıdaki gibi olduğu bir dizidir:

(6;5;7;7;6;8)

Bu dizi, dizi bağımsız değişkeni olarak INDEX işlevine döndürülür:

INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))

SEQUENCE işlevi, satır numarası değerini oluşturmak için kullanılır ve 3 sayı içeren bir dizi döndürür,

SEQUENCE(3,1,1,1) // returns (1;2;3)

Bu noktada formülün INDEX kısmını şu şekilde yazabiliriz:

INDEX((6;5;7;7;6;8),(1;2;3))

INDEX, dizideki ilk 3 satırla ilişkili değerleri TOPLA işlevine döndürür:

=SUM((6;5;7)) // returns 18

ve TOPLA, G5'teki nihai sonuç olarak bu değerlerin toplamını verir. Formül G6 hücresine kopyalandığında sonuç, Hailey'nin ilk 3 puanının toplamıdır.

Son n eşleşen değeri topla

Eşleşen son n değeri toplamak için formülü şu şekilde uyarlayabilirsiniz:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))

Bu formül burada daha ayrıntılı olarak açıklanmaktadır.

Ilginç makaleler...