Я пытаюсь найти уникальный идентификатор (номер продукта), который хранится в нескольких разных местах на складе. Например:
__A__ __B__ __C__
1 Item # Warehouse Description
2 ABCD-0001 WHSE 1 Red Label
3 ABCD-0001 WHSE 3 Red Label
4 QRST-0005 WHSE 2 2" Pipe
5 QRST-0005 WHSE 1 2" Pipe
6 LMNO-0002 WHSE 4 6" Pipe
7 LMNO-0002 WHSE 2 6" Pipe
И я хочу, чтобы моя формула поиска перечисляла мои результаты как таковые:
__A__ __B__ __C__
1 ITEM WAREHOUSE Description
2 ABCD-0001 WHSE 1, WHSE 3 RED LABEL
3 QRST-0005 WHSE 2, WHSE 1 2" Pipe
4 LMNO-0002 WHSE 4, WHSE 2 6" Pipe
Все функции, которые я видел (INDEX-MATCH, VLOOKUP), могут отображать результаты только по вертикали в разных ячейках. Я хотел бы перечислить склады в одной камере, разделенные запятой.
Я попытался создать пользовательскую функцию в VBA, которую я видел в другом посте на этом сайте. Тем не менее, я продолжал получать ошибку #VALUE. Я считаю, что это связано с надписью в моем примере, где тот, который я видел, содержал только цифры.
Любые и все предложения будут оценены.
Функция, которую я использовал изначально, была найдена у пользователя BryanC. Это выглядело так:
Public Function mylookup(inputrange As Range, match As Range) As String
Dim arr() As Variant
Dim d As Object
Dim result As String
Dim i As Integer
Dim v As Variant
Set d = CreateObject("Scripting.Dictionary")
arr() = inputrange.Value
For i = 1 To UBound(arr)
If arr(i, 1) = match Then
d(arr(i, 2)) = 1
End If
Next i
For Each v In d.Keys()
result = result & v & ","
Next v
result = Left(result, Len(result) - 1)
mylookup = result
End Function
Вполне возможно, что у меня правильно написана функция на VBA, а затем я неправильно выполняю формулу. Для этого пользователь предложил = mylookup(A1:A7, B2)