martes, 20 de noviembre de 2012

Función BuscarV de Excel

Buenas, de nuevo con los artículos de excel voy a aportar algo muy usado y a la vez un poco difícil de entender, pero no de realizar, la función BuscarV.

La función BuscarV permite encontrar valores en las columnas de excel y retornar un valor si encuentra una coincidencia, de lo contrario retornará #N/A.

Cuando retorna un valor #N/A es porque no encontró una coincidencia y esto tiene 2 explicaciones :

1- Simplemente no hay datos que coincidan con nuestra búsqueda.
2- El tipo de datos que estamos comparando no es el correcto.

Para el segundo caso, Excel es rígido con respecto al tipo de datos, por lo tanto, debemos igualar las 2 columnas para que la búsqueda sea exitosa. Seleccionamos todas las celdas que vamos a comparar con un valor y les asignamos el tipo de datos que queramos. Por ejemplo :
























Luego el valor que queremos asignarle a la celda:
























Esto debemos hacerlo con las 2 columnas que queremos comparar (La columna buscada y la que usaremos para buscar dentro de la matriz). En este caso solo usaremos un valor, pero mas abajo, les explicare porque esto es importante.

Una vez hecho esto, procedemos a usar la función BuscarV, esta función tiene un pequeño requerimiento oculto y es que cuando buscamos un valor dentro de una columna, SIEMPRE, el valor que debe retornar, debe estar a la derecha del valor de búsqueda. Por Ejemplo:


























Usamos la función BuscarV, para encontrar el "Valor_buscado" (ID = 6) dentro de la "Matriz_buscar_en" B3:F12 (recordemos que una matriz es un conjunto de valores agrupados en filas y columnas), luego en "Indicador_columnas", decimos a Excel que cuando encuentre el "Valor_buscado" (osea 6) nos retorne el valor de la Columna 4 (Que es igual a la Columna E osea Sexo). Es fácil poder contar las columnas desde el valor buscado, hasta el valor que queremos retornar. Por último el campo "Ordenado" le indica a excel que debe retornar el valor de la Columna 4 "Solo si coinciden parcialmente" (VERDADERO) o "Si es una coincidencia exacta" (FALSO). En este caso la coincidencia debe ser exacta para retornar el valor correcto (FALSO).

La formula quedaría mas o menos así:

=BUSCARV(6;$B$3:$F$12;4;FALSO)

Veremos que la función inmediatamente nos retorna un valor "Mujer", al final de todos los parámetros, osea que efectivamente, esta búsqueda nos entrega un valor correcto y es el esperado.

Lo que debemos siempre saber:

Antes de terminar, hay que saber algunos puntos importantes y que solo la experiencia con este tipo de cosas nos ayudan a solucionar de manera rápida.


























Si se fijan, en la imagen está el rango completo de datos que tiene la matriz, sin embargo pasada la Celda 8, ya no hay coincidencias con el valor buscado y nos retorna #N/A, esto ocurre sencillamente porque la selección de la matriz "cambia" cada vez que yo reproduzco la función hacia abajo, es decir la arrastro con el cursor y la reproduzco para las demás celdas. Quedando así:

=BUSCARV(6;B4:F13;4;FALSO)

Fijense que el rango de la matriz cambió y ahora es : B4:F13.

Para evitar esto, debemos usar un simple argumento en cualquier parte de excel y es la de seleccionar el valor de la matriz (como se muestra en la imagen), luego presionar la "Tecla F4", con ello, la función se convierte en $B$3:$F$12, este valor le indica a excel que la matriz "Es Fija" y no debe cambiar una vez la reproduzca para las demás celdas hacia abajo.


























Cuando terminemos la edición presionamos ENTER, la función tendrá la matriz fija y podremos encontrar el ID quedando de la siguiente forma:
























¿ Pero que pasa si queremos traer el ID a partir de un nombre?.
R- Simplemente cambiando la columna ID de lugar, no importa donde, solamente tiene que estar delante de la Columna Nombre o el valor que deseamos usar como referencia, para traer el resultado de la matriz.

Para finalizar podemos reemplazar el valor fijo 6 o por el de una celda en específico. Por ejemplo:


























En este caso nos retorna el valor de cada celda en la Columna 4, de acuerdo al valor en la Columna 1 (Osea B), recordemos que también podemos fijar el valor con F4 y así siempre tomará el valor de una celda en específico para la búsqueda. La fórmula quedaría mas o menos así:

=BUSCARV(B3;$B$3:$F$12;4;FALSO)

Al repetir la función hacia abajo, el valor de la celda B3, cambia a B4 y así sucesivamente, por eso podemos encontrar los valores de la Columna 4 en todas las celdas.

Al fín!, costo un poco la explicación, pero esta mas claro ahora. El hecho de que tenemos mas posibilidades de buscar valores en las celdas nos ahorra uno de los tantos dolores de cabeza que nos traen estas fórmulas.

Bien, espero haberlos ayudado un poco más esta vez y sigan practicando, hay muchos mas tips de los que hemos visto hoy.

Saludos. ;)