• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Eşleştirme yapmak. Yoksa Boş bırakmak

Katılım
5 Nisan 2020
Mesajlar
43
Excel Vers. ve Dili
excel2010 TR
merhabalar
hali hazırda bir isim sütunum var<A>sütunu. ve aynı isimlerden oluşan bir isim listesi daha <B sütunu>. ama bu listede digerine göre eksik isimler var. Yapmak istedigim iki listedeki isimleri yan yana getirmek. eger a sütununda bir isim var ama b sütununda yoksa a daki isimin yanını boş bıraksın...
Örnek:
Asütunu Bsütunu
ali ali
veli veli
ayşe
kerim kerim
görüldügü üzere b sütununda ayşe ismi olmadıgından orayı boş bıraktı. Bunu nasıl yapabilirim. Çok Çok teşekkür ederim şimdiden
 
düşeyara kullanılcaksa eger yazamadım yardımcı olursanız sevinirim
 
Kodla yaparım derseniz, gerekli açıklama kod içinde mevcut.
C++:
Sub Eşleştir()
Dim Dizi() As String
Dim Alan As Range
    ilk = 1 ' A sütununda isimler hangi satırdan başlıyorsa =1 yerine o satır numarasını girin
    Son = Range("A" & ilk).End(xlDown).Row
    Set Alan = Range("B" & ilk, "B" & Range("B" & ilk).End(xlDown).Row)
    ReDim Dizi(Son - ilk)
        For i = ilk To Son
            Sonuc = Application.Match(Range("A" & i), Alan, 0)
            If IsError(Sonuc) Then
                Dizi(i - ilk) = ""
            Else
                Dizi(i - ilk) = Range("B" & Sonuc + ilk - 1)
            End If
        Next i
        For i = 0 To UBound(Dizi)
            Range("B" & i + ilk) = Dizi(i)
        Next i
End Sub
 
Kodla yaparım derseniz, gerekli açıklama kod içinde mevcut.
C++:
Sub Eşleştir()
Dim Dizi() As String
Dim Alan As Range
    ilk = 1 ' A sütununda isimler hangi satırdan başlıyorsa =1 yerine o satır numarasını girin
    Son = Range("A" & ilk).End(xlDown).Row
    Set Alan = Range("B" & ilk, "B" & Range("B" & ilk).End(xlDown).Row)
    ReDim Dizi(Son - ilk)
        For i = ilk To Son
            Sonuc = Application.Match(Range("A" & i), Alan, 0)
            If IsError(Sonuc) Then
                Dizi(i - ilk) = ""
            Else
                Dizi(i - ilk) = Range("B" & Sonuc + ilk - 1)
            End If
        Next i
        For i = 0 To UBound(Dizi)
            Range("B" & i + ilk) = Dizi(i)
        Next i
End Sub
çok teşekkür ederim
 
Kodla yaparım derseniz, gerekli açıklama kod içinde mevcut.
C++:
Sub Eşleştir()
Dim Dizi() As String
Dim Alan As Range
    ilk = 1 ' A sütununda isimler hangi satırdan başlıyorsa =1 yerine o satır numarasını girin
    Son = Range("A" & ilk).End(xlDown).Row
    Set Alan = Range("B" & ilk, "B" & Range("B" & ilk).End(xlDown).Row)
    ReDim Dizi(Son - ilk)
        For i = ilk To Son
            Sonuc = Application.Match(Range("A" & i), Alan, 0)
            If IsError(Sonuc) Then
                Dizi(i - ilk) = ""
            Else
                Dizi(i - ilk) = Range("B" & Sonuc + ilk - 1)
            End If
        Next i
        For i = 0 To UBound(Dizi)
            Range("B" & i + ilk) = Dizi(i)
        Next i
End Sub

Kodla yaparım derseniz, gerekli açıklama kod içinde mevcut.
C++:
Sub Eşleştir()
Dim Dizi() As String
Dim Alan As Range
    ilk = 1 ' A sütununda isimler hangi satırdan başlıyorsa =1 yerine o satır numarasını girin
    Son = Range("A" & ilk).End(xlDown).Row
    Set Alan = Range("B" & ilk, "B" & Range("B" & ilk).End(xlDown).Row)

    ReDim Dizi(Son - ilk)
        For i = ilk To Son
            Sonuc = Application.Match(Range("A" & i), Alan, 0)
            If IsError(Sonuc) Then
                Dizi(i - ilk) = ""
            Else
                Dizi(i - ilk) = Range("B" & Sonuc + ilk - 1)
            End If
        Next i
        For i = 0 To UBound(Dizi)
            Range("B" & i + ilk) = Dizi(i)
        Next i
End Sub

Arkadaşlar Merhaba; bu kodla karşılıklı sütunlar analiz ediliyor süper! Acaba 2'şer sütunlu (yani A sütununda isim B sütununda Soy isim ve C ve D sütunlarında da karşılaştırılacak veriler olsa kodda nasıl bir değişiklik olurdu?
Yani:
A sütunu B sütunu/ C sütunu D sütunu
Ali Ayaz Ali Coşkun
C ve D sütununa aynı ise yazsın yoksa boş bıraksın
 
Geri
Üst