VBA с разделителями-запятыми - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь использовать формулу или VBA для поиска значений в столбце J, связанных с одним и тем же идентификационным номером, и помещать их в любые значения, начинающиеся с «Мастер» в столбце А, разделенные запятыми.

В приведенном ниже примере я хотел бы, чтобы ячейка J2 возвращала "D, G, R, N", и если есть какие-либо дубликаты, чтобы они были перечислены только один раз.Значения в столбце J в настоящее время ищут значения из другого списка по формуле:

=IFERROR(IF(ISNUMBER(MATCH(M2,Sheet1!$J:$J,0)),"N", 
IF(ISNUMBER(MATCH(M2,Sheet1!$K:$K,0)),"D", 
IF(ISNUMBER(MATCH(M2,Sheet1!$L:$L,0)),"R", 
IF(ISNUMBER(MATCH(M2,Sheet1!$M:$M,0)),"G", 
IF(ISNUMBER(MATCH(M2,Sheet1!$N:$N,0)),"F",""))))), "")

Master Image

1 Ответ

0 голосов
/ 18 декабря 2018

Вы можете использовать этот UDF.Поскольку вы ищете формулу , поместите это в пустые ячейки в столбце J.

=get_areas(C2)

Затем добавьте это в модуль рабочей книги:

Function get_areas(ID As String) As String
Dim rng As Range, cel As Range

Set rng = Range("A2:A" & Cells(rows.count,1).End(xlUp).Row)

Dim areas As String
For Each cel In rng
    If IsNumeric(Left(cel, 1)) And cel.Offset(0, 2) = ID Then
        If InStr(1, areas, cel.Offset(0, 9)) = 0 Then
            areas = cel.Offset(0, 9) & ", " & areas
        End If
    End If
Next cel

areas = Trim(Left(areas, Len(areas) - 2))
get_areas = areas
End Function

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...