Я не верю, что есть способ сделать поиск, который вы ищете, без макроса. Я могу ошибаться, но если нет, вот пользовательская функция для вас.
Эта вещь, кажется, работает без какой-либо предварительной обработки. Вы бы использовали его как таковой:
В ячейке рядом с 1 формула будет
=ReverseTrace(A10,$B$1:$B$7,-1)
Предполагая, что:
- A10 - это местоположение "1" (значение, которое вы ищите)
- $ B $ 1:$ B $ 7 - это местоположение вашего списка товаров (от 1, 2, 3 до 2, 4)
- -1 - смещение от столбца этого списка $ B $ 1:$ B $ 7, который вы хотите запросить
Следовательно, рядом с 2 будет = ReverseTrace(A11, $ B $ 1:$ B $ 7, -1)
Function ReverseTrace(varValue As Variant, lookupRange As Range, intTraceOffset As Integer)
Dim rngCell As Range
For Each rngCell In lookupRange
If InStr(1, CStr(rngCell.value), CStr(varValue)) > 0 Then
If Len(ReverseTrace) > 0 Then
ReverseTrace = ReverseTrace & ", " & rngCell.Offset(0, intTraceOffset)
Else
ReverseTrace = rngCell.Offset(0, intTraceOffset)
End If
End If
Next
End Function