Usar la función BUSCARV(VLOOKUP) de MS Excel con varios criterios.

sábado, abril 29, 2006

Por lo general usamos la función BUSCARV(VLOOKUP) de MS Excel con un criterio de búsqueda, es decir, la búsqueda se efectúa a lo largo de una única columna.
Pero existen situaciones en las cuales debemos efectuar la búsqueda en más de una columna.
En este
ejemplo del uso de BUSCARV con más de una columna de búsqueda (enlace para descargar el archivo), tenemos una tabla donde vemos las ventas de ciertos agentes por producto (una columna para cada producto):




En la celda B18 tenemos una fórmula que nos permite extraer las ventas de cada agente por producto

=BUSCARV(B16,$A$6:$D$13,COINCIDIR(B17,$B$5:$D$5,0)+1,0)




La fórmula combina las funciones BUSCARV (VLOOKUP) y COINCIDIR (MATCH). La función COINCIDIR le pasa a BUSCARV el valor del argumento "indicador de columnas", de acuerdo al valor presente en la celda B17 (aquí hemos utilizado validación de datos para generar una lista). La fórmula funciona de la siguiente manera:






Categorías: Funciones&Formulas_, LOOKUPS_

Technorati Tags: ,

28 comments:

Anónimo,  24 mayo, 2006 22:30  

..tengo una duda amigo, en este caso de buscarv con varios criterios. Tu le sumaste un "1". claro, coincide con que buscas en la segunda coluna, pero si quisieramos buscar de "producto c" la formula ya no serviría. Habria que modificarla gabiando ese "1" por un "2".. es lo mismo que omitir el coincidir. ¿estoy equivocado?

Manuel pesquero@gmail.com

Jorge L. Dunkelman 24 mayo, 2006 22:59  

No, no habria que cambiar nada en la formula y seguiria funcionando. COINCIDIR busca en que posicion en el rango de la funcion, ($B$5:$D$5) se encuentra el producto que buscamos (el que figura en la celda B17). Dado que el rango de COINCIDIR comienza en B5 y no en A5, debemos agregar el 1 para que nos de la posicion correcta.
Otra forma seria fijar el rango de busqueda de COINCIDIR a $A$5:$D$5. En este caso no haria falta agregar un 1.
Cualquier duda no dejes de preguntarme.

Azul 14 enero, 2007 23:29  

En el ejemplo has usado dos criterios, si se quisiera usar tres criterios o más, se puede usar buscarv o existe otra función.

Jorge L. Dunkelman 15 enero, 2007 06:50  

Hola,
será el tema de una futura nota.

Mauricio 11 septiembre, 2009 23:24  

hola te quería preguntar si sabes como dejar los rangos de la matriz de búsqueda variable, ya que tengo una matriz que varia su tamaño dependiendo el día.
de antemano muchas gracias

Mauricio 11 septiembre, 2009 23:26  

lo que dice azul, es posible, yo efectué un buscarv con 4 opciones mutando un poco la función que planteaste en este articulo

Jorge L. Dunkelman 13 septiembre, 2009 18:37  

Mauricio, puedes crear una rango variable (dinámico) usando la función DESREF, por ejemplo, como ya hemos mostrado en alguna nota de este blog.

ricardopfin 02 octubre, 2009 00:24  

Don Jorge ...no puedo bajar el archivo como ejercicio ...no encuentro la forma de validar los datos en la celda descrita
espero me pueda ayudar
Sllds

Jorge L. Dunkelman 02 octubre, 2009 06:45  

Ricardo, acabo de corregir el enlace en la nota.

Jota 17 noviembre, 2009 19:07  

Sr. Jorge primero felicitarlo por este blog y agradecerle por su disposición desinteresada en colaborar a los que no tenemos un manejo de Excel tan amplio!
Lo segundo es que el archivo de ejemplo para descargar no se encuentra disponible. Gracias!!!

Jorge L. Dunkelman 17 noviembre, 2009 20:55  

Jota,
estoy teniendo problemas con el sitio donde guardo los archivos. Momentáneamente puedes descargarlo de esta dirección.

