Veri karşılaştırma

Katılım
18 Ağustos 2017
Mesajlar
119
Excel Vers. ve Dili
excel.2013
Altın Üyelik Bitiş Tarihi
21/08/2022
Merhaba
Excelde düşey ara yapmaya çalışıyorum ancak karşılaştırılacak veriler arasında nokta ç .c.i.ı gibi farklılıklar var. Örneğin çözüm ltd ile cozum.ltd aynı ancak haklı olarak düşey ara eşleşmesi yapmıyor . Sorunun bir çözümü var mıdır? Desteğinizi rica ederim
Teşekkürler
 

Ekli dosyalar

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,368
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
firmaların vergi numarası var mı ?
varsa firma vergi numarasına göre düşeyara ile karşılaştırma yapılabilir
 
Katılım
18 Ağustos 2017
Mesajlar
119
Excel Vers. ve Dili
excel.2013
Altın Üyelik Bitiş Tarihi
21/08/2022
Malesef her iki sayfada yok tek sayfada var .
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
VBA lı çözüm, boşluk, Türkçe harf ve noktalamalarda eşitlik sağlar. Fazla ve eksik karakterde eşitlik kontrolü yapmaz.
kontrol ediniz.

C#:
Dim veri, veri2 As String

Sub ozelduseyara()
    Set sh1 = Sheets("Sayfa1")
    Set sh2 = Sheets("Sayfa2")
   
    sonsatir1 = sh1.UsedRange.Rows.Count
    For i1 = 1 To sonsatir1
        veri = sh1.Cells(i1, "A").Value
        veri = turkceharfyok(veri)
        veri = ozelsil(veri)
        sonsatir2 = sh2.UsedRange.Rows.Count
        buldu = False
        For i = 1 To sonsatir2
            veri2 = sh2.Cells(i, "A").Value
            veri2 = turkceharfyok(veri2)
            veri2 = ozelsil(veri2)
            If veri = veri2 Then
               buldu = True
               Exit For
            End If
        Next i
        If buldu Then sh1.Cells(i1, "B").Value = "Var" Else sh1.Cells(i1, "B").Value = "Yok"
    Next i1
End Sub

Function ozelsil(verisil) As String
    harfler = "abcdefghijklmnopqrstuvwxyz0123456789 "
    gec = ""
    For i12 = 1 To Len(verisil)
      harf = Mid(verisil, i12, 1)
      nerede = InStr(harfler, harf)
      If nerede = 0 Then
         gec = gec & " "
         GoTo atla
      Else
         gec = gec & harf
      End If
atla:
      Next i12
      ozelsil = Trim(Replace(Replace(gec, "  ", " "), vbLf, ""))
End Function

Function turkceharfyok(cumle) As String
gecici = ""
For i11 = 1 To Len(cumle)
    h = Mid(cumle, i11, 1)
    Select Case h
      Case "ğ": gecici = gecici + "g"
      Case "ü": gecici = gecici + "u"
      Case "ş": gecici = gecici + "s"
      Case "ç": gecici = gecici + "c"
      Case "ö": gecici = gecici + "o"
      Case "ı": gecici = gecici + "i"
      Case "i": gecici = gecici + "i"
      Case Else: gecici = gecici + LCase(h)
      End Select
Next i11
turkceharfyok = gecici
End Function
 
Katılım
18 Ağustos 2017
Mesajlar
119
Excel Vers. ve Dili
excel.2013
Altın Üyelik Bitiş Tarihi
21/08/2022
VBA lı çözüm, boşluk, Türkçe harf ve noktalamalarda eşitlik sağlar. Fazla ve eksik karakterde eşitlik kontrolü yapmaz.
kontrol ediniz.

C#:
Dim veri, veri2 As String

Sub ozelduseyara()
    Set sh1 = Sheets("Sayfa1")
    Set sh2 = Sheets("Sayfa2")
  
    sonsatir1 = sh1.UsedRange.Rows.Count
    For i1 = 1 To sonsatir1
        veri = sh1.Cells(i1, "A").Value
        veri = turkceharfyok(veri)
        veri = ozelsil(veri)
        sonsatir2 = sh2.UsedRange.Rows.Count
        buldu = False
        For i = 1 To sonsatir2
            veri2 = sh2.Cells(i, "A").Value
            veri2 = turkceharfyok(veri2)
            veri2 = ozelsil(veri2)
            If veri = veri2 Then
               buldu = True
               Exit For
            End If
        Next i
        If buldu Then sh1.Cells(i1, "B").Value = "Var" Else sh1.Cells(i1, "B").Value = "Yok"
    Next i1
End Sub

Function ozelsil(verisil) As String
    harfler = "abcdefghijklmnopqrstuvwxyz0123456789 "
    gec = ""
    For i12 = 1 To Len(verisil)
      harf = Mid(verisil, i12, 1)
      nerede = InStr(harfler, harf)
      If nerede = 0 Then
         gec = gec & " "
         GoTo atla
      Else
         gec = gec & harf
      End If
atla:
      Next i12
      ozelsil = Trim(Replace(Replace(gec, "  ", " "), vbLf, ""))
End Function

Function turkceharfyok(cumle) As String
gecici = ""
For i11 = 1 To Len(cumle)
    h = Mid(cumle, i11, 1)
    Select Case h
      Case "ğ": gecici = gecici + "g"
      Case "ü": gecici = gecici + "u"
      Case "ş": gecici = gecici + "s"
      Case "ç": gecici = gecici + "c"
      Case "ö": gecici = gecici + "o"
      Case "ı": gecici = gecici + "i"
      Case "i": gecici = gecici + "i"
      Case Else: gecici = gecici + LCase(h)
      End Select
