Buscar un valor en base a un numero de factura en una celda compuesta por varias palabras y números

buen dia espero me puedan ayudar.

yo trabajo con facturas y proveedores y dia a dia los proveedores me envían el numero de factura y yo necesito buscar en una base de datos si esta se encuentra pagada. En si lo que quisiera es que al yo tener ese numero de factura (celda A1 ejemplo:456879) usar el numero para buscarla dentro de una base de datos en la cual los datos están pegados (ejemplo) (Celda B1 cmf15_345_mty 456879 ostd_asddw ) dichos datos se encuentran en una sola celda y yo necesito encontrar el numero de factura dentro de la base de datos para que me traiga el valor de la celda( C1:PAGADO)

EN RESUMEN TENGO EL NUMERO DE FACTURA 456879 Y EN LA BASE DE DATOS ESTA ACOMODADO ASI

CELDA B1 cmf15_345_mty 456879 ostd_asddw CELDA C1:PAGADO

NECESITO EL VALOR QUE DICE PAGADO

la base de datos tiene mas de 50000 celdas por lo que usar el control f seria muy tardado y la formula de buscarv no me encuentra debido a que lo que estoy buscando no se encuentra en una sola celda

ALGUNA IDEA QUERIDOS AMIGOS?

1 respuesta

Respuesta
1

Prueba con

=EXTRAE(INDICE(B:B;COINCIDIR(1;SIGNO(SI.ERROR(HALLAR("456879";B1:B50000);0));0));HALLAR(":";INDICE(B:B;COINCIDIR(1;SIGNO(SI.ERROR(HALLAR("456879";B1:B50000);0));0)))+1;99)

Se trata de una fórmula matricial, por lo que hay que introducirla pulsando mayúsculas control entrada al mismo tiempo.

Me temo que al ser 50.000 celdas Excel se tomará su tiempo para calcularla, pero creo que es la mejor solución, porque usando VBA no creo que se ganara tiempo de proceso, salvo que el dato buscado se encontrase al principio.

Quizás haya que sustituir los puntos y comas por comas.

Un favor amigo me podrías pasar la fórmula en inglés? Ya que mi excel se encuentra en dicho idioma para hacer la prueba muchas gracias por tu apoyo en verdad te lo agradezco mucho

=Mid(index(b:b, match(1, sign(iferror(search("456879", b1:b50000), 0)), 0)), search(":", index(b:b, match(1, sign(iferror(search("456879", b1:b50000), 0)), 0)))+1,99)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas