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.
 

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,677
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
Merhaba,

Örnek dosya ekler misiniz?
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,105
Excel Vers. ve Dili
office2010
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
 
Katılım
3 Temmuz 2021
Mesajlar
3
Excel Vers. ve Dili
Excel (for MAc) v. 16.50
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
 
Üst