Koşullu saydırma ve toplama

Katılım
29 Aralık 2016
Mesajlar
18
Excel Vers. ve Dili
Excel 2010, Türkçe
Altın Üyelik Bitiş Tarihi
29/12/2021
Selamlar,

Biraz karmaşık olmakla birlikte yapılabileceğini düşündüğüm ancak üstesinden gelemediğim bir sorunla karşı karşıyayım. Örnek dosyada görebileceğiniz üzere G sütununa (Mevcut), D sütununda bulunan ADANA hücresine karşılık gelen kaç adet E sütununda satır vardır bunu yazdırmak istiyorum. Sonrasında G sütününda bulunan değer ile F sütununda bulunan değerlerinin toplamını yazdırmak istiyorum. Örnek olarak ilk iki örneği ben yaptım umarım anlaşılır olmuştur. Şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Ö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.
Merhaba.
Ms.Excel belgelerinizde mümkün olduğunca hücre birleştirmelerinden kaçınmanızı öneriyorum.
Hücre birleştirmeleri görsel olarak iyi görünse de;
formül oluşturmada, bu alanlardan veri çekmede, formül uygulayıp liste boyunca kopyalamada vs. her zaman sıkıntı yaratır.

Sorunuza gelince; hücre birleştirme yapılmadan , aşağıdaki şekilde, C sütununda ilgili değere ilk rastlandığı satırda sonuç alırsınız.
-- J2 hücresine uygulayın ve liste boyunca kopyalayın;
=EĞER(EĞERSAY($C$1:C2;C2)=1;EĞERSAY($C:$C;D2);"")
-- K2 hücresine uygulayın ve liste boyunca kopyalayın.
=EĞER(J2="";"";TOPLA(KAYDIR($F$1;KAÇINCI(D2;$C:$C;0)-1;0;EĞERSAY($C:$C;D2)))+EĞERSAY($C:$C;D2))
 
Katılım
29 Aralık 2016
Mesajlar
18
Excel Vers. ve Dili
Excel 2010, Türkçe
Altın Üyelik Bitiş Tarihi
29/12/2021
Üstadım öncelikle çok teşekkür ediyorum. İstemiş olduğum şekilde sonuç veriyor yazmış olduğunuz formüller. Bu sonuçları birleştirilmiş hücrelere taşımanın bir yolu yok mu? Bunları tek tek girmem mi gerekir bu birleştirilmiş hücrelere.

Çünkü bu örnek veri sadece verinin bir kısmı. yaklaşık olarak 12 bin satır veri olduğunu düşünürsek bunu yapmakta uzun zaman alacaktı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.
O zaman makro kullanmanızı önereyim.
Alt taraftan işlem yapılacak sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
açılacak VBA ekranında sağdaki boş alana aşağıdaki kod blokunu yapıştırıp, çalıştırın.
CSS:
Sub BIRLESTIR_TOPLA()
Range("D:D, G:G, H:H").UnMerge: son = Cells(Rows.Count, 1).End(3).Row
Application.ScreenUpdating = False: Application.Calculation = xlCalculationManual
For sat = 2 To son
    If WorksheetFunction.CountIf(Range("C2:C" & sat), Cells(sat, "C")) = 1 Then
        sonc = sat - 1 + WorksheetFunction.CountIf(Range("C" & sat & ":C" & son), Cells(sat, "C"))
        Cells(sat, "G") = WorksheetFunction.CountIf(Range("C" & sat & ":C" & son), Cells(sat, "C"))
        Cells(sat, "H") = Cells(sat, "G") + WorksheetFunction.Sum(Range("F" & sat & ":F" & sonc))
        Range("D" & sat & ":D" & sonc).Merge
        Range("G" & sat & ":G" & sonc).Merge
        Range("H" & sat & ":H" & sonc).Merge
        sat = sonc
    End If
Next
Range("D2:H" & sonc).Borders.LineStyle = xlContinuous
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
MsgBox "İşlem tamamlandı.", vbInformation, "..:: Ömer BARAN ::.."
End Sub
 
Katılım
29 Aralık 2016
Mesajlar
18
Excel Vers. ve Dili
Excel 2010, Türkçe
Altın Üyelik Bitiş Tarihi
29/12/2021
Ömer bey çok teşekkür ediyorum. Tam olması gerektiği gibi oldu harikasınız. (y)(y)(y)
 

Ö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.
Kolay gelsin.
.
 
Üst