Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Diğer Excel Soruları (http://www.excel.web.tr/forumdisplay.php?f=50)
-   -   İki adet sütuna göre toplam sayıyı bulmak (http://www.excel.web.tr/showthread.php?t=169302)

berkeartar 27-12-2017 16:46

İki adet sütuna göre toplam sayıyı bulmak
 
1 Eklenti(ler)
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.

Ahmet ÖZGÜR 27-12-2017 17:29

1 Eklenti(ler)
Anladığım kadarı ile G4 hücresine bu formülü uygulayın
Kod:

=EĞERSAY(A17:A529;F4)

YUSUF44 27-12-2017 17:41

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 27-12-2017 23:02

Alternatif;

Özet tabloyu deneyin. Pratik ve kolaydır.

berkeartar 30-12-2017 07:09

Alıntı:

YUSUF44 tarafından gönderildi (Mesaj 923513)
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

berkeartar 30-12-2017 07:10

Alıntı:

Korhan Ayhan tarafından gönderildi (Mesaj 923544)
Alternatif;

Özet tabloyu deneyin. Pratik ve kolaydır.

Haklısınız Korhan bey. Özet tablo hiç aklıma gelmedi. Teşekkür ederim.

YUSUF44 30-12-2017 20:54

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.


Saat 23:12

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.