• DİKKAT

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

Soru Her satırda birden fazla veri olan bir sütunu başka bir sütunla karşılaştırma

Katılım
3 Temmuz 2021
Mesajlar
3
Excel Vers. ve Dili
Excel (for MAc) v. 16.50
Merhaba, elimde her satırda tek bir veri olan bir liste (sütun) var. Bir de hem bu verileri hem de başka değerleri içeren başka bir sütun var ve bu sütun, her satırda virgülle ayrılmış farklı değerler içeriyor. Listedeki verileri, bu sütundaki verilerle karşılaştırıp, eğer satırlar listedeki değerler dışında veri içeriyorsa her satırın karşısına "Int", eğer listedekinden farklı bir değer içermiyorsa "TR" şeklinde etiketler eklemek istiyorum. Bunu nasıl yapabilirim? Teşekkürler.
 
Merhaba,

Örnek dosya ekler misiniz?
 
Makro olarak isterseniz kod.

Kod:
Sub test()
Set dc = CreateObject("scripting.dictionary")

a = Range("F2:F" & Cells(Rows.Count, "F").End(3).Row).Value

For i = 1 To UBound(a)
    dc(a(i, 1)) = ""
Next i

'b = Range("B2:B" & Cells(Rows.Count, "B").End(3).Row).Value

b = Range("B2:B15").Value
ReDim v(1 To UBound(b), 1 To 1)
For i = 1 To UBound(b)
    If b(i, 1) <> "" Then
        k = Split(b(i, 1), ",")
        For j = 0 To UBound(k)
            If Not dc.exists(k(j)) Then
                s = "int"
                If s = "int" Then GoTo aa
            Else
                s = "TR"
            End If
        Next j
aa:     v(i, 1) = s
End If
Next i
[C2].Resize(UBound(b)) = v
MsgBox "İşlem bitti...", vbInformation
End Sub
 
Harika, çok çok teşekkür ederim, elinize sağlık.


Makro olarak isterseniz kod.

Kod:
Sub test()
Set dc = CreateObject("scripting.dictionary")

a = Range("F2:F" & Cells(Rows.Count, "F").End(3).Row).Value

For i = 1 To UBound(a)
    dc(a(i, 1)) = ""
Next i

'b = Range("B2:B" & Cells(Rows.Count, "B").End(3).Row).Value

b = Range("B2:B15").Value
ReDim v(1 To UBound(b), 1 To 1)
For i = 1 To UBound(b)
    If b(i, 1) <> "" Then
        k = Split(b(i, 1), ",")
        For j = 0 To UBound(k)
            If Not dc.exists(k(j)) Then
                s = "int"
                If s = "int" Then GoTo aa
            Else
                s = "TR"
            End If
        Next j
aa:     v(i, 1) = s
End If
Next i
[C2].Resize(UBound(b)) = v
MsgBox "İşlem bitti...", vbInformation
End Sub
 
Geri
Üst