Búsqueda en tabla

Dos de las acciones que con más frecuencias se realizan sobre los datos almacenados en tabas o listas son:
- Visualizar todos aquellos que satisfacen ciertos criterios.
- Extraer a todos ellos.

Las herramientas de Filtro y Consolidación resuelven estas necesidades pero sólo como producto final. 


Sin embargo, si nuestro interés fuera el deseo de contar con un cierto dato contenido en una tabla, las herramientas mencionadas no resolverían nuestro problema.
En otras palabras, supongamos que contamos con una tabla de empleados que contiene: Código de empleado, Apellidos y Nombre, Departamento, Sueldo básico, etc.
Del mismo modo, supongamos que se dispone de otro archivo de los mismo empleados cuyo contenido es: Código de empleado, Dirección, Grado de instrucción, número de hijos, estado civil, etc.

Si deseamos generar un reporte de todos  los empleados que contenga, Apellidos y nombres, departamento, sueldo básico, dirección, número de hijos.

Este tipo de reporte no se puede obtener usando filtro o consolidar.
Es en estos casos en lo cuales se hace necesario las dos funciones:
 
- BuscarV(...)
- BuscarH(...)

Abra el archivo "Busqueda.xlsx" haciendo clic aquí

Vaya a la hoja "Ejemplo 1".

En esta hoja encontramos dos tablas que contienen una lista de productos y su precio, en el cuadro 1 y cantidad en el cuadro 2.
Observe que la lista de productos en el cuadro 1 es vertical mientras que en el cuadro 2 es horizontal.

Si se trata de buscar un determinado producto, en el cuadro 1 lo hacemos de arriba hacia abajo; es decir, la búsqueda es "vertical" mientras que en el cuadro 2, debemos buscarlos "horizontalmente.

En el cuadro 3, para insertar el precio de esos productos, debemos ir al cuadro 1 y buscarlos hacia abajo; en este caso usaremos la función =BuscarV(...).
Para insertar la cantidad de dichos productos, debemos ir al cuadro 2 y buscarlos horizontalmente; en este caso debemos usar la función =BuscarH(...).

Sintaxis de estas funciones:
=BuscarV(DatoBuscado, TablaDatos, NroColmna, TipoBusqueda)
=BuscarH(DatoBuscado, TablaDatos, NroFila, TipoBusqueda)

Busca "DatoBuscado" en la "TablaDatos" y, cuando lo encuentra, se desplaza "NroColumna" para extraer el dato. En el caso de la segunda función, se desplaza "NroFIila".

Nota importante:

- El dato que se busca, "DatoBuscado", tiene que estar en la primera columna, en el caso de buscarV y en la primera fila, en el caso de BuscarH.

- Es mejor el uso de nombres de rango, antes de los rangos mismos. - Si se usa rango en el caso de la tabla, dicho rango debe estar fijo (sando celdas absolutas) para que al copiar dicha fórmula, no cambie.
- El "TipoBusqueda" es 0, si la búsqueda es exacta y 1 si no lo es.

Pasemos a calcular las columnas del Cuadro 3:
- Haga clic en B12 - Digite la fórmula: =BUSCARV(A12,$A$4:$B$8,2,0)


La imagen muestra la fórmula a ser usada


- Haga clic en C12 - Digite: =BUSCARH(A12;$E$4:$I$5;2;0)

Calculemos ahora "Total a pagar" en D12: =B12*C12
La imagen muestra la fórmula a ser usada


Finalmente copie hacia abajo para completar la tabla.

Vamos ahora "Al otro Cuadro 3".
En este caso, debemos obtener el "Total a pagar" directamente, en un solo paso.
Como la fórmula es "Precio" x "Cantidad", en ambos casos se usa la función buscarV y buscarH, respecivamente, debemos multiplicar las dos fórmulas anteriores en la celda B24.

Según esto, en B24 se debe ingresar: =BUSCARV(A12,$A$4:$B$8,2,0)*BUSCARH(A12;$E$4:$I$5;2;0)

Copie hacia abajo esta fórmula.

La siguiente imagen muestra el resultado:

Ejemplo 2

Pasemos a la hoja Ejemplo 2

En esta hoja, debemos obtener las tres columnas de la tabla.

Los datos deben ser extraídos desde las tres tablas contenidas en la hoja "Tablas".

Según vemos, "Apellidos y Nombre" debemos extraerlo de la primera tabla, el "Departamento" de la tercera tabla y el "Cargo" de la segunda.

Empezamos:

Puesto que debemos accesar a tablas que están en otra tabla, para facilitar el trabajo, démosle nombre a los rangos de esas tablas.

- Vaya a la hoja "Tablas"
- Seleccione el rango: A3:D31, haga clic en el [Cuadro de nombres] (izquierda de la barra de fórmula), digite "BDatos" y presione [Intro]
- Seleccione el rango: F3:H7, como en el caso anterior, digite "Cargo" en el cuadro de nombres.
- Seleccione el rango: F11:G26. Que su nombre sea "Depto".

Obtención de "Apellidos y Nombre":
- Haga clic en B5. Digite: =BUSCARV(A5,BDatos,2,0)
La obtendión del nombre del "Departamento" no es directa. Debemos obtener el Código del Departamento accediendo a la primera tabla y,
usando dicho resultado (Código de dpto), como primer argumento, debemos buscarlo en la tabla del Departamento y extraer su nombre de su segunda coluna.
¿Cómo obtenemos el código del dpto.?
La fórmula: =BuscarV(A5,BDatos,4,0). El resultado debe ser: 9902. Este código debe ser buscado en la tabla del departamento.

De manera que la fórmula que debemos ingresar en C5 es:=BUSCARV(BUSCARV(A5,BDatos,4,0),Depto,2,0)

Finalmente, la fórmula para el cargo a digitarse en D5 es: =BUSCARV(BUSCARV(A5;BDatos;3;0);Cargo;2;0)
La siguiente imagen muestra los resultados.

Dejamos las siguientes hojas como ejercicios a ser resueltos.

Guarde su archivo con el nombre "Busqueda-a.xlsx".


Siguiente sesión