Next i11
turkceharfyok = gecici
End Function
Merhaba ,
Başarılı şekilde çalıştı. Çok teşekkürler.
 
Katılım
18 Ağustos 2017
Mesajlar
119
Excel Vers. ve Dili
excel.2013
Altın Üyelik Bitiş Tarihi
21/08/2022
VBA lı çözüm, boşluk, Türkçe harf ve noktalamalarda eşitlik sağlar. Fazla ve eksik karakterde eşitlik kontrolü yapmaz.
kontrol ediniz.

C#:
Dim veri, veri2 As String

Sub ozelduseyara()
    Set sh1 = Sheets("Sayfa1")
    Set sh2 = Sheets("Sayfa2")
   
    sonsatir1 = sh1.UsedRange.Rows.Count
    For i1 = 1 To sonsatir1
        veri = sh1.Cells(i1, "A").Value
        veri = turkceharfyok(veri)
        veri = ozelsil(veri)
        sonsatir2 = sh2.UsedRange.Rows.Count
        buldu = False
        For i = 1 To sonsatir2
            veri2 = sh2.Cells(i, "A").Value
            veri2 = turkceharfyok(veri2)
            veri2 = ozelsil(veri2)
            If veri = veri2 Then
               buldu = True
               Exit For
            End If
        Next i
        If buldu Then sh1.Cells(i1, "B").Value = "Var" Else sh1.Cells(i1, "B").Value = "Yok"
    Next i1
End Sub

Function ozelsil(verisil) As String
    harfler = "abcdefghijklmnopqrstuvwxyz0123456789 "
    gec = ""
    For i12 = 1 To Len(verisil)
      harf = Mid(verisil, i12, 1)
      nerede = InStr(harfler, harf)
      If nerede = 0 Then
         gec = gec & " "
         GoTo atla
      Else
         gec = gec & harf
      End If
atla:
      Next i12
      ozelsil = Trim(Replace(Replace(gec, "  ", " "), vbLf, ""))
End Function

Function turkceharfyok(cumle) As String
gecici = ""
For i11 = 1 To Len(cumle)
    h = Mid(cumle, i11, 1)
    Select Case h
      Case "ğ": gecici = gecici + "g"
      Case "ü": gecici = gecici + "u"
      Case "ş": gecici = gecici + "s"
      Case "ç": gecici = gecici + "c"
      Case "ö": gecici = gecici + "o"
      Case "ı": gecici = gecici + "i"
      Case "i": gecici = gecici + "i"
      Case Else: gecici = gecici + LCase(h)
      End Select
Next i11
turkceharfyok = gecici
End Function
VBA lı çözüm, boşluk, Türkçe harf ve noktalamalarda eşitlik sağlar. Fazla ve eksik karakterde eşitlik kontrolü yapmaz.
kontrol ediniz.

C#:
Dim veri, veri2 As String

Sub ozelduseyara()
    Set sh1 = Sheets("Sayfa1")
    Set sh2 = Sheets("Sayfa2")
   
    sonsatir1 = sh1.UsedRange.Rows.Count
    For i1 = 1 To sonsatir1
        veri = sh1.Cells(i1, "A").Value
        veri = turkceharfyok(veri)
        veri = ozelsil(veri)
        sonsatir2 = sh2.UsedRange.Rows.Count
        buldu = False
        For i = 1 To sonsatir2
            veri2 = sh2.Cells(i, "A").Value
            veri2 = turkceharfyok(veri2)
            veri2 = ozelsil(veri2)
            If veri = veri2 Then
               buldu = True
               Exit For
            End If
        Next i
        If buldu Then sh1.Cells(i1, "B").Value = "Var" Else sh1.Cells(i1, "B").Value = "Yok"
    Next i1
End Sub

Function ozelsil(verisil) As String
    harfler = "abcdefghijklmnopqrstuvwxyz0123456789 "
    gec = ""
    For i12 = 1 To Len(verisil)
      harf = Mid(verisil, i12, 1)
      nerede = InStr(harfler, harf)
      If nerede = 0 Then
         gec = gec & " "
         GoTo atla
      Else
         gec = gec & harf
      End If
atla:
      Next i12
      ozelsil = Trim(Replace(Replace(gec, "  ", " "), vbLf, ""))
End Function

Function turkceharfyok(cumle) As String
gecici = ""
For i11 = 1 To Len(cumle)
    h = Mid(cumle, i11, 1)
    Select Case h
      Case "ğ": gecici = gecici + "g"
      Case "ü": gecici = gecici + "u"
      Case "ş": gecici = gecici + "s"
      Case "ç": gecici = gecici + "c"
      Case "ö": gecici = gecici + "o"
      Case "ı": gecici = gecici + "i"
      Case "i": gecici = gecici + "i"
      Case Else: gecici = gecici + LCase(h)
      End Select
Next i11
turkceharfyok = gecici
End Function
Tekrar merhaba karşılaştırma sonucu var yada yok olarak yazdı bu süper. Var yada yok yerine
diğer sayfadan aynı olanı firmayı yanına yazsa süper olur. Mümkün mü bilmiyorum ama yine diğer sayfadan firmanın yanı sıra firma numarasını getirebilir mi çok teşekkürler
 
Üst