Buscarv con doble condición

Hola tengo la siguiente inquietud:
En la hoja1 tengo una plantilla que genera ordenes de compra y en la hoja2 tengo una base de datos de la cual salen los datos de las ordenes así:
        A                        B                     C                     D                      E                F               1  Provedor       Tipo producto   Producto       CONCATENAR          U/M     Precio Unitario
2  juan perez          frutas       mango tommy  =C2&"*"&A2            kg            $500
3  gonzalo g.        abarrotes       lenteja          =C3&"*"&A3            kg            $600
4  leo toloza            frutas       mango biche    =C4&"*"&A3            kg            $450
5  maria lenis         lacteos       leche fresca     =C5&"*"&A5            lt             $700             6  juan perez          frutas       mango biche     =C6&"*"&A6            kg           $500
En la primera hoja tengo una celda (B1) con una lista desplegable de todos los proveedores así:
                    A B
1 Seleccione el proveedor: juan perez
También tengo la tabla de la Orden de Compra así:
         A B C D E
3 Cantidad U/M  Detalle P. Unitario Total
4       2            KG     mango biche      (FORMULA)   =(A4*D4)
5       3            KG     mango tommy   (FORMULA)   =(A5*D5)
Necesito una fórmula que me traiga automáticamente el precio unitario del producto con solo escribir el nombre del detalle pero validando que corresponde al Proveedor Seleccionado en la lista, yo estoy manejando esta fórmula:
=SI.ERROR(BUSCARV(D17&"*"&B9;BD_Productos!$D$2:$F$132;3;FALSO);"")
Resulta que tengo proveedores que manejan el mismo producto con precios distintos o productos que comienzan con la primera palabra por ejemplo: (tomate y tomate cherry)
Siempre me valida tomate, o toma, o tom. Necesito que valide la palabra completa, todos los caracteres que hay en la celda. Y el proveedor, que sea exacto.
Espero haberme hecho entender...
Espero una pronta respuesta
Gracias.

1 respuesta

Respuesta
1
Entiendo tu problema, pero una pregunta, ¿por qué en la fórmula no pones directamente la celda de la lista desplegable donde esta el proveedor (B1) y la celda donde esta el detalle(C4)?... pues en lugar de esto pones la celda D17 y B9, ¿qué es lo que tienes en estas celdas?.
Si lo que buscas esta concatenado en el archivo BD_Productos, porque no poner directamente las celdas que se involucran directamente con las condiciones de la búsqueda (B1 y C4 por ejemplo).
Yo probé tu fórmula con las condiciones que te menciono y funciona correctamente.
celda D4 = SI.ERROR(BUSCARV(B1&"*"&C4;BD_Productos!$D$2:$F$132;3;FALSO);"")
¿O entendí mal el problema?... si es así me puedes mandar tu archivo a [email protected]
Te voy a enviar el archivo ya mismo!
Por favor dejame saber si te llego el e-mail
Que ondas!...
Ya lo revise, lo que pasa es que para buscarv usas * como enlace para tus dos palabras (detalle y proveedor), y el problema es que * es un comodín de búsqueda.
Te explico, si tu pones un * entre dos palabras y luego das la orden de buscar, excel te buscara todas las palabras que contengan las primeras letras antes del * y las ultimas letras después del *... es por eso que siempre te validaba to, toma etc. y después el proveedor en la misma palabra.
¿Simplemente tienes que cambiar el * por otro signo que no sea * o? (Hay otro pero no recuerdo cual es)... puedes poner por ejemplo un guion.
Te mando por correo el archivo corregido... ah por cierto en la celda D72 tienes un error pues concatenas C72 con E71.
La fórmula seria:
=SI.ERROR(BUSCARV(D17&"-"&$B$9;BD_Productos!$D$2:$F$132;3;FALSO);"")
y cambiando todos los datos de la col. D de la Hoja BD_Productos a la formula:
=C2&"-"&A2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas