..:: SÜZ'den kalan BENZERSİZ SAYMA ve KALAN SATIR SAYMA::.

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

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhabalar, malesef aynı belgem için kaçıncı konu açışım oldu sayamıyorum bile ancak, ihtiyacım tam olarak görülemediğinden tekrar konu açmak durumundayım.

Ekli belgemde metin kutularıyla gerekli açıklamalar yapılmıştır.

Belgemdeki tablonun satır başlıkları (E5:E17) ile sütun başlıkları (F4:AQ4) ile sütun GRUP başlıkları (F3:AQ3)
E2, E3 ve E4 hücrelerindeki veri doğrulama listelerindeki seçimlere göre değişkendir.
Aynı veri doğrulama seçimlerine bağlı olarak LİSTE sayfasındaki DR sütunundaki metinler de değişmektedir.

4'üncü satırdaki başlık metni B OLMAYAN SÜTUNLAR İÇİN ayrı mantıkla,
B OLANLAR İÇİN ise ayrı mantıkla çalışan makro koda ihtiyacım var.

Not: Aşağıdaki örneklerde verilen formüllerin mantığı şudur: sonuç yazılacak hücrenin satır, sütun ve sütun grup başlıklarındaki metinlerin, aralara " | " eklenerek birleştirilmiş halidir.
Örneğin F14 hücresine,
LİSTE sayfası DR sütununda; =F$4&" | "&F$3&" | "&$E14 formülü sonucu oluşan metne ( Y | 2 - B GRUBU % 20 İNDİRİMLİ | EKİM ) göre süz yapılmış olması halinde (süz fiilen yapılmayıp hesaplama yapılacak) LİSTE sayfasında C sütununda kalan BENZERSİZ veri adeti kaçtır? Bu sorunun cevabı olan 21 F14 hücresine yazılacak.
Örneğin J10 hücresine,
LİSTE sayfası DR sütununda; =J$4&" | "&I$3&" | "&$E10 formülü sonucu oluşan metne ( A | 1 - AYAKTAN | HAZİRAN ) göre süz yapılmış sayfasında C sütununda kalan BENZERSİZ veri adeti kaçtır? Bu sorunun cevabı olan 70 J10 hücresine yazılacak.

Örneğin N12 hücresine (sütun başlığı B olduğundan) ,
LİSTE sayfası DR sütununda;
=L$4&" | "&L$3&" | "&$E12 formülü sonucu oluşan metne ( Y | 1 - STANDART | AĞUSTOS ) VEYA
=M$4&" | "&L$3&" | "&$E12 formülü sonucu oluşan metne ( A | 1 - STANDART | AĞUSTOS )
değerlerine EŞİT OLANLAR diye süzüldüğünde KALAN SATIR ADETİ KAÇ?
Bu sorunun cevabı olan 46 sayısı N12 hücresine yazılacak. ( Bu sütunun başlığı B olmasaydı, bir önceki örnekteki işlem bu hücre için de yapılacaktı)

Biraz uzun oldu ama tam olarak anlatmak için mecbur kaldım.

Daha önce aynı belgem için Sayın Korhan AYHAN tarafından scripting.dictionary dizi kodu ve ÖZET TABLO içeren kod önerildi ANCAK, bu özet tablodan kendi tabloma formüllerle değerleri çekemedim. Çünkü, uygun veri olmadığında ÖZET TABLODAki sütun da oluşmuyor yani özet tablo standart bir biçim almıyor. Kaldı ki öyle bile olsa formüllerle (dizi formülü olan TOPLA.ÇARPIM) elde edilen sonuçları kodlar üzerinden elde etmek istiyorum.

Kod bilgisi olan üyelerden destek rica ediyorum.
 

Ekli dosyalar

Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Belki daha anlaşılır olur diye soruda bahsettiğim örnek hücrelere ilişkin aşağıdakileri açıklamaları yazma ihtiyacı hissettim.
1) Yukarıda örnek olarak verdiğim F14 hücresine;
Kod:
[SIZE="2"][SIZE="3"]=TOPLA.ÇARPIM((LİSTE!$DR$8:$DR$2397=F$4&" | "&F$3&" | "&$E[COLOR="red"][B]14[/B][/COLOR])*(LİSTE!$DR$8:$DR$2397=F$4&" | "&F$3&" | "&$E[COLOR="red"][B]14[/B][/COLOR]))[/SIZE][/SIZE]
formülünü uyguladığımda bulduğum sonuç 26. Oysa olması gereken sonuç 21 idi. Çünkü bu formül, sadece koşula uyan satır sayısını veriyor, C sütununda benzersiz sayımı yapmıyor.

2) Yukarıda örnek olarak verdiğim J10 hücresine;
Kod:
[SIZE="2"]=TOPLA.ÇARPIM((LİSTE!$DR$8:$DR$2397=J$4&" | "&I$3&" | "&$E[COLOR="red"][B]10[/B][/COLOR])*(LİSTE!$DR$8:$DR$2397=J$4&" | "&I$3&" | "&$E[COLOR="red"][B]10[/B][/COLOR]))[/SIZE]
formülünü uyguladığımda bulduğum sonuç 83. Oysa olması gereken sonuç 70 idi. Çünkü bu formül, sadece koşula uyan satır sayısını veriyor, C sütununda benzersiz sayımı yapmıyor.

3) Yukarıda örnek verdiğim N12 hücresine (sütun başlığı B olduğundan, VEYA şeklinde sayım yapılacak o yüzden 2 TOPLA:Çarpım sonucunun toplamı şeklinde sonuç almak gerekiyor)
Kod:
[SIZE="2"]=TOPLA.ÇARPIM((LİSTE!$DR$8:$DR$2397=L$4&" | "&L$3&" | "&$E[COLOR="red"][B]12[/B][/COLOR])*(LİSTE!$DR$8:$DR$2397=L$4&" | "&L$3&" | "&$E[COLOR="red"][B]12[/B][/COLOR]))[B][COLOR="blue"][B][COLOR="Blue"][COLOR="Red"]+[/COLOR][/COLOR][/B][/COLOR][/B]TOPLA.ÇARPIM((LİSTE!$DR$8:$DR$2397=M$4&" | "&L$3&" | "&$E[COLOR="red"][B]12[/B][/COLOR])*(LİSTE!$DR$8:$DR$2397=M$4&" | "&L$3&" | "&$E[COLOR="red"][B]12[/B][/COLOR]))[/SIZE]
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst