Buscar en varias columnas con Excel. Donde no llega la función BUSCARV…

Excel es sin duda alguna un gran programa y aunque, como es mi caso, lleves mucho tiempo trabajando con él, siempre encuentras cosas que aprender e investigar. Lo mejor de Excel es que siempre puedes aprender algo.

No sé si me equivoco, pero tengo la impresión de que en general las fórmulas matriciales son unas grandes desconocidas. Y sin embargo estoy convencidísima de su gran utilidad. Puede que tengan algún inconveniente (quizá consuman muchos recursos, es cierto), pero en la “dosis” justa, seguro que podemos obtener un rendimiento óptimo de nuestras hojas.

Ya hemos dedicado algún que otro post a la función BUSCARV (*), una de las más útiles que tiene Excel, sin duda. El caso es que BUSCARV tiene algunas limitaciones, y probablemente las más importantes es que sólo permite buscar en la primera columna de la tabla de datos. Es extremadamente útil cuando esta posición es ocupada por datos únicos y de los cuales sabemos a ciencia cierta que no se van a dar repetidos (ejemplos típicos podrían ser el DNI, el número de las facturas, el código de artículo), que identifican de manera única el registro.

¿Qué pasa entonces si en nuestro caso tenemos registros que no hay manera de identificar como hemos descrito anteriormente? Imaginemos que tenemos la siguiente tabla de productos y, por los motivos que sean,  no podemos modificar su estructura:

Sigue leyendo

Vamos a combinar BuscarV y Coincidir para extraer datos en una columna que puede ser variable

Ya en anteriores entradas hemos hablado de la utilidad de la función BuscarV. Te recuerdo que permite buscar valores en la primera columna de una tabla de datos y extraer el dato de dicha fila, situado en el número de columna que digamos. La sintaxis es la siguiente:

BuscarV(valorBuscado;tabla;columna;tipo)

Si no lo recuerdas, te remito a la entrada correspondiente, haz clic aquí.

Nos vamos a centrar ahora en el tercer argumento. Es el que indicaría el número de columna en que está situado el dato que queremos extraer, dentro de la tabla. Normalmente escribiremos eso, un número, pero un número fijo, 3, 4 o 5, etc.

Sigue leyendo

BuscarV en varias hojas y en varios libros

Ya en alguna ocasión hemos hablado de la utilidad de la función BuscarV de Excel para buscar y extraer datos en una tabla (puedes mirar cómo es aquí, en este post). Casi con toda seguridad, si manejas de manera habitual muchos datos, habrás tenido ocasión de usarla y la conoces. Si no es así, desde luego te animo a que lo hagas, estoy segura de que no lo lamentarás y no es nada complicada.

Como probablemente sepas, la función BuscarV encuentra un valor en la primera columna de una tabla y extrae el dato que le digas de esa misma línea. Hoy vamos ir un poco más lejos y  suponer que por la circunstancia  que sea, tienes los datos de tu tabla distribuidos en varias hojas. A lo mejor no es lo más frecuente, pero se podría dar.

Sigue leyendo

La función Buscarv

Probablemente sea una de las funciones más útiles de Excel. Nos puede ayudar a extraer datos de una tabla o lista de datos de forma muy rápida. Buscav es no es nada complicada de usar. Y aunque tiene varios argumentos, una vez se comprenden éstos, resulta bastante sencilla.
La sintaxis general de la función es como sigue:
BUSCARV(valor,matriz,columna,ordenado)
Veamos con más detalle a qué corresponde cada uno de los argumentos de la función:

  • Valor: Se refiere al dato que buscamos. Buscarv tiene la peculiaridad, eso sí, que el valor que queremos encontrar deberá estar en la primera columna de la tabla de datos en la que busquemos.
  • Matriz: Es el rango que ocupa la tabla de datos en la cual vamos a consultar.
  • Columna: Aquí pondremos un número que corresponderá a la posición de la columna en la que está el dato que queremos extraer dentro de la matriz anterior. Es tan sencillo como contar las columnas comenzando por la izquierda y poner el número de la que contiene lo que queremos que nos muestre.
  • Ordenado: Este argumento es opcional. Si no lo ponemos tendrá el valor 0/FALSO, ya que es el que se asigna por defecto. Solo puede tener dos valores: 0 ó 1, o sus equivalentes: FALSO/VERDADERO. Si ponemos 0 o FALSO (opción por defecto), se buscará una coincidencia exacta con el valor buscado y en el caso de no encontrarla, mostrará error. Si ponemos 1 o VERDADERO, no tendremos error, ya que en caso de no encontrarse exactamente lo que buscamos, mostrará el valor más cercano. Depende del tipo de búsqueda que estemos haciendo, unas veces interesará una opción u otra. Veremos un ejemplo para cada una para que quede más claro.

