Actualización: Agregar Vba
Si la suposición clave n. ° 1 a continuación no es de su agrado, puede probar este fragmento de código.
Function lookupStringCodes(lookupValue As Range, lookupRange As Range, lookupResult As Range)
Dim commaSepVals() As String
commaSepVals = Split(CStr(lookupValue.Value), ",")
Dim output As String
output = vbNullString
For i = LBound(commaSepVals) To UBound(commaSepVals)
commaSepVals(i) = Replace(commaSepVals(i), " ", "")
Next
Dim sep As String
sep = ", "
For j = LBound(commaSepVals) To UBound(commaSepVals)
output = output & _
Application.WorksheetFunction.Index(lookupResult, _
Application.WorksheetFunction.Match(CStr(commaSepVals(j)), lookupRange, 0))
If j < UBound(commaSepVals) Then
output = output & sep
End If
Next
lookupStringCodes = output
End Function
A lo que puedes llamar así:
Respuesta original: Función de hoja de trabajo
Supuestos clave:
- Solo tiene 3 enteros como en su ejemplo, que van desde 1 ... n (si esto no es cierto y puede tener más de 3 enteros, es mucho más fácil resolver esto usando VBA a menos que desee dividir este texto en columnas)
- Quiere que esto se haga en una fórmula, en lugar de usar texto en columnas
Intenta lo siguiente:
=VLOOKUP(LEFT(A2,(FIND(",",A2,1)-1)), G$2:H$11, 2, FALSE) & ", " & VLOOKUP(LEFT(TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),100,100)), LEN(TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),100,100)))-1), G$2:H$11, 2, FALSE) & ", "& VLOOKUP(TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))),LEN(A2))), G$2:H$11, 2, FALSE)
Formateado para ser más fácil de leer:
=VLOOKUP(LEFT(A2,(FIND(",",A2,1)-1)), G$2:H$11, 2, FALSE) & ", " &
VLOOKUP(LEFT(TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),100,100)),
LEN(TRIM(MID(SUBSTITUTE(A2," ",REPT(" ", 100)),100,100)))-1), G$2:H$11, 2, FALSE) & ", "&
VLOOKUP(TRIM(RIGHT(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))),LEN(A2))), G$2:H$11, 2, FALSE)
Básicamente: tome el texto a la izquierda de la primera coma, búsquelo en su tabla de búsqueda. Luego, tome el texto entre el primer espacio y la segunda coma, búsquelo en su tabla de búsqueda. Finalmente, tome el texto a la derecha del último espacio, búsquelo en su tabla de búsqueda.
Reemplace G2: H11 con su tabla de búsqueda. Reemplace A2 con su valor inicial.