peki teşekkür ederim yanlız biraz mantığını anlatır mısınız?
Dilimin döndüğü kadarıyla anlatmaya çalışayım, açıklamada anlamadığınız bir yer olursa belirtirseniz o bölge üstünde durmaya çalışırım.
=EĞER(SATIR(A1)>EĞERSAY($B$1:$B$5;D$1);"";İNDİS($A$1:$A$5;KÜÇÜK(EĞER($B$1:$B$5=D$1;SATIR($B$1:$B$5));SATIR(A1))))
Öncelikle formülün dizi formülü olduğunu belirteyim, formülü yazdıktan sonra ENTER a basmadan CTRL SHIFT ENTER tuşlarına basılarak formülün girişi tamamlanır bu işlemden sonra formülün başına ve sonuna { } ayıraçları eklenecektir.
Formülde kullanılan SATIR(A1) belirtilen satırın numarasını verir, formülü alt hücrelere kopyalarken SATIR(A2) … SATIR(A5) şeklinde değişkenlik gösterdiği için formülü kopyalamada verileri değişkenlik getirerek pratiklik kazanılır.
Eğersay formülü, bakılan aralıkta belirlediğimiz ölçütün değerin adet sayısını verir, örnekte B1:B5 aralığında D1 deki değerin adet sayısı hesaplanır formülü yan hücrelere kopyalarken D$1 satırı $ işaretiyle sabit tutarak sütunu değişken yaptığımız için bir yan hücrede formül E1 e göre işlem yapar.
EĞER(SATIR(A1)>EĞERSAY($B$1:$B$5;D$1);""
Bu iki formülü kullanmamızdaki amaç, eğer formülün olduğu satırın numarası eğersay ile sayılan değerden büyük ise formül sonucu boş gözükmesi içindir, yani formülün D3 D4 ve D5 hücrelerinde boş gözükmesini sağlamış oluruz, eğer formül bu eki koymasaydık formül bu hücrelerde değer bulamayacağı için hata verecekti.
Bu şart sağlanırsa formül değeri "" boş olur sağlanmazsa formülün ikinci kısmı hesaplanır,
İNDİS($A$1:$A$5;KÜÇÜK(EĞER($B$1:$B$5=D$1;SATIR($B$1:$B$5));SATIR(A1)))
İndis fonksiyonu baktığımız dizi yani sonuca ulaşmak istediğimiz sizi A1:A5 aralığıdır, belirlediğimiz ölçüte gelen satırı bulmak için,
KÜÇÜK(EĞER($B$1:$B$5=D$1;SATIR($B$1:$B$5));SATIR(A1)) formülü kullanılır,
Küçük fonksiyonu bakılan aralıktaki belirttiğimiz ölçüte göre küçüklük sırasına göre değer verir, burada küçük fonksiyonunda kullandığımız dizi,
EĞER($B$1:$B$5=D$1;SATIR($B$1:$B$5)) bu formül yardımıyla bulunur. Bu dizinin küçüklük sırasına göre kaçıncı değeri almamız gerektiğini de SATIR(A1) fonksiyonu ile buluruz, yani formül ilk satırda belirttiğimiz diziniz SATIR(A1) 1. küçük değerini bulur 2. satırsa SATIR(A2) 2. küçük değerini bularak gider.
EĞER($B$1:$B$5=D$1;SATIR($B$1:$B$5)) küçük fonksiyonun dizisini bulmak için kullandığımız formülün mantığı ise,
B1:B5 arasındaki D1 deki değeri arar eğer bu değer bu aralıkta var ise SATIR(B1:B5) formülü ile kaçıncı satırlarda olduğunu verir bu satırın kaçıncısını almak istediğimizi de küçük fonksiyonunun SATIR(A1) eki ile belirleyerek doğru sonuca ulaşırız.
.