Las funciones BUSCARV y BUSCARH en OpenOffice Calc
BUSCARV es una potente función que nos ayudará en un sinfín de situaciones. Veamos una de ellas: Localizar los datos de un cliente por su número de teléfono.
La función BUSCARV localizará en una lista ordenada un determinado valor, y si lo encuentra nos devuelve el valor almacenado en la celda correspondiente a la columna indicada de la misma fila que el valor buscado.
Los argumentos son:
- valor_buscado: el valor que vamos a buscar. Habitualmente es una referencia a una celda donde escribimos el valor a buscar.
- matriz_buscar_en: es el rango de celdas donde buscamos el valor_buscado, incluyendo también todas las columnas de los datos asociados al valor buscado. El valor buscado debe estar en la primera columna del rango que forma la lista. Ésta debe de estar ordenada en orden ascendente por la primera columna si el parámetro Ordenado es TRUE; no es obligatorio que sea la columna A de la hoja de cálculo (la tabla puede empezar en la columna P, por ejemplo). En el caso de que la lista de valores se pueda ampliar posteriormente, es recomendable asignar a este rango todas las filas disponibles en la hoja de cálculo, como se muestra en la imagen 1.
- Índice: es la columna donde se encuentra el valor que queremos consultar. Las columnas se numeran empezando por el número 1. En el ejemplo, el índice 2 que se corresponde con la segunda columna de la lista nos devolverá la razón social del cliente.
- Ordenado: define el comportamiento de la búsqueda en el caso de no encontrar exactamente el dato buscado. Si indicamos:
- FALSO(), si la búsqueda no encuentra el valor exacto, nos devolverá en la celda un mensaje de error #N/A, que significa que no ha sido encontrada ninguna coincidencia.
- VERDADERO(), si la búsqueda no encuentra el valor exacto, nos devolverá el dato correspondiente al valor mayor más próximo. La primera columna deberá estar ordenada en sentido ascendente.
Puedes utilizar FALSE O TRUE en lugar de las funciones FALSO() o VERDADERO() Si utilizas el modo de búsqueda no exacto (TRUE o VERDADERO()) la primera columna debe estar ordenada siempre en sentido ascendente, o te devolverá el primer valor que encuentre mayor que el buscado, sea o no el más próximo |
Veamos un ejemplo. Supongamos una lista con las siguientes columnas: Teléfono, Nombre, Domicilio, Población, Código Postal y Provincia. Ésta lista puede estar almacenada en la misma hoja o en una hoja distinta del documento, e incluso en otro documento.
En nuestro ejemplo, la lista se almacena a partir de la celda A8, si bien no es obligatorio que la primera columna utilizada por la lista sea la A.
En la celda B2 introduciremos el dato a buscar, en nuestro caso el teléfono del cliente.
En la celda B3 introduciremos la fórmula con la función BUSCARV, que para nuestro ejemplo será: =BUSCARV(B2;A$8:F$65536;2;FALSO()) El rango de celdas donde se buscará el teléfono, incluyendo el resto de datos asociados es A$8:F$65536, pues hemos seleccionado hasta la última fila en previsión de que se añadan nuevos clientes a la lista.
Dado que en la celda B3 queremos que se muestre el nombre del cliente, el índice solicitado es 2, correspondiente a la segunda columna del rango de la lista.
Indicamos el argumento Ordenado como FALSO(), pues en caso de no encontrar una coincidencia exacta preferimos que muestre un mensaje de error en lugar de los datos correspondientes al cliente con el número de teléfono inmediatamente posterior al dato buscado (y no encontrado).
En las celdas B4, B5 y B6 insertaremos otras fórmulas con la función BUSCARV, en las que todos sus argumentos serán iguales a la introducida en B3, a excepción del argumento índice, que será distinto según la columna que contenga la información que queremos mostrar.
CELDA | FÓRMULA | INFORMACIÓN DE |
---|---|---|
B4 | =BUSCARV(B2;A$8:F$65536;3;FALSO()) | Domicilio |
B5 | =BUSCARV(B2;A$8:F$65536;5;FALSO()) | Población |
B6 | =BUSCARV(B2;A$8:F$65536;6;FALSO()) | Provincia |
La función BUSCARH tiene un comportamiento paralelo. A diferencia de BUSCARV, que busca un valor en una columna y devuelve los valores situados en la fila, BUSCARH busca el valor en una fila, y devuelve los valores situados en la columna.