benzer kayıtlar

Katılım
6 Kasım 2005
Mesajlar
300
Altın Üyelik Bitiş Tarihi
06-09-2023
A ve B sutunlarında yer alan benzer sayısal değerlerimi c sutununa atmak istiyorum...Ancak benzer kayıtlar aynı satırda olmayabilir...
 
Katılım
6 Şubat 2005
Mesajlar
1,467
=EÐER(EÐERSAY(A1:A20;B1)>0;B1;"")
c sütununa gireceğin formül işini görür herhalde
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Sn omerceri güzel bir fonksiyon yazmış, ben de küçük ilave ile katkıda bulunayım.

=EÐER(EÐERSAY(A1:A20;B1)>0;B1;"")

fonksiyonuda A1:A20 aralığını belirtirken $ işaretleri kullanmakta fayda var.

Þöyle;

=EÐER(EÐERSAY($A$1:$A$20;B1)>0;B1;"")
 
Katılım
6 Kasım 2005
Mesajlar
300
Altın Üyelik Bitiş Tarihi
06-09-2023
formül işime yaradı...Ancak veriler uzun olunca bazen problem oluyor...Bunu makro ile nasıl halledebilirim...
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Sub listele()
x = WorksheetFunction.CountA(Range("A:a")) + 1
For Each hucre In Range("A1:b" & x)
If WorksheetFunction.CountIf(Range("A1:b" & x), hucre) >= 1 Then
If WorksheetFunction.CountIf(Range("e1:e" & x), hucre) = 0 Then
C = C + 1

Cells(C + 1, 3) = hucre
End If
End If
Next

End Sub


Saygılarımla
 
Katılım
6 Kasım 2005
Mesajlar
300
Altın Üyelik Bitiş Tarihi
06-09-2023
Bu makro A ve B sutunundaki bütün değerleri C sutununa attı...Benim istediğim ise ortak olan değerlerin C sutununa atılması, elimde şöyle bir makro var ama bu sorunumu çözmüyor...

Dim i, iSayac, iSayac2 As Integer

iSayac = 1
iSayac2 = 1

For i = 1 To 4700

If ThisWorkbook.Worksheets("Sayfa1").Range("A" & i) = ThisWorkbook.Worksheets("Sayfa1").Range("B" & i) Then

ThisWorkbook.Worksheets("Sayfa1").Range("C" & iSayac) = ThisWorkbook.Worksheets("Sayfa1").Range("A" & i)
iSayac = iSayac + 1

Else

ThisWorkbook.Worksheets("Sayfa1").Range("D" & iSayac2) = ThisWorkbook.Worksheets("Sayfa1").Range("B" & i)
iSayac2 = iSayac2 + 1

End If


Bu makro aynı satırda olan benzer kayıtları C sutuna atıyor...farklı satında olanları atmıyor....

Next i
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Satırda hata yapmışım

Bunu Denermisiniz

Sub listele()
x = WorksheetFunction.CountA(Range("A:a")) + 1
For Each hucre In Range("A1:b" & x)
If WorksheetFunction.CountIf(Range("A1:b" & x), hucre) >= 1 Then
If WorksheetFunction.CountIf(Range("c1:c" & x), hucre) = 0 Then
C = C + 1

Cells(C + 1, 3) = hucre
End If
End If
Next

End Sub
 
Katılım
6 Kasım 2005
Mesajlar
300
Altın Üyelik Bitiş Tarihi
06-09-2023
maalesef aynı sonucu verdi...bütün kayıtları c sutununa attı...
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sayın karakayalı, dosyanızı eklerseniz. İlgilenen arkadaşlar daha kolay bir çözüm bulabilir.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Aşağıdaki makro A sütunundaki kayıtları, B sütunundaki ile karşılaştırır C sütununa yazar
Sub listele4()
For a = 1 To WorksheetFunction.CountA([a1:a65536]) + 1
b = WorksheetFunction.CountIf([b1:b65536], Cells(a, 1))
If b > 0 Then
c = c + 1
Cells(c + 1, 3) = Cells(a, 1).Value
End If
Next a
End Sub
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Dosyada 4 adet makro var hangisi işinize geliyorsa onu kullanın
 
Katılım
6 Kasım 2005
Mesajlar
300
Altın Üyelik Bitiş Tarihi
06-09-2023
sn zafer bey
teşekkür ederim...şimdi oldu...kolay gelsin
 
Üst