Собственные формулы рабочего листа Excel не обрабатывают объединение неизвестного количества строк вместе и компенсация максимального возможного числа может стать беспорядочной. Пользовательская функция¹ (aka UDF) использует возможность VBA обрабатывать циклы через большое количество строк при выполнении численных или строковых сравнений и конкатенаций.
Мне было трудно понять ваши данные; кажется, вы произвольно меняете 506 на 541468 и подразумеваете, что данные sku должны были иметь те же замены, что и сделанные вами скриншоты. Для более универсального решения, я просто рассмотреть E13: F13, чтобы быть 506, а не 541468.
build_SKU_List UDF ¹
Function build_SKU_List(sku As Variant, parent_sku As Range, skus As Range, _
Optional delim As String = ", ")
Dim str As String, rw As Long
With skus.Parent
Set skus = .Cells(parent_sku.Rows(1).Row, skus.Column). _
Resize(parent_sku.Rows.Count, skus.Columns.Count)
End With
For rw = Application.Match(sku, parent_sku, 0) _
To Application.Match(sku, parent_sku) - 1
str = str & skus(rw) & delim
Next rw
build_SKU_List = Left(str, Len(str) - Len(delim))
End Function
В G2 ваших выборок данных в качестве,
=IF(E2=F2, build_SKU_List(E2,E:E,F:F), "")
Override по умолчанию < зап. > < пробел > разделитель при желании. Результаты должны быть похожи на следующие.
build_SKU_List на колонке G: G
¹ опред.польз.имя Функция (иначе ОДС) помещают в стандартный модуль кода листа.Нажмите Alt + F11 и при открытии VBE, немедленно использовать выпадающее меню для Вставка ► Модуль (Alt + I, M). Вставьте код функции в новый код модуля, обозначенный как-то вроде Book1 - Module1 (Code). Нажмите Alt + Q, чтобы вернуться на рабочий лист (ы).
Что сделал редактирование, я не вижу ссылок/изображений. Есть ли несколько ячеек в одной ячейке? или у parent_sku в E1 есть один связанный_sku в F1? Вы выщипываете несколько skus из одной ячейки, чтобы вернуть ее в ячейку в столбце G? –
Тревор, вы видите изображения сейчас? – Joeymetro
Без VBA? Вы будете использовать множество '&' операторов, как в предлагаемом решении @ klma7lwa. Обычно это делается с VBA. Например: http://www.excelforum.com/tips-and-tutorials/860240-concatall-udf-by-tigeravatar.html – tigeravatar