excel de tabloda filtreleme yaptıkça şarta bağlı sonuç getirme

maznun5255

Bana bir harf öğretenin kırk yıl kölesi olurum.
Altın Üye
Katılım
26 Nisan 2015
Mesajlar
188
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO 64 bit
Altın Üyelik Bitiş Tarihi
18-07-2025
Merhaba Değerli Excel Hocalarım
Bir dosyada tablonun üstüne 5-6 satır ekliyorum.
Tabloda farklı sütun başlıklarına göre filtreleme yapıyorum.
Bir hücrede benzersiz bulunan değerlerin karşılarına miktar getirmek için ilgili hücreye nasıl bir formül girebilirim?
Örnek tablo aşağıdadır.

253931
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,703
Excel Vers. ve Dili
Excel 2019 Türkçe
Niye pivot ile yapmıyor sunuz ?
 

maznun5255

Bana bir harf öğretenin kırk yıl kölesi olurum.
Altın Üye
Katılım
26 Nisan 2015
Mesajlar
188
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO 64 bit
Altın Üyelik Bitiş Tarihi
18-07-2025
Hamitcan bey aslında pivot ile yapabiliyorum.Fakat farklı departmanlara aynı çıktıları vermek istediğimde filtre yaparak seçili alanların toplamını göstermek istiyorum.
Tabloda çok sütun ve değişken var.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,703
Excel Vers. ve Dili
Excel 2019 Türkçe
253936
Böyle bir pivot işinizi görmüyor mu ?
 

maznun5255

Bana bir harf öğretenin kırk yıl kölesi olurum.
Altın Üye
Katılım
26 Nisan 2015
Mesajlar
188
Excel Vers. ve Dili
Microsoft® Excel® Microsoft 365 için MSO 64 bit
Altın Üyelik Bitiş Tarihi
18-07-2025
Hamitcan bey makro ile çözdüm.Teşekkürler.

Sub FiltreliDurumToplamlari()

Dim sht As Worksheet
Dim lastRow As Long
Dim boyanacakToplam As Double
Dim boyandiToplam As Double
Dim boyaniyorToplam As Double
Dim i As Long

' Çalışma sayfasını belirleyin
Set sht = ThisWorkbook.Sheets("Tablom") ' Sayfa adını gerektiğinde güncelleyin

' Son satırı bul
lastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row

' Değerleri sıfırlayın
boyanacakToplam = 0
boyandiToplam = 0
boyaniyorToplam = 0

' 9. satırdan itibaren tabloyu dolaşın
For i = 9 To lastRow
' Eğer satır görünürse (filtrelenmemişse)
If Not sht.Rows(i).Hidden Then
' C sütunundaki durumlara göre D sütunundaki miktarları topla
Select Case sht.Cells(i, 3).Value
Case "Boyanacak"
boyanacakToplam = boyanacakToplam + sht.Cells(i, 4).Value
Case "Boyandı"
boyandiToplam = boyandiToplam + sht.Cells(i, 4).Value
Case "Boyanıyor"
boyaniyorToplam = boyaniyorToplam + sht.Cells(i, 4).Value
End Select
End If
Next i

' Sonuçları A1, A2 ve A3 hücrelerinin karşısına yazdırın
sht.Cells(1, 2).Value = boyanacakToplam ' A1 hücresinin karşısına
sht.Cells(2, 2).Value = boyandiToplam ' A2 hücresinin karşısına
sht.Cells(3, 2).Value = boyaniyorToplam ' A3 hücresinin karşısına

End Sub
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,624
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

B1 hücresine aşağıdaki formülü ekleyerek aşağıya doğru kopyalayınız.

Kod:
=TOPLA.ÇARPIM((ALTTOPLAM(9;KAYDIR($D$10;SATIR($D$10:$D$32)-SATIR($D$10);;1))*($C$10:$C$32=A1)))
 
Üst