Ayuda con implementación de función de excel que busque en columnas y devuelva lo escrito en filas

Hola, tengo que resolver esto ya!jaja, me explico, allá vamos:
Necesito una función que busque un valor en una columna y me devuelva lo que tengo escrito en las filas en las que coincida dicho valor. Caso personal:
Tengo asignado un código a cada responsable de obra. Así sólo tengo que cambiar ese código a cada herramienta, es decir, si Pepito López tiene asignado el código 699224-01, se lo escribo a cada herramienta que tiene. Al filtrar los códigos, me sale la herramienta agrupada. Cuando esa herramienta cambia de responsable, sólo tengo que asignarle el código que le corresponde según el nuevo responsable.
Ahora lo que quiero hacer desde otra hoja es tener un formato de impresión de listados de herramienta. Así, cuando yo escriba el código de responsable, quiero que me aparezca el listado de herramienta (omitiendo algunos datos que no les interesan) que corresponde a dicho responsable.
Si yo escribo en una celda 699224-01 necesito que busque ese valor que coincida en la columna A y me devuelva los valores de la columna B que me coincidan con el valor buscado en dicha fila, es decir MHE-035 para fila 1, ESL-1000 para fila 2.
               A B
1 699224-01 MHE-035
2 699224-01 ESL-1000
3 699225-05 D-967
Gracias de antemano y a ver si es posible.

1 respuesta

Respuesta
1
Debes utilizar la función buscarv
=BUSCARV(celdaConCodigo,otrahoja!$A$1:$B$3,2,FALSO)
Esto buscará el código (celdaConCodigo) y el rango que pusiste de ejemplo y cuando lo encuentre traerá el valor de la segunda columna. El FALSO final es para indicarle que si no lo encuentra te de error
Gracias. Ya había probado con este método, pero me salen dudas. ¿Consigo qué me devuelva sólo un valor MHE-035 pero cómo puedo hacer para que me devuelva también ESL-1000 en otra fila? Y así sucesivamente si hubiese más que coincidiesen con el código asignado.
Gracias por el interés.
Ok, eso no te lo da la función anterior; si sabés algo de macros, te pido que pegues el siguiente código en un modulo
Function buscarEnesimo(stCriterio As String, rLista As Range, Col As Integer, n As Integer)
'Funciona como el Buscarv solo que devuelve el eNesimo elemento
'que cumple la condicion y se
'desplaza Col columnas hacia la derecha (negativo para la
'izquierda y cero la columna actual)
Dim rCiclo As Range, i As Integer
i = 0
For Each rCiclo In rLista
If rCiclo.Value = stCriterio Then
i = i + 1
If i = n Then
buscarEnesimo = rCiclo.Offset(0, Col)
Set rCiclo = Nothing
Exit Function
End If
End If
Next rCiclo
Set rCiclo = Nothing
buscarEnesimo = ""
End Function
Donde
StCriterio: es lo mismo que el código de buscarv
rLista: el rango de buscarv
Col: el mismo de buscarv
n: Cual querés encontrar (acá está el cambio; 1 para el primero, 2 para el segundo, etc...)
Buenas. Gracias por el interés pero a mi me sacas de fórmulas y na de na. Macros las únicas que sé utilizar son las de pasar a Mayúsculas o a Minúsculas y con esta no doy hecho. Otra vez mil gracias y un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas