Eğer hepsini toplu sayacak iseniz
Sonuç göreceğiniz hücreye
=BAĞ_DEĞ_SAY(1/SIKLIK(EĞER($B$2:$B$9<>"";EĞER($A$2:$A$9<>"";KAÇINCI($A$2:$A$9;$A$2:$A$9;0)));SATIR(İNDİS($A$2:$A$9;0;0))-SATIR($A$2)+1))
yazıp CTRL+SHIFT+ENTER tuşlarına basarak dizi formülü oluşturun.
E1 hücresine H yazın.
Verileriniz A- B sütunlarında olduğu varsayarak
Sonuç göreceğiniz hücreye
=BAĞ_DEĞ_SAY(1/SIKLIK(EĞER($B$2:$B$9=E1;EĞER($A$2:$A$9<>"";KAÇINCI($A$2:$A$9;$A$2:$A$9;0)));SATIR(İNDİS($A$2:$A$9;0;0))-SATIR($A$2)+1))
yazıp CTRL+SHIFT+ENTER tuşlarına basarak dizi formülü oluşturun.
Bu işlem için özet tablo kullanmanızı tavsiye ederim.
Formül;
Dizi formülüdür.
=EĞERHATA(İNDİS($C$2:$C$100;KÜÇÜK(EĞER(SIKLIK(EĞER($C$2:$C$100<>"";KAÇINCI("~"&$C$2:$C$100;$C$2:$C$100&"";0));SATIR($C$2:$C$100)-SATIR($C$2)+1);SATIR($C$2:$C$100)-SATIR($C$2)+1);SATIRSAY($H$2:H2)));"")
Bir modüle aşağıdaki kodları ekleyin.
Function aconcat(a As Variant, Optional sep As String = "") As String
' Harlan Grove
Dim y As Variant
If TypeOf a Is Range Then
For Each y In a.Cells
aconcat = aconcat & y.Value & sep
Next y
ElseIf IsArray(a) Then
For Each y In a
aconcat = aconcat & y & sep...
Tam istediğim gibi.
Ancak zahmet olmazsa formülü açıklayabilir misiniz?
Sanırım içten doğru gidiyorum iki eğerle kişi ve tür dizisini oluşturuyoruz kaçıncı ile dizi elemanlarını alıyoruz ancak satır formülleri ve sıklık formülleri ne işe yaramakta bir açıklama yapabilir misin
İstediğiniz bu mu?
Dizi formülüdür.
=TOPLA(EĞER(SIKLIK(EĞER(W5:W18>=C1;EĞER(W5:W18<=C2;EĞER(C5:C18=H4;EĞER(E5:E18=H5;EĞER(F5:F18>=I8;EĞER(B5:B18=I10
;KAÇINCI(D5:D18;D5:D18;0)))))));SATIR(D5:D18)-SATIR(D5)+1);1))
Merhaba konuyu tekrardan canlandırmak istiyorum izninizle,
Bu formülün içerisine tarih aralıklarında hesaplama yapması için örneğin; sayfa1!$W:$W;">="&$C$1 ve sayfa1!$W:$W;">="&$C$2 gibi ölçeklerinde yazılmasını denedim fakat yapamadım. yardımcı olabilir misiniz
NOT: "W" Sütununu örnek olarak...
Bu şekilde deneyin. Dizi formülüdür.
=TOPLA(EĞER(SIKLIK(EĞER(C5:C18=H4;EĞER(E5:E18=H5;EĞER(F5:F18>=I8;EĞER(B5:B18=I10;KAÇINCI(D5:D18;D5:D18;0)))))
;SATIR(D5:D18)-SATIR(D5)+1);1))
.
@Ömer Bey Merhaba,
Bahse konu verdiğiniz formülün içerisine bir kıstas daha ekleyebiliyor muyuz?
Örnek2.1 excel 'inde bulunan B5:B18 sütununda isimler olacak şekilde (ahmet,mehmet,ayşe gibi) yazılsa ve "I10" hücresine yazılan isme göre sonucunu alabilmemiz gibi bir şart daha ekleyebilir miyiz ...
Bu şekilde deneyin.
Dizi formülüdür.
=TOPLA(EĞER(ÇOKETOPLA(F5:F18;C5:C18;H4;E5:E18;H5;D5:D18
;EĞER(SIKLIK(EĞER(C5:C18=H4;EĞER(E5:E18=H5;KAÇINCI(D5:D18;D5:D18;0)));SATIR(D5:D18)-SATIR(D5)+1)>0;D5:D18))>=I8;1))
@Ömer Bey, ilginiz için çok teşekkürler.
Fakat sanırsam satır bazlı olarak değerleri alarak hesaplıyor bu şekilde.
Demek istediğim "H4" sütununda istenilen tarih 2017 ise; "abb" müşterisine ait olan 2017 yılındaki toplam tutarlar üzerinden hesaplanması gerekmekte. Yani "I8" (hedef) hücresine...
Bu şekilde deneyin.(Dizi formülüdür.)
Formülü hücreye yazdıktan sonra entera basmadan ctrl+shift+enter ile girişini tamamlayın. Bu işlemden sonra formülün başına ve sonuna { } ayraçları otomatik eklenmesi gerekir...
Merhaba,
eski için: (dizi formülüdür)
=TOPLA(EĞER(SIKLIK(EĞER(C5:C18=H4;EĞER(E5:E18=H5;KAÇINCI(D5:D18;D5:D18;0)));SATIR(D5:D18)-SATIR(D5)+1);1))
yeni için H5 yerine I5 yazarsınız.
Merhaba,
Herkese iyi günler iyi çalışmalar, ekte bulunan örnekte detaylı şekilde anlatmaya çalıştım kabaca burada da söylemek istiyorum.
Birinci koşul tarihe göre ayırım, ikinci koşul ise gruba göre olarak adlandırılan müşterileri isimlerini, yenilenen değerleri kullanmadan saymak istiyorum...
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.