Сопоставление значений в одном столбце с разделенными запятыми значениями в другом столбце и возвращение соответствующего значения - PullRequest
0 голосов
/ 11 марта 2020

У меня есть один столбец со значениями, такими как

himaanshu
akshay
rahul
hgeet

И другой столбец со значениями, такими как

axs,fdvf,dasad
axs,fdvf,dasad, himaanshu
axs,fdvf,dasad, akshay
asz,wesd,hgeet

Мне нужно вернуть совпадающее имя для каждой строки в столбце 2 из всего списка столбца 1

Решение должно быть:

 1. None
 2. himaanshu
 3. akshay
 4. hgeet

Может кто-нибудь помочь мне с формулой, которую я могу использовать в электронной таблице, чтобы решить эту проблему.

Ответы [ 3 ]

2 голосов
/ 11 марта 2020

Попробуйте следующее:

Sub test()

    Dim str1 As String
    Dim rngToSearch As Range, cell As Range
    Dim LastRowA As Long, LastrowC As Long, i As Long, y As Long
    Dim arr As Variant

    With ThisWorkbook.Worksheets("Sheet1")

        LastRowA = .Cells(.Rows.Count, "A").End(xlUp).Row
        LastrowC = .Cells(.Rows.Count, "C").End(xlUp).Row

        Set rngToSearch = .Range("C2:C" & LastrowC)

        For i = 2 To LastRowA

            str1 = .Range("A" & i).Value

            For Each cell In rngToSearch

                arr = Split(cell.Value, ",")

                For y = LBound(arr) To UBound(arr)

                    If Trim(arr(y)) = Trim(str1) Then
                        .Range("B" & i).Value = str1
                    End If

                Next y

            Next cell

        Next i

    End With

End Sub

Результаты:

enter image description here

1 голос
/ 11 марта 2020

Проверьте, работает ли эта формула (в электронной таблице Google)

=ArrayFormula(iferror(REGEXEXTRACT(C2:C5, textjoin("|", 1, A2:A5)), "none"))

Формула извлекает любое из значений в столбце A из значений в столбце C

[Example[1]

0 голосов
/ 11 марта 2020

=VLOOKUP("*"&A1&"*", B1:B4,1,0)

...