1. FUNCIONES DE BUSQUEDA
BUSCAR
Devuelve un valor de un rango de una fila o de una columna o de una matriz. La
función BUSCAR tiene dos sintaxis, vectorial y matricial. La forma vectorial de
BUSCAR busca un valor en un rango de una fila o de una columna (vector) y
devuelve un valor desde la misma posición en un segundo rango de una fila o de
una columna. La forma matricial de BUSCAR busca el valor especificado en la
primera fila o en la primera columna de la matriz y devuelve el valor desde la
misma posición en la última fila o columna de la matriz.
Search, searching, búsqueda. Buscar o búsqueda, en informática, es la acción
y/o procedimiento para encontrar o hallar algo.
1. Algoritmo de búsqueda: en programación, es un algoritmo que se utiliza para
buscar un elemento dentro de una estructura de datos.
2. En internet y web, las búsquedas se hacen generalmente a partir de
buscadores web como Google, Yahoo!, etc.
Otra forma de búsqueda por internet son los directorios web.
3. En internet y web, el resultado de buscar en un buscador web es llamado
resultados de búsqueda.
4. En estructuras de tipo árboles, la búsqueda en árboles hace referencia al
procedimiento de visitar cada nodo dentro de una estructura de árbol de datos,
de una forma sistemática. El orden en que se visita cada nodo permite clasificar
las formas de búsqueda: pre orden, in orden, post orden.
BUSCARV
Busca un valor específico en la columna más a izquierda de una matriz y
devuelve el valor en la misma fila de una columna especificada en la tabla.
Utilice BUSCARV en lugar de BUSCARH cuando los valores de comparación
se encuentren en una columna situada a la izquierda de los datos que desea
encontrar.
Sintaxis
BUSCARV (valor_buscado; matriz_de_comparación; indicador_columnas;
ordenado)
Valor_buscado es el valor que se busca en la primera columna de la matriz.
Valor_buscado puede ser un valor, una referencia o una cadena de texto.
Matriz_de_comparación es el conjunto de información donde se buscan los
datos. Utilice una referencia a un rango o un nombre de rango, como por
ejemplo Base_de_datos o Lista.
Si el argumento ordenado es VERDADERO, los valores de la primera
columna del argumento matriz_de_comparación deben colocarse en
orden ascendente: ...; -2; -1; 0; 1; 2; ...; A-Z; FALSO; VERDADERO. De
lo contrario, BUSCARV podría devolver un valor incorrecto.
2. Para colocar los valores en orden ascendente, elija el
comando Ordenar del menú Datos y seleccione la opción Ascendente.
Los valores de la primera columna de matriz_de_comparación pueden
ser texto, números o valores lógicos.
El texto escrito en mayúsculas y minúsculas es equivalente.
Indicador_columnas es el número de columna de matriz_de_comparación
desde la cual debe devolverse el valor coincidente. Si el argumento
indicador_columnas es igual a 1, la función devuelve el valor de la primera
columna del argumento matriz_de_comparación; si el argumento
indicador_columnas es igual a 2, devuelve el valor de la segunda columna de
matriz_de_comparación y así sucesivamente. Si indicador_columnas es menor
que 1, BUSCARV devuelve el valor de error #¡VALOR!; si indicador_columnas
es mayor que el número de columnas de matriz_de_comparación, BUSCARV
devuelve el valor de error #¡REF!
Ordenado Es un valor lógico que indica si desea que la función BUSCARV
busque un valor igual o aproximado al valor especificado. Si el argumento
ordenado es VERDADERO o se omite, la función devuelve un valor
aproximado, es decir, si no encuentra un valor exacto, devolverá el valor
inmediatamente menor que valor_buscado. Si ordenado es FALSO, BUSCARV
devuelve el valor buscado. Si no encuentra ningún valor, devuelve el valor de
error #N/A.
Observaciones
Si BUSCARV no puede encontrar valor_buscado y ordenado es
VERDADERO, utiliza el valor más grande que sea menor o igual a
valor_buscado.
Si valor_buscado es menor que el menor valor de la primera columna de
matriz_de_comparación, BUSCARV devuelve el valor de error #N/A.
Si BUSCARV no puede encontrar valor_buscado y ordenado es FALSO,
devuelve el valor de error #N/A.
Ejemplos
Dada una tabla con cuatro columnas en las que se presentan los días del
mes en la primera columna, en la segunda columna la temperatura
máxima de cada día, en la tercera columna la temperatura máxima y en la
cuarta las horas de sol, dado un día, calcular las horas de sol que hubo
ese día. Esta respuesta se puede obtener mediante la función BUSCAR
(modo . También se puede obtener el mismo resultado con la función
BUSCARA y también mediante el trabajo conjunto de las funciones
COINCIDIR e ÍNDICE.
3. En la tabla presentamos solo los 10 primeros días y el día a buscar lo situamos
en la celda G3 en el ejemplo:
Sintaxis matricial:
BUSCAR(valor_buscado;matriz)
Para buscar la Temperatura mínima del ejemplo anterior con el valor
correspondiente a la celda G3, la función sería:
=BUSCAR(G3;A3:C12) y el resultado sería 16. Apreciar como el rango de la
matriz abarca de tal forma que la última columna sea en la que encontrar el
valor deseado.
BUSCARH
Busca un valor en la fila superior de una tabla o una matriz de valores y, a
continuación, devuelve un valor en la misma columna de una fila especificada
en la tabla o en la matriz. Use BUSCARH cuando los valores de comparación
se encuentren en una fila en la parte superior de una tabla de datos y desee
encontrar información que se encuentre dentro de un número especificado de
filas. Use BUSCARV cuando los valores de comparación se encuentren en
una columna a la izquierda o de los datos que desee encontrar.
Sintaxis
BUSCARH(valor_buscado;matriz_buscar_en;indicador_filas;
ordenado)
Valor_buscado es el valor que se busca en la primera fila de
matriz_buscar_en. Valor_buscado puede ser un valor, una referencia o una
cadena de texto.
4. Matriz_buscar_en es una tabla de información en la que se buscan los datos.
Utilice una referencia a un rango o el nombre de un rango.
Los valores de la primera fila del argumento matriz_buscar_en pueden ser texto,
números o valores lógicos.
Si el argumento ordenado es VERDADERO, los valores de la primera fila del
argumento matriz_buscar_en deberán colocarse en orden ascendente: ...-2; -1; 0;
1; 2;..., A-Z, FALSO, VERDADERO; de lo contrario, es posible que
BUSCARH no devuelva el valor correcto.
El texto en mayúsculas y minúsculas es equivalente.
Se pueden poner los datos en orden ascendente de izquierda a derecha
seleccionando los valores y eligiendo el comando Ordenar del menú Datos. A
continuación haga clic en Opciones y después en Ordenar de izquierda a
derecha y Aceptar. Bajo Ordenar por haga clic en la fila deseada y después
en Ascendente.
Indicador_filas es el número de fila en matriz_buscar_en desde el cual se
deberá devolver el valor coincidente. Si indicador_filas es 1, devuelve el valor
de la primera fila en matriz_buscar_en; si indicador_filas es 2, devuelve el
valor de la segunda fila en matriz_buscar_en y así sucesivamente. Si
indicador_filas es menor que 1, BUSCARH devuelve el valor de error
#¡VALOR!; si indicador_filas es mayor que el número de filas en
matriz_buscar_en, BUSCARH devuelve el valor de error #¡REF!
Ordenado es un valor lógico que especifica si desea que el elemento buscado
por la función BUSCARH coincida exacta o aproximadamente. Si ordenado
es VERDADERO o se omite, la función devuelve un valor aproximado, es
decir, si no se encuentra un valor exacto, se devuelve el mayor valor que sea
menor que el argumento valor_buscado. Si ordenado es FALSO, la función
BUSCARH encontrará el valor exacto. Si no se encuentra dicho valor,
devuelve el valor de error #N/A.
Observaciones
Si BUSCARH no logra encontrar valor_buscado, utiliza el mayor valor que sea
menor que valor_buscado.
Si valor_buscado es menor que el menor valor de la primera fila de
matriz_buscar_en, BUSCARH devuelve el valor de error #N/A.
Ejemplos
Supongamos que en una hoja se guarda un inventario de repuestos. A1:A4
contiene "Ejes"; 4; 5; 6. B1:B4 contiene "Cojinetes"; 4; 7; 8. C1:C4 contiene
"Engranajes"; 9; 10; 11.
5. BUSCARH("Ejes"; A1:C4;2;VERDADERO) es igual a 5
BUSCARH("Cojinetes",A1:C4,3,FALSO) es igual a 7
BUSCARH("Cojinetes";A1:C4;3;VERDADERO) es igual a 8
BUSCARH("Engranajes";A1:C4;4;) es igual a 11
Matriz_buscar_en también puede ser una constante matricial:
BUSCARH(3;{1;2;3/"a";"b";"c"/"d";"e";"f"};2;VERDADERO) es igual a "c"
1. LA LÓGICA DETRÁS DE LA FUNCIÓN BUSCARV
Veamos la siguiente imagen para comprender un caso típico de uso de
BUSCARV
La función BUSCARV nos permite hacer una búsqueda de un elemento
concreto
dentro de una tabla (en nuestro caso buscamos el código de producto 602)
y una vez encontrado nos devuelve otros elementos asociados al mismo
(en nuestro caso nos dirá que corresponde al producto Tornillo 30 mm
y que su stock es de 34 unidades)
2. LA SINTAXIS DE LA FUNCIÓN BUSCARV
La sintaxis (forma de escribir) BUSCARV es sencilla y solo requiere 4
argumentos:
= BUSCARV (valor buscado; tabla de búsqueda; columna de búsqueda; ¿tabla
ordenada?)
6. En nuestro ejemplo, la fórmula que usamos en celda G3 para buscar el
Producto es:
=BUSCARV(G2;B2:D12;2;FALSO)
Buscar el valor del código indicado en G2 (lo que buscamos puntualmente) En
la tabla de B2:D12 (dónde lo buscamos)
y devolver el valor de la columna 2 de dicha tabla (columna que contiene lo que
buscamos)
¿la tabla está ordenada? FALSO (siempre conviene poner falso)
La fórmula que usamos para buscar el Stock es similar,
con la única diferencia que en el 3er argumento,
la columna que contiene lo que buscamos es la 3 en lugar de la 2
Cuando utilizar la función BUSCARH
Debemos utilizar la función BUSCARH cuando el valor que estamos buscando
se encuentra en una fila de alguna tabla de datos. Por el contrario, la función
BUSCARV realiza la búsqueda en una columna.
Sintaxis de la función BUSCARH
La función BUSCARH tiene tres argumentos que son los siguientes:
7. Valor_buscado (obligatorio): El valor que estamos buscando.
Matriz_buscar_en (obligatorio): El rango que contiene los valores y que
debe ser una fila.
Indicador_filas (obligatorio): El número de fila que contiene el valor que
regresará la función.
Ordenado (opcional): El valor debe ser FALSO si queremos una
coincidencia exacta o VERDADERO para una coincidencia aproximada.
Si la función BUSCARH no encuentra el valor que está siendo buscado
regresará el valor de error #N/A.
Ejemplo de la función BUSCARH
En la siguiente tabla tengo la información de los artículos que ha vendido cada
uno de los vendedores en los últimos meses. Como título de columnas están
los nombres de los vendedores y como filas los meses.
Ahora quiero saber los productos vendidos en el mes de Febrero por Paco y
para ello puedo utilizar la función BUSCARH de la siguiente manera:
8. =BUSCARH("Paco", B1:D6, 3,FALSO)
El primer argumento es “Paco” porque es el vendedor que estoy buscando. El
segundo argumento contiene todo el rango de datos sin incluir la columna de
meses (columna A) porque no me interesa dicha información.
El tercer argumento es el número de fila que deseo que la función
BUSCARH regrese como resultado. Ya que la fila con los nombres es la fila
uno, entonces la fila para el mes de febrero es la fila número 3.
Finalmente coloca el valor FALSO en el cuarto argumento para indicar que
deseo una coincidencia exacta al buscar a Paco. El resultado de esta fórmula
es el siguiente:
Si quisiera busca la información del mismo mes para Luis, entonces la función
cambiará de argumentos de la siguiente manera:
=BUSCARH("Luis", B1:D6, 3,FALSO)
Si por el contrario quiero conocer los productos vendidos por Hugo en el mes
de Abril, entonces la función sería la siguiente:
=BUSCARH("Hugo", B1:D6, 5,FALSO)
De esta manera, la función BUSCARH nos permite hacer una búsqueda en
una fila (búsqueda horizontal) y encontrar fácilmente el valor requerido.