Добрый день всем! Имеется два файла. В одном - код и номенклатура, во втором - аналогичный код и фамилия ответственного. Под одним кодом работает несколько человек и забито n-ое количество номенклатуры. Как объединить данную информацию, чтобы на выходе к каждому ФИО была подтянута вся номенклатура, которая есть под этим кодом? Собственно, пробовала сводные с добавочными столбцами и многоуровневый впр, но совсем не то, приходится создавать бесчисленное количество строк для вставки информации.
Во вложении пример и ожидаемый результат.
Прошу помощи!
Добрый день всем! Имеется два файла. В одном - код и номенклатура, во втором - аналогичный код и фамилия ответственного. Под одним кодом работает несколько человек и забито n-ое количество номенклатуры. Как объединить данную информацию, чтобы на выходе к каждому ФИО была подтянута вся номенклатура, которая есть под этим кодом? Собственно, пробовала сводные с добавочными столбцами и многоуровневый впр, но совсем не то, приходится создавать бесчисленное количество строк для вставки информации.
Вариант макросом. Подвешен на Ctrl+q. Особо не тестировал - данных маловато
[vba]
Код
Public Sub Fill()
Gr = 0
For i = 2 To 100000 If Cells(i, 1) = "группа" Then Gr = Gr + 1 If Gr = 1 Then j1 = i + 1 If Gr = 2 Then i1 = i + 1 End If If Cells(i, 1) = "" And Cells(i - 1, 1) <> "" Then If Gr = 1 Then j2 = i - 1 If Gr = 2 Then i2 = i - 1 Found = True Exit For End If End If Next i
If Not Found Then Exit Sub
Counter = i2 + 2
For i = i1 To i2 For j = j1 To j2 If Cells(j, 1).Value = Cells(i, 1).Value Then Counter = Counter + 1 Cells(Counter, 1).Value = Cells(i, 1).Value Cells(Counter, 2).Value = Cells(i, 2).Value Cells(Counter, 3).Value = Cells(j, 2).Value End If Next j Next i End Sub
[/vba]
Вариант макросом. Подвешен на Ctrl+q. Особо не тестировал - данных маловато
[vba]
Код
Public Sub Fill()
Gr = 0
For i = 2 To 100000 If Cells(i, 1) = "группа" Then Gr = Gr + 1 If Gr = 1 Then j1 = i + 1 If Gr = 2 Then i1 = i + 1 End If If Cells(i, 1) = "" And Cells(i - 1, 1) <> "" Then If Gr = 1 Then j2 = i - 1 If Gr = 2 Then i2 = i - 1 Found = True Exit For End If End If Next i
If Not Found Then Exit Sub
Counter = i2 + 2
For i = i1 To i2 For j = j1 To j2 If Cells(j, 1).Value = Cells(i, 1).Value Then Counter = Counter + 1 Cells(Counter, 1).Value = Cells(i, 1).Value Cells(Counter, 2).Value = Cells(i, 2).Value Cells(Counter, 3).Value = Cells(j, 2).Value End If Next j Next i End Sub
Вам нужно не полное соединение двух таблиц. В конкретном случае внешнее справа [p.s.]и не обязательно таблицы еще раз выгружать в книгу, достаточно сохранить их как подключение
Вам нужно не полное соединение двух таблиц. В конкретном случае внешнее справа [p.s.]и не обязательно таблицы еще раз выгружать в книгу, достаточно сохранить их как подключениеsboy