Я получаю данные со строкой для каждого заказанного товара на человека, который его заказал. Я пытаюсь объединить это в одну строку для человека и объединить заказанные товары
исходные данные в электронной таблице:
Глядя на ваш ответ... Макрос для объединения ячеек в столбце, если одинаковые строки объединены в другом столбце
У меня есть идея, что делать.
Я мог бы сначала попытаться объединить все имена в одну ячейку, а затем, у меня есть ситуация в том посте выше. Хотя я не уверен, как я могу это сделать. Если бы было условие if A1=A2, A1&'', это не совсем работает для меня прямо сейчас.
Так что любая помощь в этом вопросе будет полезна.
решение1
Сочетание UDF
& SUBSTITUTE
может решить проблему:
Как это работает:
- Вставить
0
в ячейкуI236
и формулу в ячейкуI237:
=IF(G236=G237,I236+1,0)
,заполните его.
- Либо нажмитеАlt+F11 илирлегко нажмитеСнажмите TAB и нажмитеВiew Код дляОручка VB Editor.
Скопия &пСохранить этот код VBA какМодуль.
Function SingleCellValue(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer, Char As String) Dim i As Long Dim xRet As String For i = 1 To LookupRange.Columns(1).Cells.Count If LookupRange.Cells(i, 1) = Lookupvalue Then If xRet = "" Then xRet = LookupRange.Cells(i, ColumnNumber) & Char Else xRet = xRet & "" & LookupRange.Cells(i, ColumnNumber) & Char End If End If Next SingleCellValue = Left(xRet, Len(xRet) - 1) End Function
Написать формулу в ячейке
H249:
=SingleCellValue(G249,G236:H246,2,",")
- Окончательная формула в ячейке
I249:
=SUBSTITUTE(H249, "Cust. Order,", "", 1)
Заполните формулу.
Примечание.
- Для большей аккуратности в дальнейшем вы можете скрыть значения в ячейке
H249:H251
. - При необходимости измените ссылки на ячейки в формуле.