Farklı sütunlardaki sayıları eslestirme

Katılım
10 Ocak 2013
Mesajlar
2
Excel Vers. ve Dili
2007 Türkçe
Merhabalar;iki farklı sütunda birbirinin aynı olan sayıları tek bir sütunda birleştirme şansım var mı acaba? Örnek A sütunundaki 252 sayısını B sütununda bulup ortak bir sütunda (yani A'da veya A'nın yanında yeni açılacak bir sütunda) birleştirmek mümkünmü aynı olan sayılar tüm sayfa da ilgili yerlerini bularak direk üstüne veya yanına geçsin..
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,072
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Excel 2007'de formül kullanarak iki sütundaki aynı sayıları bulup ortak bir sütunda gösterebilirsiniz. Ancak “aynı olanları doğrudan üstüne veya yanına geçirme” işlemi formülle tam otomatik yapılamaz; bunun için makro (VBA) gerekir. Ama formülle aynı olanları tespit edip yeni bir sütunda göstermek mümkündür.

Kod:
Sub BenzersizBirleştirVeOrtaklariRenklendir()
    Dim sonA As Long, sonB As Long, i As Long
    Dim dict As Object
    Dim sayi As Variant
    Dim ortakDict As Object
    Dim ws As Worksheet
    Dim cSatir As Long

    Set dict = CreateObject("Scripting.Dictionary")
    Set ortakDict = CreateObject("Scripting.Dictionary")
    Set ws = ThisWorkbook.Sheets(1) '

   
    sonA = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    sonB = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
   
    For i = 1 To sonA
        sayi = ws.Cells(i, "A").Value
        If IsNumeric(sayi) Then
            If Not dict.exists(sayi) Then
                dict.Add sayi, 1
            Else
                ortakDict(sayi) = True
            End If
        End If
    Next i
   
    For i = 1 To sonB
        sayi = ws.Cells(i, "B").Value
        If IsNumeric(sayi) Then
            If dict.exists(sayi) Then
                ortakDict(sayi) = True
            Else
                dict.Add sayi, 1
            End If
        End If
    Next i
   
    cSatir = 1
    For Each sayi In dict.Keys
        ws.Cells(cSatir, "C").Value = sayi
       
        If ortakDict.exists(sayi) Then
            ws.Cells(cSatir, "C").Font.Color = RGB(255, 0, 0)
        Else
            ws.Cells(cSatir, "C").Font.Color = RGB(0, 0, 0)
        End If
        cSatir = cSatir + 1
    Next sayi

    MsgBox "A ve B sütunlarındaki benzersiz sayılar C sütununa yazıldı. Ortak olanlar kırmızı renkle işaretlendi.", vbInformation
End Sub
Alt + F11 → VBA editörü açılır
Menüden Ekle > Modül
Aşağıdaki kodu yapıştır
Excel'e dön
Alt + F8 → BenzersizBirleştirVeOrtaklariRenklendir çalıştır

Bu kod A ve B sutunlarındaki benzersiz sayılar c sutununa yazılır.Benzer olanlar kırmızı olarak işaretlenir
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
1,072
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Fomülle isterseniz

=EĞER(EĞERSAY(B:B;A1)>0;A1;"")
=EĞER(EĞERSAY(A:A;B1)>0;B1;"") tersi olan B dekini aramak
=EĞERHATA(DÜŞEYARA(B1;A:A;1;YANLIŞ); "")
 
Son düzenleme:

ogecen

Altın Üye
Katılım
31 Ağustos 2023
Mesajlar
300
Excel Vers. ve Dili
Türkçe Microsoft® Excel® Microsoft 365 için MSO 64 bit
Altın Üyelik Bitiş Tarihi
11-12-2026
Sn. Muhasebeciyiz,

Bu güzel çalışma için çok teşekkürler,
Aynı çalışmada sadece rakam değil, bir kelime veya tek bir hücrede hem kelime hem de rakamlar olacak şekilde yapılması mümkün mü?
Teşekkürler
 
Üst