muttley,  18 marzo, 2011 09:22  

hola jorge,
como se puede resolver el problema si en la tabla hay valores repetidos?

Anónimo,  25 junio, 2011 02:41  

Hola Jorge, quisiera saber a que correo te envio, un archivo similar a esta formula, pero busco algo diferente.

Javier198424,  25 junio, 2011 04:19  

La formula esta muy bien, pero yo busco algo parecido pero diferente. Te quisiera enviar un archivo para que lo vieras y me ayudaras en mi formula. saludos

Jorge L. Dunkelman 25 junio, 2011 06:40  

Fijate en el enlace Ayuda (en la parte superior del blog).

Jessica Fonseca 01 agosto, 2011 20:59  

Hola Jorge, te felicito por el blog está muy interesante, Quisiera saber si tienes alguna nota donde se explique como buscarv con tres criterios teniendo dos criterios en las columnas y uno en las filas. Agradezco la ayuda que puedas darme

Jorge L. Dunkelman 02 agosto, 2011 06:51  

No específicamente, pero ¿por qué usar BUSCARV? Creo que tendrías que definir primero el problema a resolver y luego encontrar la herramienta adecuada. Tal vez una tabla dinámica te de una solución mucho más eficiente.

Efecto W 04 agosto, 2011 19:22  

Hola buen dia, estoy usando la formula que sugeriste en un principio, pero no me funciona seguramente estoy haciendo algo mal.
Imagina que tengo un archivo de asistencia personal de excel texto plano, lo meto en una hoja y de ahi yo hago el reporte para la nomina, de busco por numero de empleado, me traigo el nombre con buscarv, y quiero traerme la hora de entrada y la hora de salida que esta en formato AHORA(), la cuestion es que no me trae la hora me manda #REF!.

Jorge L. Dunkelman 05 agosto, 2011 19:07  

El error #REF! significa que la fórmula se refiere a un rango inexistente o a una celda que contiene el error #REF!.
Este tipo de error suele suceder cuando copiamos una fórmula con referencias relativas y resultado es una celda inexistente (por ejemplo, una fórmula en la celda B1 que tiene una referencia a la celda A1, si la copiamos en otra hoja a la celda A10 convierte la referencia a A0, que obviamente no existe).

sebastian brieba 10 octubre, 2011 21:30  

si la tabla con los agentes y productos estuviera en otra hoja del excel como lo hago?

Jorge L. Dunkelman 11 octubre, 2011 19:47  

De la misma manera. El rango de la tabla puede estar en otra hoja e inclusive en otro cuaderno.

Anónimo,  11 noviembre, 2011 12:18  

Hola, tengo una duda.
Tengo una tabla con 1 columna con usuarios seguida de una columna con sus respectivos correos electrónicos.Luego tengo otra columna con usuarios y sus respectivos correos que teóricamente deberían ser los mismos que en las anteriores columnas.Necesitaría una fórmula para que mire los usuarios que están en ambas columnas de usuarios y revisar que los correos sean los mismo en ambas columnas.Gracias

Anónimo,  18 noviembre, 2011 19:57  

SAludos cordiales

Tengo una lista de valores con formato de minuto y segundos. Es un registro de tiempos de una carrera de 400 m, y de acuerdo a intervalos se asigna una calificación, correspondiente al tiempo empleado para recorrer esta distancia, a la hora de buscar el valor correspondientes (para cada alumno) en la matriz, me da un valor de error, cómo puedo resolver esto?

Jorge L. Dunkelman 19 noviembre, 2011 07:45  

¿Qué función estás usando para encontrar el valor correspondiente a cada alumno(BUSCARV, INDICE...)? ¿Qué error da (#VALOR!, #REF!...)?

Anónimo,  29 marzo, 2012 12:12  

Tengo un caso muy parecido a este con agentes, aunque no sean productos, es un tipo de informacion similar y que dice respecto a cada agente. Sigo los pasos que indica, pero no funciona...

Jorge L. Dunkelman 29 marzo, 2012 17:23  

Sin ver el ejemplo no hay mucho que pueda decirte...

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP