Ejemplo practico con la funcion BUSCARV.

 BUSCARV es una función de referencia, que  nos permite buscar un valor en vertical, y, devolver la columna que le especifiquemos.

La sintaxis de esta función es valor buscado, dentro de la matriz que especifiquemos, numero de columna a devolver, y, tipo de coincidencia.

Este tipo de coincidencia, puede ser una coincidencia exacta, quiere decir que debe de encontrar el valor que le especifiquemos, o,, coincidencia aproximada, que nos devolverá el valor mas cercano al buscado.

En este articulo, vamos a  ver un ejemplo un poco avanzado.

Tenemos el siguiente modelo, donde tenemos un  código que pertenece a un nombre, apeelido1, apellido2,, y, un teléfono.

Vemos que tenemos dos modelos..



Debemos de introducir un código, y, nos debe de devolver la columna que le indiquemos, que puede ser:

  1. Nombre
  2. Apellido1
  3. Apellido2
  4. Teléfono






Lo primero que voy a hacer es crear una validación de datos para poder elegir  un código, lo que va a facilitar la selección de un código, además, de tener la seguridad que solo podemos seleccionar un código dentro de la llista, si escribimos un código que no pertenece a la llista, nos dirá que no cumple las restricciones.

Para  la validación de datos para código, seleccionamos la celda B113, vamos a la pestaña datos, dentro del grupo herramientas de datos, hacemos clic en validación de datos.


En la ventana que abre, desplegamos Permitir, y, selecciono Lista.


Pero, antes de seleccionar los datos, en la celda N3, copio los códigos del primer y segundo modelo.



Hago cli en él siguiente icono:


Selecciono los datos.



Clic en Aceptar.

Ya `puedo seleccionar un código.



Lo siguiente es crear otra validación pero para elegir una columna.

Seguimos los mismos pasos diados anteriormente, pero seleccionamos las columnas.

Con  esto, ya tengo las  dos validaciones creadas.

¿En que va a consistir el ejercicio?

Vamos a seleccionar un código, y, nos debe de devolver la columna que le especifiquemos.

Pero, he de darme cuenta que tengo dos modelos, esto quiere decir que el  código a buscar, puede estar en el primer modelo, o,, en el segundo modelo.

Voy a hacerlo para que el codito que introduzca, lo busque en él primer modelo.

Selecciono un código, y, una columna.

He seleccionado el código 1060, y, la columna Apellido1.



Ahora, debajo de Apellido1, debe de aparecer el apellido1 del código 1060.

Pues, voy a hacer uso de la  función BUSCARV, porque el valor  que tengo que buscar esta en vertical.

Escribo  el signo igual, y, la función BUSCARV.




Como primer argumento, pongo  la celda B13, que es donde esta el código seleccionado.


El siguiente argumento es matriz, o, rango, pues selecciono la primera matriz. El siguiente argumento es matriz, o, rango, pues selecciono la primera matriz.


Lo siguiente que he de hacer es especificar que columna quiero que me devuelva.

He seleccionado apellido1, pero el argumento indicador de columnas debe de ser un numero, no un texto.

¿Cómo puedo convertir el valor seleccionado en un número?

Hay una función que se llama COINCIDIR, que nos devuelve la posición que ocupar un elemento dentro de un rango.

Esta función tiene tres argumentos, que es valor buscado, donde buscarlo, y, tipo de coincidencia.

Pues, voy a usar esta función para conseguir la posición del elemento buscado, que es apellido1, y, es el argumento indicador de columnas de la función BUSCARV.



Como ultimo argumento es tipo de coincidencia, que en este caso, debe de ser exacta, que es  el valor Falso.



Acepto.

Si selecciono el código 1060, como resultado obtengo Jimenez, que es el primer apellido del código 1060.



Pero, ¿Qué ocurre si el código que introduzco esta en el segundo modelo?

Me devolverá un error, por ejemplo, voy a introducir el código 212o.

El error que me devuelve es correcto, quiere decir que no ha encontrado él valor especificado.



¿Cómo lo puedo  solventar?

Hay una función llamada SI.ERROR.

Esta función tiene dos argumentos, el primer argumento es expresión a evaluar, y, el segundo argumento es lo que debe de pasar si dicha expresión devuelve un error.

El primer argumento de SI.ERROR va a ser  la expresión anterior.

=SI.ERROR(BUSCARV(B13;B4:F9;COINCIDIR(C12;B3:F3;0);FALSO)

El segundo argumento, que es la accion que tiene que realizar si expresión devuelve un error, pues ponemos la expresión anterior, pero cambiamos  él rango de búsqueda, que es el del segundo modelo.

=SI.ERROR(BUSCARV(B13;B4:F9;COINCIDIR(C12;B3:F3;0);FALSO);BUSCARV(B13;H4:L9;COINCIDIR(C12;B3:F3;0);FALSO))

Acepto.

Y, me devuelve el apellido1 pero buscado en el segundo modelo de datos.



Si, cambiamos código, y, numero de columna a devolver, tendremos el valor correcto.


Comentarios