Çözüldü Şarta ve Tarihe Bağlı Veri Bulma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

gicimi

Yeni Üye
Katılım
18 Haz 2018
Mesajlar
62
En iyi yanıt
0
Puanları
18
Yaş
33
Konum
Ankara
Ad Soyad
Hüseyin Yılmaz
Office Versiyon
Office 2016 Pro
Merhaba;
Veri sayısı fazla olmasından dolayı sonucu uzun zaman beklemekteyim. Formül makro olarak yazabilir misiniz. Yardımcı olabilir misiniz. Teşekkürler.

Kod:
=EĞER(MİN(EĞER($A$2:$A$550000=G2;EĞER($B$2:$B$550000=H2;SATIR($A$2:$A$550000))))=0;"";İNDİS($C$1:$C$550000;MİN(EĞER($A$2:$A$550000=G2;EĞER($B$2:$B$550000=H2;SATIR($A$2:$A$550000))));0))
=EĞER(MAK(EĞER($A$2:$A$550000=G2;EĞER($B$2:$B$550000=H2;SATIR($A$2:$A$550000))))=0;"";İNDİS($C$1:$C$550000;MAK(EĞER($A$2:$A$550000=G2;EĞER($B$2:$B$550000=H2;SATIR($A$2:$A$550000))));0))
 

Ekli dosyalar

  • Şarta Bağlı Arama.xlsx
    13.4 KB · Görüntüleme: 28

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,318
En iyi yanıt
11
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Versiyon
Office 365 TR+EN
Merhaba @gicimi,

Öncelikle A-B-C sütunlarını küçükten büyüğe doğru sıralayın, sonrasında bu kodları kullanabilirsiniz..
PHP:
Sub ExcelTurkey()
    Dim i&, a&, dizim(), bul As Range
    On Error Resume Next
    Range("I2:J10000").ClearContents
    For i = 2 To Cells(Rows.Count, "G").End(3).Row
        For Each bul In Range("A2:A" & Cells(Rows.Count, "A").End(3).Row)
            If bul.Value = Cells(i, "G").Value And bul.Offset(0, 1).Value = Cells(i, "H").Value Then
                ReDim Preserve dizim(a)
                dizim(a) = Format(bul.Offset(0, 2).Value, "hh:mm:ss")
                a = a + 1
            End If
        Next bul
        Cells(i, "I").Value = dizim(0)
        Cells(i, "J").Value = dizim(UBound(dizim))
        Erase dizim: a = Empty
    Next i
End Sub
 

gicimi

Yeni Üye
Katılım
18 Haz 2018
Mesajlar
62
En iyi yanıt
0
Puanları
18
Yaş
33
Konum
Ankara
Ad Soyad
Hüseyin Yılmaz
Office Versiyon
Office 2016 Pro
Murat Bey Merhaba;
Çok teşekkür ederim. İyi Çalışmalar.
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,318
En iyi yanıt
11
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Versiyon
Office 365 TR+EN
50.400 satır veriniz olduğunu belirtseydiniz kodları ona göre hazırlardım. ;)

Gönderdiğiniz dosya için ADO & SQL ile örnek bir kod hazırladım.
Test edip sonucu bildirirsiniz. (y)
PHP:
DefObj C, R-S
Sub ExcelTurkey()
    Range("G2:J10000").ClearContents
    Set con = CreateObject("adodb.connection")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
    ThisWorkbook.FullName & ";extended properties=""excel 12.0;hdr=no"""
    Set rs = con.Execute("select f1,f2,format(min(f3),'hh:mm:ss') from [Sayfa1$] group by f1, f2")
    Set snm = con.Execute("select format(max(f3),'hh:mm:ss') from [Sayfa1$] group by f1,f2")
    Range("G2").CopyFromRecordset rs
    Range("J2").CopyFromRecordset snm
    MsgBox "İşlem Tamamlandı.", vbInformation, "Www.ExcelTurkey.Com"
    Set con = Nothing: Set rs = Nothing: Set snm = Nothing
End Sub
 

gicimi

Yeni Üye
Katılım
18 Haz 2018
Mesajlar
62
En iyi yanıt
0
Puanları
18
Yaş
33
Konum
Ankara
Ad Soyad
Hüseyin Yılmaz
Office Versiyon
Office 2016 Pro
Merhaba Murat Bey;
Elinize sağlık teşekkür ederim şimdi muhteşem oldu. Satır sayısı belirtmedim kusura bakmayın o_O
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst Alt