N

Çözüldü Filtreli alanların toplamlarını aldırma

NADIRYILDIZ

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
arkadaşlar filtreleme yaptığımda mavi alanda isim kriterine göre toplam aldırmak istiyorum
 

Ekli dosyalar

H4 hücresine uygulanacak, F sütunu toplamı için şu formül istenilen (filtreden kalan satırlara göre) sonucu verir.
Formülün sonundaki $F$ kısımları hangi sütunun toplanacağını belirler.
Buna göre diğer sütun için gerekli değişikliği yaparsınız artık.

[REPLY]
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
[/REPLY]
 
Çok ilginç bir formül elinize sağlık. Bazı formülleri anlatmak yazmaktan daha zor biliyorum ama müsait bir zamanda formülü parçalara bölüp filtreli satırları nasıl buldunuz açıklayabilir misiniz?
 
Ömer ağabeyin formüller gerçekten incelenesi formüller.
Müsadesiyle ben anladığım şekilde aktarayım sana:

Hocam benim de ne zamandır bildiğim ama yapmaktan erindiğim, lakin artık vazgeçilmezim olan F9 özelliği ile çok daha kolay anlaşılabiliyor.

1638638841235.webp


İncelemek istediğin alanı el işareti ile tıklayıp, F9 yapınca aşağıdaki gibi diziler oluşuyor.

=TOPLA.ÇARPIM(ALTTOPLAM(3;{"ali"\"veli"\"ayşe"\"hasan"\"ali"\"veli"\"ayşe"\"hasan"\"ali"\"veli"\"ayşe"\"hasan"\"ali"\"veli"\"ayşe"\"hasan"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0});{50\0\0\0\59\0\0\0\48\0\0\0\45\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0})

ALTTOPLAM fonksiyonunun 3 işlev sayısıda BAĞ_DEĞ_DOLU_SAY ile isimleri 1 e çeviriyor sanırım.

Son kalan TOPLA.ÇARPIM'da iki dizinin sayıları birbiri ile çarpılıp sonucu yazıyor.

Ömer abi eksiklerimi düzeltir.
 
Moderatörün son düzenlenenleri:
Denemelerinizi az satırlı veri tablosu üzerinde yaparsanız daha kolay anlaşılır.
@Admin in açıklaması da yeterli zaten.
ALTTOPLAM kısmı filtreden kalan satırlar için DOĞRU sonucunu üretiyor, aynı satırdaki isim de koşula uyuyorsa o da DOĞRU, ikisi de DOĞDU olduğunda da toplanacak sütundaki değer sonuç olarak dönmüş oluyor . Koşullardan biri (görünür olma ve isim koşuluna uyma) YANLIŞ olduğunda o satır için sonuç 0 dönüyor.
Neticede ALTTOPLAM × KOŞUL 0 olmayan satırlardaki değerler toplanmış oluyor.
F9 CAN dır. (y)
 
