Çözüldü Son 5 Dolu Değerden 3 Büyük Değeri Ortalama

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Ömer BARAN

Forum Kurucusu
Yönetici
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sayın @52779 ;)

İstenilen adette veri olmaması durumuna daha sonra bakayım, şimdi bilgisayardan biraz kalkmam gerekiyor.
Dolu hücre adeti 5 ve üstünde ise en büyük 3'ün ortalaması bulunur.
Belki fikir verir ve gerisini kendiniz halledersiniz (ben de bakacağım dediğim gibi)

Formül dizi formüllü.

Formülü güncelledim sanırım tamam, kontrol edersiniz.

VBA:
You must log in to view content
(1 satır)

.
 
Çözüm
Liste Sayın @Ömer BARAN ve Sayın @Ali Kırksekiz in çözümlerini içerecek şekilde düzenlendi.

Ben de, özellikle
BÜYÜK(EĞER($C2:$BC2<>"";SÜTUN($C2:$BC2));.....
yapısı ve BÜYÜK işlevinin kullanılmasıyla

iki formül düzenledim. Bunları da dosyaya ekledim.
Çözümler dinamik alan kullanımı şeklinde yapıldı.

ilki, KAYDIR fonksiyonu ile dinamik alan
=EĞERHATA(ORTALAMA(BÜYÜK(DOLAYLI(ADRES(SATIR();SÜTUN(KAYDIR(F2;;BÜYÜK(EĞER(F2:BF2<>"";SÜTUN(F2:BF2)-SÜTUN(F2));5)));3)&":$BF"&SATIR());{1;2;3}));EĞERHATA(ORTALAMA($F2:$BF2);""))

ve ikincisi de İNDİS fonksiyonu ile dinamik alan...
Sayın @52779 ;)

İstenilen adette veri olmaması durumuna daha sonra bakayım, şimdi bilgisayardan biraz kalkmam gerekiyor.
Dolu hücre adeti 5 ve üstünde ise en büyük 3'ün ortalaması bulunur.
Belki fikir verir ve gerisini kendiniz halledersiniz (ben de bakacağım dediğim gibi)

Formül dizi formüllü.

Formülü güncelledim sanırım tamam, kontrol edersiniz.

VBA:
You must log in to view content
(1 satır)

.
Teşekkür ediyorum...
BÜYÜK(EĞER($C2:$BC2<>"";SÜTUN($C2:$BC2));.....
yapısı ve BÜYÜK işlevi aklıma gelmemişti nedense......

Tekrardan teşekkürler....
 
Kod:
You must log in to view content
(1 satır)

CTRL+SHIFT+ENTER tuşu ile girilmelidir.
Teşekkür ediyorum.....
Formülünüz , örnekteki 13. ve 27. satırlardaki gibi değer adedi 5 ten az olduğunda "" değerini üretmekte..
Ek koşulu ekleyip formülü düzenleyebilirim.... Önemli olan ana yapının çözümlenmesidir bence.
Tekrardan çok teşekkür ediyorum...
 
Liste Sayın @Ömer BARAN ve Sayın @Ali Kırksekiz in çözümlerini içerecek şekilde düzenlendi.

Ben de, özellikle
BÜYÜK(EĞER($C2:$BC2<>"";SÜTUN($C2:$BC2));.....
yapısı ve BÜYÜK işlevinin kullanılmasıyla

iki formül düzenledim. Bunları da dosyaya ekledim.
Çözümler dinamik alan kullanımı şeklinde yapıldı.

ilki, KAYDIR fonksiyonu ile dinamik alan
=EĞERHATA(ORTALAMA(BÜYÜK(DOLAYLI(ADRES(SATIR();SÜTUN(KAYDIR(F2;;BÜYÜK(EĞER(F2:BF2<>"";SÜTUN(F2:BF2)-SÜTUN(F2));5)));3)&":$BF"&SATIR());{1;2;3}));EĞERHATA(ORTALAMA($F2:$BF2);""))

ve ikincisi de İNDİS fonksiyonu ile dinamik alan
=EĞERHATA(TOPLA(BÜYÜK(İNDİS(2:2;BÜYÜK(EĞER($F2:$BF2<>"";SÜTUN($F2:$BF2));5)):$BF2;{1;2;3})/3);EĞERHATA(ORTALAMA($F2:$BF2);""))

Çözüm için tekrardan çok teşekkür ediyorum...
Selamlar...Saygılar..
 

Ekli dosyalar

Çözüm
Düzeltme :
Yeni farkettim ki, Yazdığım iki formülde de, örnek dokumana göre dolu değer sayısı 4 olduğunda Hatalı sonuç veriyor.
Formüllerin düzeltilmiş şekilleri aşağıdaki gibidir. Bu formüllerle düzenlenmiş dosyayı da ekliyorum.

=EĞERHATA(ORTALAMA(BÜYÜK(DOLAYLI(ADRES(SATIR();SÜTUN(KAYDIR(F2;;BÜYÜK(EĞER(F2:BF2<>"";SÜTUN(F2:BF2)-SÜTUN(F2));MİN(BAĞ_DEĞ_SAY($F2:$BF2);5))));3)&":$BF"&SATIR());{1;2;3}));EĞERHATA(ORTALAMA($F2:$BF2);""))


=EĞERHATA(TOPLA(BÜYÜK(İNDİS(2:2;BÜYÜK(EĞER($F2:$BF2<>"";SÜTUN($F2:$BF2));MİN(BAĞ_DEĞ_SAY($F2:$BF2);5))):$BF2;{1;2;3})/3);EĞERHATA(ORTALAMA($F2:$BF2);""))
 

Ekli dosyalar

Mükemmel formüller... Devamlı öğrenci olmak ne güzel. Üstadlarımıza buradan teşekkürlerimi iletiyorum.
Yine de ben işin kolayına kaçıp makro yazardım :)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst