[vba]Код
Sub U_841()
Application.ScreenUpdating = 0
Columns("E:P").ClearContents 'и так сойдет
u_1 = Cells(Rows.Count, "a").End(xlUp).Row 'последняя строка столбца А
For Each c In Range("a2:a" & u_1) 'проходимся по столбцу А
u_2 = Application.Match(c.Value, Range("e:e"), 0) 'ищем из А в столбце Е
u_3 = Application.IsNumber(u_2) 'нащли?
If u_3 Then 'если нашли тогда:
u_4 = Range("e" & u_2).End(xlToRight).Column 'в найденой строке ищем последнюю ячейку
Cells(u_2, u_4 + 1) = c.Offset(0, 1) 'записываем в нее значение из столбца В
Else 'если не нашли
u_5 = Cells(Rows.Count, "e").End(xlUp).Row 'ищем последнюю строку столбца E
Range("e" & u_5 + 1) = c.Value 'записываем в нее значение из А
Range("f" & u_5 + 1) = c.Offset(0, 1) 'рядом из В
End If
Next
Application.ScreenUpdating = 1
End Sub
[/vba]макрос приклеил к стрелке