İki Koşullu Filtreleme

DrsnDrsn

Altın Üye
Katılım
3 Nisan 2022
Mesajlar
38
Excel Vers. ve Dili
Microsoft 2016 ve 2019
Altın Üyelik Bitiş Tarihi
27.05.2027
Merhaba,

Ek olarak paylaştığım örnek çalışma dosyasında ki gibi belirli koşullara sahip filtreleme işlemini nasıl yapabilirim? Yardımlarınızı bekliyorum.
 

Ekli dosyalar

DrsnDrsn

Altın Üye
Katılım
3 Nisan 2022
Mesajlar
38
Excel Vers. ve Dili
Microsoft 2016 ve 2019
Altın Üyelik Bitiş Tarihi
27.05.2027

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,837
Excel Vers. ve Dili
Microsoft 365 Tr-64
Aşağıdaki kodu sayfa1 içindeyken çalıştırabilirsiniz.
Sayfa2 ye yazdırdım.
C++:
Sub Listele()
    Dim Veri, Liste(), i As Integer, Say As Integer, k As Integer
    Veri = Range("A1").CurrentRegion.Value
    For i = 2 To UBound(Veri, 2)
        If Veri(UBound(Veri), i) <= WorksheetFunction.Small(Range(Cells(UBound(Veri), 2), Cells(UBound(Veri), UBound(Veri, 2))), 3) Then
            If Veri(3, i) / Veri(2, i) = 1 Or Veri(3, i) / Veri(2, i) = 2 Then
                Say = Say + 1
                ReDim Preserve Liste(1 To UBound(Veri), 1 To Say)
                For k = 1 To UBound(Veri)
                    Liste(k, Say) = Veri(k, i)
                Next k
            End If
        End If
    Next i
    'Ben sayfa2 A1 hücresinden itibaren listeledim, siz kendinize göre uyarlarsınız
    Worksheets("Sayfa2").Cells.Clear
    If Say > 0 Then Worksheets("Sayfa2").Range("A1").Resize(UBound(Liste), Say) = Liste
    Erase Veri: Erase Liste: Say = Empty: i = Empty: k = Empty
End Sub
 

DrsnDrsn

Altın Üye
Katılım
3 Nisan 2022
Mesajlar
38
Excel Vers. ve Dili
Microsoft 2016 ve 2019
Altın Üyelik Bitiş Tarihi
27.05.2027
Aşağıdaki kodu sayfa1 içindeyken çalıştırabilirsiniz.
Sayfa2 ye yazdırdım.
C++:
Sub Listele()
    Dim Veri, Liste(), i As Integer, Say As Integer, k As Integer
    Veri = Range("A1").CurrentRegion.Value
    For i = 2 To UBound(Veri, 2)
        If Veri(UBound(Veri), i) <= WorksheetFunction.Small(Range(Cells(UBound(Veri), 2), Cells(UBound(Veri), UBound(Veri, 2))), 3) Then
            If Veri(3, i) / Veri(2, i) = 1 Or Veri(3, i) / Veri(2, i) = 2 Then
                Say = Say + 1
                ReDim Preserve Liste(1 To UBound(Veri), 1 To Say)
                For k = 1 To UBound(Veri)
                    Liste(k, Say) = Veri(k, i)
                Next k
            End If
        End If
    Next i
    'Ben sayfa2 A1 hücresinden itibaren listeledim, siz kendinize göre uyarlarsınız
    Worksheets("Sayfa2").Cells.Clear
    If Say > 0 Then Worksheets("Sayfa2").Range("A1").Resize(UBound(Liste), Say) = Liste
    Erase Veri: Erase Liste: Say = Empty: i = Empty: k = Empty
End Sub
Bazı aksaklıklardan dolayı cevabınızı geç gördüm. Teşekkür ederim.
 
Üst