Función me trae valores en duplicado

hola, tengo una duda; tengo la siguiente función:

=SI(ESERROR(BUSCARV($B$2;ASISTENCIA!B2:$O$150;2;0));"";BUSCARV($B$2;ASISTENCIA!B2:$O$150;2;0))

me trae los datos que estoy buscando, pero no se porqué, me los presenta en duplicado; salvo el primero, el primero viene bien, pero si hay más aparecen dobles...no entiendo..

Espero me puedan ayudar...le dí varias vueltas, pero además de marearme, no logré dar con la solución.

Muchas Gracias!!

Respuesta
1

Te explico lo que hace tu función para que notes dónde está el error:

Ej;: en fila 2: Busca el valor de B2 en otra hoja en un rango desde B2 hasta O150

Si arrastrás la fórmula, ahora en fila 3 busca el valor de B2 a partir del rango B3 hasta O150.

Es decir que estás dejando fija la celda de búsqueda (B2) cuando en realidad debieras dejar fija la del rango a buscar... quizás deba ser siempre: $B$2:$O$150

REvisalo y si queda resuelto no olvides finalizar la consulta.

Hola Elsa...muchas Gracias por contestarme.

Pero si yo hago eso de fijar el rango como dices, sólo me trae el primer valor que encuentra y siempre habrá más de uno que traer....

por otro lado, el valor B2 a buscar en otra hoja, es siempre el mismo, la misma celda..no va avanzando, por eso lo había dejado fijo...de la otra forma no me sale...

..no se porqué se repiten y porqué el primer valor que encuentra lo presenta sin duplicado...

...ojala me puedas orientar.

Muchas Gracias!

sabes, en verdad todos los datos vienen repetidos, 2 y más veces...

...quizás deba cambiar la fórmula o tal vez hacer un macro para la búsqueda...

en todo caso, espero tu sugerencia..

Gracias!!

¿Pero qué necesitas entonces?

- Que te traiga el dato encontrado sin repetir ..

- O que te traiga todos los datos que encuentre para un mismo B2, ¿es decir repetir los B2?

Quedo atenta a tus aclaraciones. Sdos!

Hola Elsa...

Lo que me gustaría que pasara es que, trajera todos los datos que son igual a b2...si hay 3, que traiga tres y no 6 ó más como muestra ahora (con los mismos 3 que son igual a b2)...

..me explique??...ojala, jajajja

Muchas Gracias!!!

Ahora sí ;)

Te dejo una macro, solo tenés que ajustar la primer celda donde devolverás el resultado... en mi ejemplo es C3

En el Editor de macros insertá un módulo y allí copiá esto:

Sub busquedaContinua()
'x Elsamatilde
'busca el valor de B2 en todas las apariciones en hoja Asistencia
dato = Range("B2")
'indico la 1er celda donde espero el resultado
Range("G3").Select
Set busco = Sheets("Asistencia").Range("B1:B150").Find(dato, LookIn:=xlValues, lookat:=xlWhole)
If busco Is Nothing Then MsgBox "Dato no encontrado": Exit Sub
'guardo la 1er fila encontrada
filx = busco.Row
'inicio un bucle
Do
'paso el dato de la col C a la celda activa (***)
ActiveCell.Value = busco.Offset(0, 1)
'paso a la fila sgte
ActiveCell.Offset(1, 0).Select
'repito la búsqueda
Set busco = Sheets("Asistencia").Range("B2:B150").FindNext(busco)
Loop While Not busco Is Nothing And busco.Row <> filx
MsgBox "fin de la búsqueda"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas