Aqui está uma versão que usa a função de pesquisa (versão sem distinção entre maiúsculas e minúsculas do find). A configuração é a seguinte.
Na planilha 1, os códigos a serem pesquisados começam na coluna A da Planilha 1. O resultado final estará na coluna B. As colunas C, D, etc. têm os códigos únicos organizados horizontalmente na linha 1, ou seja, " BK "em C1," R "em D2, etc. A maneira prática de conseguir isso é simplesmente copiar a lista de códigos na tabela de consulta e colar Transpose Special horizontalmente nas células C1, D1, etc.
Em seguida, primeiro na célula B2, digite a seguinte fórmula:
=IF(NOT(ISERROR(SEARCH(C$1,$A2))),VLOOKUP(C$1,Sheet2!$A$2:$B$4,2,0),"")
Copie essa fórmula nas linhas da coluna C para quantas colunas de código você Ceated na linha 2.
Finalmente, na célula C2, concatene todos os resultados da linha 2, ou seja, a fórmula
=D2&" "&E2&" "&F2
, etc., para todas as colunas com códigos na linha 1. Essa etapa é tediosa, mas pode ser encurtada com a seguinte função VBA, que permite que todas as células em um intervalo sejam concatenadas:
Function Concat(useThis As Range, Optional delim As String) As String
' this function will concatenate a range of cells and return the result as a single string
' useful when you have a large range of cells that you need to concatenate
' source: http://chandoo.org/wp/2008/05/28/how-to-add-a-range-of-cells-in-excel-concat/
Dim retVal As String, dlm As String, cell As Range
retVal = ""
If delim = Null Then
dlm = ""
Else
dlm = delim
End If
For Each cell In useThis
If CStr(cell.Value) <> "" And CStr(cell.Value) <> " " Then
retVal = retVal & CStr(cell.Value) & dlm
End If
Next
If dlm <> "" Then
retVal = Left(retVal, Len(retVal) - Len(dlm))
End If
Concat = retVal
End Function
Você poderia inserir e copiar essa função em um módulo no Developer VBA. O uso é simples - concat (C1: D1, ""), por exemplo.
Observe que essa abordagem funciona para todos os códigos de 2 caracteres e todos os códigos de 1 caractere, se eles não estiverem nos códigos de caractere 2+, ou seja, se não houver pares de código, como "R" e "BR" .