birden fazla sütunlardaki verileri kıyaslama

bekir_55

Altın Üye
Katılım
2 Şubat 2018
Mesajlar
13
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
13-04-2025
Merhaba sayın site üyeleri,
Sorum şöyle;
2 farklı excel kitabım var. Bu excel kitaplarındaki verileri birbiriyle kıyaslamam gerekiyor. 2. Kitaptaki A sütunundaki verileri 1. Kitaptaki A sütunundaki verilerle kıyaslasın; eğer doğruysa B sütunundaki verileri aynı şekilde kıyaslasın; bu verilerde de doğruluk sağlanıyorsa C sütunundaki verilerle kıyaslasın ve bu verilerde (eğer varsa) farklı olan hücreleri bulup o hücrenin bulunduğu satırları ayrı bir yerde yazdırsın istiyorum. Çözüm önereceğiniz formülde veri sayılarının her 2 kitapta 300bin civarında olduğunu hatırlatmak isterim.
İlgilenecek ve çözüm üretecek arkadaşlara 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
Ekli dosyayı inceleyin. Ben bu türden çalışmalarda farklı dosyalarda çalışmak yerine çalışılacak sayfaları aynı dosyaya taşıyıp, o dosya üzerinden işlem yapmayı tercih ediyorum. Bu nedenle her iki dosyayı aynı dosyada birleştirdim ve farkların listelenmesi için de iki ayrı sayfa ekledim. Sayfalardaki düğmeye bastığınızda belirttiğiniz işlem yapılarak farklı olan satırlar yeni sayfalara eklenir aynı zamanda kaynak sayfasında da sarı ile boyanır.

Örnek dosyanızda bu işlem çok çabuk oluyor ama belirttiğiniz gibi 300 bin satır olan durumda işlem çok uzun sürer, hatta excel kilitlenebilir. Veri kaybı olmaması için dosya(lar)nızın yedeğini almayı unutmayın.

Dosyada belirttiğiniz farklı karakterleri kaldırmak için de makroda düzenleme yaptım, harfler ve sayılar dışındaki karakterleri B sütunlarından temizliyor.

Makroda 4 tane döngü olması nedeniyle işlem uzun sürecektir. Döngüsüz çözümler de bulunabilir ama maalesef benim bilgim yetmiyor.
 

Ekli dosyalar

bekir_55

Altın Üye
Katılım
2 Şubat 2018
Mesajlar
13
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
13-04-2025
Sayın yusuf44 öncelikle ilgilendiğiniz için teşekkür ederim.
kolaylık sağlaması açısından sizin dediğiniz gibi yaptım; yani 2006 - 2021 yılı arasındaki verileri yıl bazında farklı kitap olarak aynı excelde yan yana sayfalara aldım 20bin veriden oluşan sayfalar haline getirdim. makroyla ilgili çok bir bilgim yok ama bu aradaki "-" işaretini kaldırması çözüm için gerekli sanırım. işlemi biraz daha basitleştirmek adına şöyle anlatsam, örnekteki kitap1 verileri kitap2 verilerini kapsıyor. yani kitap2'deki datalar kitap1'de mevcut. B sütununu karşılaştırmadan 2 sayfadaki basınç datalarını karşılaştırıp farklı olan basınçları kitap1 sayfasında sarıya boyatıp o sarıya boyalı satırları başka sayfaya yazdıracak bir formül geliştirebilir miyiz?
Sadece 1 adet "kontrol et" butonu altında sarıya boyadığımız satırları 3.sayfaya yazdırabilir miyiz?
Ekli dosyayı inceleyin. Ben bu türden çalışmalarda farklı dosyalarda çalışmak yerine çalışılacak sayfaları aynı dosyaya taşıyıp, o dosya üzerinden işlem yapmayı tercih ediyorum. Bu nedenle her iki dosyayı aynı dosyada birleştirdim ve farkların listelenmesi için de iki ayrı sayfa ekledim. Sayfalardaki düğmeye bastığınızda belirttiğiniz işlem yapılarak farklı olan satırlar yeni sayfalara eklenir aynı zamanda kaynak sayfasında da sarı ile boyanır.

Örnek dosyanızda bu işlem çok çabuk oluyor ama belirttiğiniz gibi 300 bin satır olan durumda işlem çok uzun sürer, hatta excel kilitlenebilir. Veri kaybı olmaması için dosya(lar)nızın yedeğini almayı unutmayın.

Dosyada belirttiğiniz farklı karakterleri kaldırmak için de makroda düzenleme yaptım, harfler ve sayılar dışındaki karakterleri B sütunlarından temizliyor.

Makroda 4 tane döngü olması nedeniyle işlem uzun sürecektir. Döngüsüz çözümler de bulunabilir ama maalesef benim bilgim yetmiyor.
 

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
Buna uygun örnek dosya paylaşırsanız farklı çözümler bulunabilir.
 

bekir_55

Altın Üye
Katılım
2 Şubat 2018
Mesajlar
13
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
13-04-2025
aynı örnek dosya için konuşmuştum aslında Yusuf bey. Aslında yazdığınız makro işimi görüyor fakat biraz karışık geldiği için dosyama uyarlayamadım benim bilgisizliğim. Eklediğim örnek dosyada A ve C sütunlarındaki verileri kıyaslayıp farklı olan C sütunundaki basınç değerinin olduğu hücrelerin satırlarını sarıya boyatıp sayfa 3 yazdırmasını istiyorum. Yani burada benim için asıl önemli kriter C sütunundaki farklılıkları bulmak.
Buna uygun örnek dosya paylaşırsanız farklı çözümler bulunabilir.
 

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
Aşağıdaki makroyu deneyiniz:

PHP:
Sub kontrol()
Dim s1, s2, s3 As Worksheet
Dim son1, son2, son3, i, yeni As Integer
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Set s3 = Sheets("Sayfa3")

son1 = s1.Cells(Rows.Count, "A").End(3).Row
son2 = s2.Cells(Rows.Count, "A").End(3).Row
son3 = s3.Cells(Rows.Count, "A").End(3).Row

uyar = MsgBox("Eski veriler silinsin mi?", vbYesNo)

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

If uyar = vbYes Then
    If son3 > 1 Then
        s3.Range("A2:C" & son3).ClearContents
    End If
End If

s1.Range("A2:C" & son1).Interior.Color = xlNone

For i = 2 To son1
    If WorksheetFunction.CountIfs(s2.Range("A1:A" & son2), s1.Cells(i, "A"), s2.Range("C1:C" & son2), s1.Cells(i, "C")) = 0 Then
        yeni = s3.Cells(Rows.Count, "A").End(3).Row + 1
        s1.Range("A" & i & ":C" & i).Copy s3.Cells(yeni, "A")
        s1.Range("A" & i & ":C" & i).Interior.Color = vbYellow
    End If
Next

Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

MsgBox "İşlem tamamlandı", vbExclamation

End Sub
 
Üst