boş hücreleri göz ardı ederek ortalama alma

Katılım
15 Eylül 2015
Mesajlar
37
Excel Vers. ve Dili
2007 - Türkçe
Merhaba,

Aşağıdaki sayı dizisinde son x hücrenin ortalamasını almak istiyorum. Ben yeni verileri (yeni gün değerlerini) girdikçe son x günün ortalaması ona göre güncellensin istiyorum. Fakat bir türlü aradaki boş hücreleri gözardı etmesini sağlayamadım.
Yardımlarınızı bekliyorum.
Tarihler A sütunu, USD/TL B sütunu oluyor.

Dosya

 
Son düzenleme:

emre67z

Altın Üye
Katılım
19 Haziran 2017
Mesajlar
216
Excel Vers. ve Dili
365
Merhaba,

Aşağıdaki sayı dizisinde son x hücrenin ortalamasını almak istiyorum. Ben yeni verileri (yeni gün değerlerini) girdikçe son x günün ortalaması ona göre güncellensin istiyorum. Fakat bir türlü aradaki boş hücreleri gözardı etmesini sağlayamadım.
Yardımlarınızı bekliyorum.
Tarihler A sütunu, USD/TL B sütunu oluyor.

Örnek dosya eklermisiniz veya daha detaycı açıklama yapabilirseniz yardımcı olmaya çalışırım.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,103
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
=TOPLA.ÇARPIM((B2:B30>0)*(B2:B30))/TOPLA.ÇARPIM((B2:B30>0)*(B2:B30>0))
şeklinde deneyin.
İyi çalışmalar.
 
Katılım
8 Ekim 2009
Mesajlar
642
Excel Vers. ve Dili
Office 2010 & 2016 TR
Merhaba,
İsteğinizi doğru anladıysam;
Kod:
=ORTALAMA(B:B)
Boş hücreleri dikkate almadan ortalama veriyor.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Alternatif olarak
Kod:
=EĞERORTALAMA(B1:B50;"<>0")
 
Katılım
15 Eylül 2015
Mesajlar
37
Excel Vers. ve Dili
2007 - Türkçe
Merhaba,

Dosyayı ekledim. Ben örneğin son 9 günün ortalamasını almak istiyorum. Eklediğim dosyada 29/04 - 10/05 tarihleri arasının ortalamasını almak istiyorum yani. Sondan 9 sayının ortalaması olsun. Ama ben yeni günün değerlerini girdikçe, otomatik olarak son 9 gün ortalaması güncellenmeli.
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Deneyiniz.
Kod:
=ORTALAMA(KAYDIR($B$1;BAĞ_DEĞ_DOLU_SAY($A$1:$A$100000)-9;;9))
 
Katılım
15 Eylül 2015
Mesajlar
37
Excel Vers. ve Dili
2007 - Türkçe
Merhaba,
Denedim fakat sonuç 6,013938 çıkıyor. 6,0572 çıkması lazım son 9 güne baktığımızda. :/
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Örnek dosya üzerinden gösteririseniz hata nedeni daha kolay anlaşılır ve çözüm bulunur.Uguladığınız örneği paylaşınız.
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Kullandığınız formül benim verdiğim formül değil.Ben A sütununu saydırdım.B sütuna göre işlem yapıyor ve B sütunun son 9 günü boş.Aşağıdaki şekilde deneyiniz.
Kod:
=ORTALAMAA(KAYDIR($B$1;ARA(2;1/($B$1:$B$1000000<>"");SATIR($B$1:$B$100000))-9;;9))
 
Katılım
15 Eylül 2015
Mesajlar
37
Excel Vers. ve Dili
2007 - Türkçe
Kullandığınız formül benim verdiğim formül değil.Ben A sütununu saydırdım.B sütuna göre işlem yapıyor ve B sütunun son 9 günü boş.Aşağıdaki şekilde deneyiniz.
Deneme sonucu
Sonuç 6,072... çıkıyor. Son 8 sayının ortalamasını aldı. Yani 1 boş hücreyi göz ardı etmemiş yine :/
 
Katılım
15 Eylül 2015
Mesajlar
37
Excel Vers. ve Dili
2007 - Türkçe
Merhaba,

Ben listedeki USD/TL bilgisini gün gün yazacağım. (Tabi resmi kapanış olduğu günlerde). Boş olan aradaki hücrelerde kur tatil. O nedenle kur kapanış bilgisi yer almıyor.

Yapmaya çalıştığım hesaplamada, "dolu" olan son 9 değerin ortalamasını formüle bağlamaya çalışıyorum. "Son 9 gün" diye yazarak yanlış yönlendirdim sanırım. Benim istediğim aradaki boş hücreleri gözardı ederek, son 9 kapanış verisinin ortalamasını almak.
Sonraki günlerde gün be gün ekledikçe de son 9 günün ortalaması güncellenecek.
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Aşağıdaki formülü dener misiniz?
Kod:
=YUVARLA(ORTALAMA(KAYDIR($B$1;ARA(2;1/($B$1:$B$1000000<>"");SATIR($B$1:$B$100000))-(BOŞLUKSAY(KAYDIR($B$1;;;ARA(2;1/($B$1:$B$1000000<>"");SATIR($B$1:$B$100000))))+9)+BAĞ_DEĞ_DOLU_SAY(KAYDIR($B$1;ARA(2;1/($B$1:$B$1000000<>"");SATIR($B$1:$B$100000))-(BOŞLUKSAY(KAYDIR($B$1;;;ARA(2;1/($B$1:$B$1000000<>"");SATIR($B$1:$B$100000))))+9);;100000))-9;;100000));4)
 
Son düzenleme:
Katılım
15 Eylül 2015
Mesajlar
37
Excel Vers. ve Dili
2007 - Türkçe
Merhaba,

Formül tamam gibi duruyor. Çok teşekkür ederim zaman ayırdığınız ve yardımınız için.

Son bir şey; formülde sondaki "4" ün anlamı nedir?
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Merhaba,

Formül tamam gibi duruyor. Çok teşekkür ederim zaman ayırdığınız ve yardımınız için.

Son bir şey; formülde sondaki "4" ün anlamı nedir?
Sayı yuvarlama yapıldığında virgülden sonra 4 basamak kalması için.Dönüş yaptığınız için teşekkür ederim.
 
Katılım
15 Eylül 2015
Mesajlar
37
Excel Vers. ve Dili
2007 - Türkçe
Tamamdır. Bu formülü yazdıktan sonra sayfa epey yavaşladı. Yeni veri girerken gecikme oluyor. Bunu önlemenin bir yolu var mıdır?
Bu arada sadece usd/tl değil eur/tl ve eur/usd için de aynı şeyi yapıyorum. Ayrıca hem 9 gün hem de 14 gün için ortalama alıyorum. Yani bu formülü toplam 6 ayrı hücrede kullanıyorum. O nedenle sanırım bir yavaşlama oldu :/
 
Katılım
1 Haziran 2014
Mesajlar
355
Excel Vers. ve Dili
Ofis 2010-Türkçe
Tamamdır. Bu formülü yazdıktan sonra sayfa epey yavaşladı. Yeni veri girerken gecikme oluyor. Bunu önlemenin bir yolu var mıdır?
Bu arada sadece usd/tl değil eur/tl ve eur/usd için de aynı şeyi yapıyorum. Ayrıca hem 9 gün hem de 14 gün için ortalama alıyorum. Yani bu formülü toplam 6 ayrı hücrede kullanıyorum. O nedenle sanırım bir yavaşlama oldu :/
Formüldeki 100000 sayılarını 1000 yapıp deneyin
 
Üst