İki adet sütuna göre toplam sayıyı bulmak

Katılım
9 Mayıs 2017
Mesajlar
101
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
31-05-2024
Arkadaşlar merhaba,

Ekte bir tablom var. Bu tabloda B ve C sütunlarındaki değerler A sütunundaki değer*değer ile belirtilen metinin bölünmüş hali. Ben örneğin eni ve boyu 150 olan yani 150*150 den kaç adet olduğunu bulmak istiyorum. Ve bunu bütün ebatlara yapmak istiyorum. Ekteki dosyanın içinde icmal kısmında anlatmak istediğimi görebilirsiniz.


Yardımcı olabilirseniz çok sevinirim, şimdiden teşekkür ederim.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Eğer 150*200 ve 200*150 olanları 150*200 olarak saymak istiyorsanız aşağıdaki makroyu kullanabilirsiniz:

Kod:
Sub icmal()
    eski = Cells(Rows.Count, "F").End(3).Row
    Range("F4:G" & eski) = ""
    son = Cells(Rows.Count, "A").End(3).Row
    For i = 17 To son
        yeni = Cells(Rows.Count, "F").End(3).Row + 1
        en = Cells(i, "B")
        boy = Cells(i, "C")
        ebat1 = en & "*" & boy
        ebat2 = boy & "*" & en
        
        If WorksheetFunction.CountIf(Range("F3:F" & yeni), ebat1) = 0 And WorksheetFunction.CountIf(Range("F3:F" & yeni), ebat2) = 0 Then
            Cells(yeni, "F") = Cells(i, "A")
            Cells(yeni, "G") = WorksheetFunction.CountIf(Range("A16:A" & son), ebat1) + WorksheetFunction.CountIf(Range("A16:A" & son), ebat2)
        End If
    Next
        
End Sub
Eğer en ve boyu farklı olan her ebadı ayrı saymak istiyorsanız yani 150*200 ile 200*150'leri ayrı ayrı saymak istiyorsanız aşağıdaki makroyu kullanabilirsiniz:

Kod:
Sub icmal1()
    eski = Cells(Rows.Count, "F").End(3).Row
    Range("F4:G" & eski) = ""
    son = Cells(Rows.Count, "A").End(3).Row
    For i = 17 To son
        yeni = Cells(Rows.Count, "F").End(3).Row + 1
        
        If WorksheetFunction.CountIf(Range("F3:F" & yeni), Cells(i, "A")) = 0 Then
            Cells(yeni, "F") = Cells(i, "A")
            Cells(yeni, "G") = WorksheetFunction.CountIf(Range("A16:A" & son), Cells(i, "A"))
        End If
    Next
        
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,196
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

Özet tabloyu deneyin. Pratik ve kolaydır.
 
Katılım
9 Mayıs 2017
Mesajlar
101
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
31-05-2024
Eğer 150*200 ve 200*150 olanları 150*200 olarak saymak istiyorsanız aşağıdaki makroyu kullanabilirsiniz:

Kod:
Sub icmal()
    eski = Cells(Rows.Count, "F").End(3).Row
    Range("F4:G" & eski) = ""
    son = Cells(Rows.Count, "A").End(3).Row
    For i = 17 To son
        yeni = Cells(Rows.Count, "F").End(3).Row + 1
        en = Cells(i, "B")
        boy = Cells(i, "C")
        ebat1 = en & "*" & boy
        ebat2 = boy & "*" & en
        
        If WorksheetFunction.CountIf(Range("F3:F" & yeni), ebat1) = 0 And WorksheetFunction.CountIf(Range("F3:F" & yeni), ebat2) = 0 Then
            Cells(yeni, "F") = Cells(i, "A")
            Cells(yeni, "G") = WorksheetFunction.CountIf(Range("A16:A" & son), ebat1) + WorksheetFunction.CountIf(Range("A16:A" & son), ebat2)
        End If
    Next
        
End Sub
Eğer en ve boyu farklı olan her ebadı ayrı saymak istiyorsanız yani 150*200 ile 200*150'leri ayrı ayrı saymak istiyorsanız aşağıdaki makroyu kullanabilirsiniz:

Kod:
Sub icmal1()
    eski = Cells(Rows.Count, "F").End(3).Row
    Range("F4:G" & eski) = ""
    son = Cells(Rows.Count, "A").End(3).Row
    For i = 17 To son
        yeni = Cells(Rows.Count, "F").End(3).Row + 1
        
        If WorksheetFunction.CountIf(Range("F3:F" & yeni), Cells(i, "A")) = 0 Then
            Cells(yeni, "F") = Cells(i, "A")
            Cells(yeni, "G") = WorksheetFunction.CountIf(Range("A16:A" & son), Cells(i, "A"))
        End If
    Next
        
End Sub
Yusuf bey,

Makroyu kurdum ama formül komutu nedir acaba
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Formül komutundan kastınız makronun nasıl çalışacağıysa şöyle yapabilirsiniz:

Verdiğim makrolardan hangisini istiyorsanız kopyalayın
Dosyanızda Alt+F11 yapıp VBA penceresini açın
Insert menüsünden module'yi seçin
Açılan sayfaya kopyaladığınız makroyu yapıştırın
Excel dosyasına geçin
Sayfaya bir düğme/nesne/resim vs ekleyin
Eklediğiniz düğme/resim/nesne'ye sağ tıklayıp Makro ata deyin
Çıkan pencerede kopyaladığınız makronun adını seçin ve tamam deyip çıkın
Dosyanızı kaydederken farklı kaydedip Makro içerebilen excel dosyası (xlsm uzantılı) olarak kaydedin.
Bundan sonra dosyanızda o ekleyip makro atadığınız düğme/nesne/resime her tıkladığınızda makro çalışacaktır.
 
Üst