Me topé con la problematica de hacer una busqueda que devolviera todos los casos detectados en base a 1 celda. El problema de BuscarV (Vlookup en ingles) es que solo devuelve el ultimo caso (o primer caso dependiendo de si uno coloca Verdadero o Falso). Cosa que no siempre sirve.
Para evitar este problema encontré la siguiente macro en internet que devuelve lo necesario.
Lookupval: celda con el valor a buscar
Lookuprange : 1 columna donde buscar el lookupval
Indexcol: numero de columna de donde sacar los datos. Ejemplo: lookuprange es F:F y si indexcol = 4 busca en la columna i
Function MYVLOOKUP(lookupval, lookuprange As Range, indexcol As Long) Dim r As Range Dim
result As String result = ""
For Each r In lookuprange
If r = lookupval Then
result = result & " " & r.Offset(0, indexcol - 1)
End If
Next r
MYVLOOKUP = result
End Function
Como nota, si se tiene una fuente de datos grande a buscar, se demora harto! En ese caso quizas sea mejor ocupar una celda de apoyo que contenga ambos campos a buscar como la “llave” del buscarv.
Fuente: mrexcel
Leave a Reply