Bu şekilde çok iyi anlayamadım.. Peki herhangi bir hücreye şu şekilde bir formül yazılabilir mi: eğer hücre gizliyse hücrenin değeri 1, görünürse 0 değeri dönecek? (bunun ucu schrödinger'in kedisine kadar gidecek gibi.. )
 
DEĞİL veya aynı kapıya çıkacak işlev yada işlev kombinasyonlarıyla bir şeyler yapılabilir diye düşünüyorum.
Çok büyük veri yığını olmayan bir örnek belge hazırlanıp, bu örnek belge üzerinden bakmakta yarar var.
İstenilen nedir, örneğin filtrede gizli kalan satırlar için belli bir sütundaki değerlerin toplamı mı mesela?
 
Yukarıda soruda filtrelenmiş verideki gizli satırları çıkartıp geride kalanlar üzerine formül uygulayıp belirli bir koşulu sağlayan verilerin toplamı bulundu. Yani bir yerde hangi satır gizli hangi açık bunu buldunuz ki bu işlemi yapabildiniz. Formülü anlamak için daha basit bir örnek olsun diyorum, boş bir sayfada A2'den aşağı doğru hücrelere öyle bir formül yazılsınki satır gizlenirse(filtrede seçilmediyse) değeri 1 olsun, açık ise 0 olsun. (hücreyi görüyorsam 0 görmüyorsam 1 olsun).
 
Sn @Selman
Selamlar,
(Açıklanması zor olsa da deneyeceğim...)
Varsayalım ki
A1 hücresinde İSİM yazıyor olsun...
A2 :A101 arasında Ali, Veli, Ahmet, Mehmet isimleri olsun... Kaçar adet olduğunun bir önemi yok...

Zaten yukarıda da verilmiş olan formülün benzeriyle
yani ALTTOPLAM işlevi ile dediğiniz olmakta...
Yalnız siz görünenlerin 0 gizli olanların 1 olmasını istiyorsunuz TEK Fark bu.
ALTTOPLAM işlevi ile görünenler 1 gizli olanlar 0 dır.
Yani B2 hücresine
=İNDİS(ALTTOPLAM(3;KAYDIR($A$2;SATIR($A$2:$A$101)-SATIR($A$2); );SATIR(A1))
formül çubuğuna bu formülü yazın... Ve B101 hücresine kadar kopyalayın...
Listeye filtre uygulamadığınızda her satır için 1 değeri yazacaktır.
Filtre uygulayalım ve varsayalım Ahmet seçelim...
--- Bazı satırlar gizlenecektir.
--- Görünen satırların B kolonunda 1 yazıyor olacaktır.
--- Görünmeyen değerler ise 0 dır.

ALTTOPLAM(3;KAYDIR($A$2;SATIR($A$2:$A$101)-SATIR($A$2); )

Anlamı: Listenin Başlangıç hücresinden itibaren satır olarak 1 er 1 er listenin sonuna kadar KAYDIR işlevi ile inilir. ALTTOPLAM(3 ile de
(3 : BAĞ_DEĞ_DOLU_SAY) ALTTOPLAM işlevi özelliği olarak Görünenlere 1 gizli olanlara 0 değeri verilir.

Formül çubuğunda yazan formülün
=İNDİS(ALTTOPLAM(3;KAYDIR($A$2;SATIR($A$2:$A$101)-SATIR($A$2); );SATIR(A1))
formül çubuğunda iken,
ALTTOPLAM(3;KAYDIR($A$2;SATIR($A$2:$A$101)-SATIR($A$2); )
formül parçasını seçin... F9 a basın.... DİZİ olarak 1\0\1\1...... gibi 100 satırlık dizi üretecektir. Burada 1 ler görünen 0 lar gizli olan satırlardır....

ALTTOPLAM işlevinde, BAĞ_DEĞ_DOLU_SAY (ya da başka işlem numarası , ben Metin olduğu için bu işlemi seçtim) gibi işlem numaralarından 2 adet vardır.
BAĞ_DEĞ_DOLU_SAY : Hem 3 ve hem de 103
TOPLA : Hem 9 ve hem de 109

Burada sadece 3 (veya 9) seçtiğinizde, sadece Filtreleme işleminde çalışacak anlamındadır.
103 (ya da 109) seçerseniz eğer, hem Filtreleme ve hem de MANUEL Satır gizlemelerde de çalışacak anlamındadır.

Yani az önceki formülümüzde, sadece 3 yazmıştık...
Siz manuel olarak varsayalım ki 10 : 15 satırlarını gizlediniz... Filtreleme yapmadığınızda ALTTOPLAM(3; bu gizli satırlar için yine 1 değeri döndürecektir. Ancak, ALTTOPLAM(103; ile Manuel gizlediğiniz 10:15 satırları için ise 0 değeri döndürülecektir.....


Ek te bir dosya ekledim... (Yukarıda verdiğim örneği ele aldım)
Sayfa1 de
** sizin isteğiniz yönünde Görünenler 0 ve Görünmeyenler 1 olacak şekilde formüle ettim.

Sayfa 2 de ise,
** Görünen ve görünmeyen satır numaralarını 1 ve 0 koşulunu kullanarak yazdırdım (ki, görünenlerin 0 , görünmeyenlerin ise 1 değerini gösterebilmek amacıyla...)
** Neden sayfa2 derseniz eğer, Sayfa1 e filre uyguladığınızda, formüller gizli olan satırları da dikkate alarak işlem görürler...

Ekleme :
SAYI olan hücrelerde, 2 : BAĞ_DEĞ_SAY ya da 3 : BAĞ_DEĞ_DOLU_SAY direkt olarak kullanılabilir....
Diğer işlem numaraları ise, Hücrelerdeki değerler gelecektir... O nedenle ESAYIYSA(.... işlevine sararak kullanılabilir...
 

Ekli dosyalar

Moderatörün son düzenlenenleri:
Üst