Vamos poner un ejemplo práctico, seguro que de esta forma se entenderá mucho mejor.
Supongamos que tenemos la siguiente tabla de datos:

buscarv
buscarv

Se trata de una lista de alumnos, sus datos personales, notas y asistencia a clase. Hemos puesto cada uno de los alumnos en una fila y cada uno de los datos en una columna. Así por ejemplo, el alumno 3 es María González Rubio, su nota es un 4,5 y asistencia 50.
Supongamos que ahora quiero hacer una ficha en la que solo con introducir el número que identifica al alumno, me aparecerán el resto de datos que le corresponda. En esta tabla tenemos muy pocos datos, pero si tuviéramos cientos o miles de registros, entonces sí sería de gran ayuda poder localizarlos con solo ese dato ¿verdad?. Hemos hecho la siguiente entrada (puede situarse en la misma hoja o en otra distinta, según prefieras o necesites):

buscarv
buscarv

Queremos que en la posición del cursor, la celda C19, se introduzca el número de alumno y automáticamente nos rellene los datos correspondientes en las celdas C20 (nombre), C21 (apellidos), C22 (nota media) y C23 (asistencia). Para ello en cada una de ellas pondremos una fórmula buscarv que extraerá el dato correcto. Todas ellas tienen en común que extraerán los datos de la misma tabla de datos, la que habíamos situado en el rango A6:E13 (no es necesario que incluyas en el rango los encabezados de la columna). También tienen en común que lo que buscaremos será el número del alumno que está situado en C19. Estos dos datos son iguales para todas las fórmulas, si quieres que haciendo la primera puedas copiarla en las demás, debes hacer absolutas estas direcciones poniendo el símbolo $ delante, así: $C$19 y $A$6:$E$13. Ya tenemos los dos primeros argumentos que hemos de poner en la función: qué buscamos y dónde lo buscamos, fácil ¿no?.
El nombre del alumno está situado en la segunda columna de la tabla de datos, los apellidos en la tercera columna, la nota y la asistencia en la cuarta y quinta respectivamente. Estos datos serían el tercer argumento de la función.
En cuanto al cuarto argumento, hemos de observar que cuando hagamos una búsqueda de un alumno deben aparecerme los datos de ese alumno en cuestión, no se puede admitir ninguna aproximación. En el caso de que el alumno no se encuentre, es mejor que se avise con un error a que aparezcan los datos de otro. Por lo tanto el último argumento será 0 o FALSO. Como esta opción es la que se considera por defecto, podemos omitir este argumento, ya que es opcional.
Vamos pues con las fórmulas.
Nos situamos en la celda en la que deseamos obtener el primer dato, el nombre del alumno, la celda C20, y escribimos la siguiente fórmula:
=BUSCARV($C$19;$A$6:$E$13;2;0)
Recordemos:

  • $C$19 Celda donde pondremos el número a buscar
  • $A$6:$E$13 Rango en el que se encuentra la tabla de datos a consultar
  • 2 número de columna en la que se encuentra el nombre
  • 0 significa que la coincidencia del dato a buscar debe ser exacta

Una vez completada la fórmula, damos enter. Si te ha aparecido un error, se debe a que en la C19 no tienes ningún dato aún. Escribe un número que se encuentre en la tabla de datos, por ejemplo 7. Te debe aparecer el nombre del alumno.
De la misma manera completaremos el resto de fórmulas:

buscarv
buscarv

Observa cada una de las fórmulas anteriores y las referencias que se usan como argumentos. El resultado es el siguiente:

buscarv
buscarv

Situando el cursor en la celda C19, y cambiando el número de alumno, aparecerán los datos de ese alumno de forma instantánea .